summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Semantic.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2009-07-28 16:34:15 +0200
committerErik Verbruggen <erik.verbruggen@nokia.com>2009-07-28 16:34:15 +0200
commit26267c03445266233159b2f61bbc3a4d5864c01a (patch)
tree8b7536d8f41fea63adc180d56830a73aae1192ad /src/shared/cplusplus/Semantic.h
parenta9b521f80af025ac11f9735fc070606952894b60 (diff)
downloadqt-creator-26267c03445266233159b2f61bbc3a4d5864c01a.tar.gz
Improved ObjC parsing, and added semantic checks.
Diffstat (limited to 'src/shared/cplusplus/Semantic.h')
-rw-r--r--src/shared/cplusplus/Semantic.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Semantic.h b/src/shared/cplusplus/Semantic.h
index 9b9a4195be..113796bafb 100644
--- a/src/shared/cplusplus/Semantic.h
+++ b/src/shared/cplusplus/Semantic.h
@@ -74,6 +74,8 @@ public:
FullySpecifiedType check(PtrOperatorAST *ptrOperators, FullySpecifiedType type,
Scope *scope);
+ FullySpecifiedType check(ObjCMethodPrototypeAST *methodPrototype, Scope *scope);
+
FullySpecifiedType check(ExpressionAST *expression, Scope *scope);
void check(DeclarationAST *declaration, Scope *scope, Scope *templateParameters = 0);
@@ -84,17 +86,24 @@ public:
Name *check(NestedNameSpecifierAST *name, Scope *scope);
+ Name *check(ObjCSelectorAST *args, Scope *scope);
+
bool skipFunctionBodies() const;
void setSkipFunctionBodies(bool skipFunctionBodies);
int currentVisibility() const;
int switchVisibility(int visibility);
+ int currentObjCVisibility() const;
+ int switchObjCVisibility(int visibility);
+
int currentMethodKey() const;
int switchMethodKey(int methodKey);
int visibilityForClassKey(int tokenKind) const;
int visibilityForAccessSpecifier(int tokenKind) const;
+ int visibilityForObjCAccessSpecifier(int tokenKind) const;
+ bool isObjCClassMethod(int tokenKind) const;
private:
class Data;