diff options
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; |