summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/AST.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2009-07-16 17:38:24 +0200
committerErik Verbruggen <erik.verbruggen@nokia.com>2009-07-16 17:38:24 +0200
commita3d129527fbce3a4b52b68eddaf65de0b54cca0c (patch)
tree228a3831573edbb65e8ca0f68cd764fd011ebf65 /src/shared/cplusplus/AST.h
parent01ee7a95c9e19cbeee083363ba57e90c1ac4b20d (diff)
downloadqt-creator-a3d129527fbce3a4b52b68eddaf65de0b54cca0c.tar.gz
Added ObjC method prototypes to the AST.
Diffstat (limited to 'src/shared/cplusplus/AST.h')
-rw-r--r--src/shared/cplusplus/AST.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h
index 6fef4cafef..898fd16c87 100644
--- a/src/shared/cplusplus/AST.h
+++ b/src/shared/cplusplus/AST.h
@@ -2820,6 +2820,68 @@ protected:
virtual void accept0(ASTVisitor *visitor);
};
+class CPLUSPLUS_EXPORT ObjCMessageArgumentDeclarationAST: public AST
+{
+public:
+ unsigned param_selector_token;
+ unsigned colon_token;
+ ObjCTypeNameAST* type_name;
+ SpecifierAST *attributes;
+ unsigned param_name_token;
+
+public:
+ virtual ObjCMessageArgumentDeclarationAST *asObjCMessageArgumentDeclaration()
+ { return this; }
+
+ virtual unsigned firstToken() const;
+ virtual unsigned lastToken() const;
+
+ virtual ObjCMessageArgumentDeclarationAST *clone(MemoryPool *pool) const;
+
+protected:
+ virtual void accept0(ASTVisitor *visitor);
+};
+
+class CPLUSPLUS_EXPORT ObjCMessageArgumentDeclarationListAST: public AST
+{
+public:
+ ObjCMessageArgumentDeclarationAST *argument_declaration;
+ ObjCMessageArgumentDeclarationListAST *next;
+
+public:
+ virtual ObjCMessageArgumentDeclarationListAST *asObjCMessageArgumentDeclarationList()
+ { return this; }
+
+ virtual unsigned firstToken() const;
+ virtual unsigned lastToken() const;
+
+ virtual ObjCMessageArgumentDeclarationListAST *clone(MemoryPool *pool) const;
+
+protected:
+ virtual void accept0(ASTVisitor *visitor);
+};
+
+class CPLUSPLUS_EXPORT ObjCMethodPrototypeAST: public DeclarationAST
+{
+public:
+ unsigned method_type_token;
+ ObjCTypeNameAST *type_name;
+ ObjCMessageArgumentDeclarationListAST *arguments;
+ SpecifierAST *attributes;
+
+public:
+ virtual ObjCMethodPrototypeAST *asObjCMethodPrototype()
+ { return this; }
+
+ virtual unsigned firstToken() const;
+ virtual unsigned lastToken() const;
+
+ virtual ObjCMethodPrototypeAST *clone(MemoryPool *pool) const;
+
+protected:
+ virtual void accept0(ASTVisitor *visitor);
+};
+
CPLUSPLUS_END_NAMESPACE
CPLUSPLUS_END_HEADER