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