From d215737df8bbb105c37720a65cb2eae0f3058352 Mon Sep 17 00:00:00 2001
From: Erik Verbruggen <erik.verbruggen@nokia.com>
Date: Wed, 17 Feb 2010 16:25:35 +0100
Subject: [PATCH] Added semantic checks for Q_PROPERTY declarations.

---
 src/shared/cplusplus/CheckDeclaration.cpp | 14 ++++++++++++++
 src/shared/cplusplus/CheckDeclaration.h   |  1 +
 2 files changed, 15 insertions(+)

diff --git a/src/shared/cplusplus/CheckDeclaration.cpp b/src/shared/cplusplus/CheckDeclaration.cpp
index 2eb017b2a1c..b58ad1a0800 100644
--- a/src/shared/cplusplus/CheckDeclaration.cpp
+++ b/src/shared/cplusplus/CheckDeclaration.cpp
@@ -818,3 +818,17 @@ bool CheckDeclaration::visit(QtFlagsDeclarationAST *ast)
         semantic()->check(iter->value, _scope);
     return false;
 }
+
+bool CheckDeclaration::visit(QtPropertyDeclarationAST *ast)
+{
+    if (ast->type_id)
+        semantic()->check(ast->type_id, _scope);
+    if (ast->property_name)
+        semantic()->check(ast->property_name, _scope);
+    for (QtPropertyDeclarationItemListAST *iter = ast->property_declaration_items;
+         iter; iter = iter->next) {
+        if (iter->value)
+            semantic()->check(iter->value->expression, _scope);
+    }
+    return false;
+}
diff --git a/src/shared/cplusplus/CheckDeclaration.h b/src/shared/cplusplus/CheckDeclaration.h
index 269957257bb..6d06d42b9b0 100644
--- a/src/shared/cplusplus/CheckDeclaration.h
+++ b/src/shared/cplusplus/CheckDeclaration.h
@@ -77,6 +77,7 @@ protected:
     virtual bool visit(SimpleDeclarationAST *ast);
     virtual bool visit(EmptyDeclarationAST *ast);
     virtual bool visit(AccessDeclarationAST *ast);
+    virtual bool visit(QtPropertyDeclarationAST *ast);
     virtual bool visit(QtEnumDeclarationAST *ast);
     virtual bool visit(QtFlagsDeclarationAST *ast);
     virtual bool visit(AsmDefinitionAST *ast);
-- 
GitLab