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/Semantic.h | |
parent | aff7d3fdf8c78488d85bffba4c72f64d92f23f74 (diff) | |
download | qt-creator-e421d32147c867e326fbf036781f57c873f7056e.tar.gz |
Postpone the parsing of function definitions.
Diffstat (limited to 'src/shared/cplusplus/Semantic.h')
-rw-r--r-- | src/shared/cplusplus/Semantic.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Semantic.h b/src/shared/cplusplus/Semantic.h index a804a72328..6aace93f75 100644 --- a/src/shared/cplusplus/Semantic.h +++ b/src/shared/cplusplus/Semantic.h @@ -55,6 +55,22 @@ namespace CPlusPlus { +class CPLUSPLUS_EXPORT SemanticClient +{ + SemanticClient(const SemanticClient &other); + void operator = (const SemanticClient &other); + +public: + SemanticClient(Semantic *semantic); + virtual ~SemanticClient(); + + Semantic *semantic() const; + +private: + Semantic *_semantic; +}; + + class CPLUSPLUS_EXPORT Semantic { Semantic(const Semantic &other); @@ -67,6 +83,9 @@ public: TranslationUnit *translationUnit() const; Control *control() const; + SemanticClient *semanticClient() const; + void setSemanticClient(SemanticClient *client); + FullySpecifiedType check(SpecifierListAST *specifier, Scope *scope, const FullySpecifiedType &type = FullySpecifiedType()); @@ -93,6 +112,9 @@ public: void check(ObjCMessageArgumentDeclarationAST *arg, Scope *scope); + void checkFunctionDefinition(FunctionDefinitionAST *ast); + void finishFunctionDefinition(FunctionDefinitionAST *ast); + bool skipFunctionBodies() const; void setSkipFunctionBodies(bool skipFunctionBodies); @@ -105,6 +127,9 @@ public: int currentMethodKey() const; int switchMethodKey(int methodKey); + ClassSpecifierAST *declatingClass() const; + ClassSpecifierAST *switchDeclaringClass(ClassSpecifierAST *ast); + int visibilityForClassKey(int tokenKind) const; int visibilityForAccessSpecifier(int tokenKind) const; int visibilityForObjCAccessSpecifier(int tokenKind) const; |