diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-03-30 16:52:20 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-03-30 16:59:07 +0200 |
commit | e421d32147c867e326fbf036781f57c873f7056e (patch) | |
tree | 5ac53cbad75b4ce66e05bd281182dbb95f102b0d /src/shared/cplusplus/CheckSpecifier.cpp | |
parent | aff7d3fdf8c78488d85bffba4c72f64d92f23f74 (diff) | |
download | qt-creator-e421d32147c867e326fbf036781f57c873f7056e.tar.gz |
Postpone the parsing of function definitions.
Diffstat (limited to 'src/shared/cplusplus/CheckSpecifier.cpp')
-rw-r--r-- | src/shared/cplusplus/CheckSpecifier.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/shared/cplusplus/CheckSpecifier.cpp b/src/shared/cplusplus/CheckSpecifier.cpp index a0c4f36995..f2c60c57de 100644 --- a/src/shared/cplusplus/CheckSpecifier.cpp +++ b/src/shared/cplusplus/CheckSpecifier.cpp @@ -337,8 +337,13 @@ bool CheckSpecifier::visit(ClassSpecifierAST *ast) klass->setClassKey(Class::UnionKey); klass->setVisibility(semantic()->currentVisibility()); _scope->enterSymbol(klass); + + ClassSpecifierAST *previousClassSpecifier = semantic()->switchDeclaringClass(ast); + _fullySpecifiedType.setType(klass); + accept(ast->attribute_list); + if (_fullySpecifiedType.isDeprecated()) klass->setDeprecated(true); @@ -377,6 +382,8 @@ bool CheckSpecifier::visit(ClassSpecifierAST *ast) (void) semantic()->switchMethodKey(previousMethodKey); (void) semantic()->switchVisibility(previousVisibility); + (void) semantic()->switchDeclaringClass(previousClassSpecifier); + return false; } |