diff --git a/src/shared/cplusplus/CheckDeclaration.cpp b/src/shared/cplusplus/CheckDeclaration.cpp index 2eb017b2a1c785eecc159bcd9a7720d0e4556a8b..b58ad1a08000275a20ce91de03d81eb1b6659104 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 269957257bbfd47c6e0f6cb919a67853ebafda20..6d06d42b9b051fcd8e875f0bd81a2dc115cabdbb 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);