Added semantic checks for Q_PROPERTY declarations.

This commit is contained in:
Erik Verbruggen
2010-02-17 16:25:35 +01:00
parent 21fdc2d06a
commit d215737df8
2 changed files with 15 additions and 0 deletions

View File

@@ -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;
}

View File

@@ -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);