diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2009-07-16 15:50:42 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2009-07-16 15:50:42 +0200 |
commit | 7fbec4f28ed0093e87b2dfd1fc57a9ff224f0b3f (patch) | |
tree | 39eb10745c0cf4f97b267c785be32e1f688e4a9c /src/shared/cplusplus/AST.h | |
parent | fa03d4698417fa7b6d1dd2929756a1e9e394d0af (diff) | |
download | qt-creator-7fbec4f28ed0093e87b2dfd1fc57a9ff224f0b3f.tar.gz |
Added ObjC properties to the AST.
Diffstat (limited to 'src/shared/cplusplus/AST.h')
-rw-r--r-- | src/shared/cplusplus/AST.h | 78 |
1 files changed, 63 insertions, 15 deletions
diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h index 4a11119260..6fef4cafef 100644 --- a/src/shared/cplusplus/AST.h +++ b/src/shared/cplusplus/AST.h @@ -2492,6 +2492,7 @@ public: unsigned superclass_identifier_token; ObjCProtocolRefsAST *protocol_refs; ObjCInstanceVariablesDeclarationAST *inst_vars_decl; + DeclarationListAST *member_declarations; unsigned end_token; public: @@ -2516,6 +2517,7 @@ public: unsigned category_identifier_token; unsigned rparen_token; ObjCProtocolRefsAST *protocol_refs; + DeclarationListAST *member_declarations; unsigned end_token; public: @@ -2559,6 +2561,7 @@ public: unsigned protocol_token; unsigned identifier_token; ObjCProtocolRefsAST *protocol_refs; + DeclarationListAST *member_declarations; unsigned end_token; public: @@ -2715,58 +2718,103 @@ protected: virtual void accept0(ASTVisitor *visitor); }; -class CPLUSPLUS_EXPORT ObjCInstanceVariableListAST: public AST +class CPLUSPLUS_EXPORT ObjCInstanceVariablesDeclarationAST: public AST { public: - DeclarationAST *declaration; - ObjCInstanceVariableListAST *next; + unsigned lbrace_token; + DeclarationListAST *instance_variables; + DeclarationListAST *member_declarations; + unsigned rbrace_token; public: - virtual ObjCInstanceVariableListAST *asObjCInstanceVariableList() + virtual ObjCInstanceVariablesDeclarationAST *asObjCInstanceVariablesDeclaration() { return this; } virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCInstanceVariableListAST *clone(MemoryPool *pool) const; + virtual ObjCInstanceVariablesDeclarationAST *clone(MemoryPool *pool) const; protected: virtual void accept0(ASTVisitor *visitor); }; -class CPLUSPLUS_EXPORT ObjCInstanceVariablesDeclarationAST: public AST +class CPLUSPLUS_EXPORT ObjCVisibilityDeclarationAST: public DeclarationAST { public: - unsigned lbrace_token; - ObjCInstanceVariableListAST *instance_variables; - unsigned rbrace_token; + unsigned visibility_token; public: - virtual ObjCInstanceVariablesDeclarationAST *asObjCInstanceVariablesDeclaration() + virtual ObjCVisibilityDeclarationAST *asObjCVisibilityDeclaration() { return this; } virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCInstanceVariablesDeclarationAST *clone(MemoryPool *pool) const; + virtual ObjCVisibilityDeclarationAST *clone(MemoryPool *pool) const; protected: virtual void accept0(ASTVisitor *visitor); }; -class CPLUSPLUS_EXPORT ObjCVisibilityDeclarationAST: public DeclarationAST +class CPLUSPLUS_EXPORT ObjcPropertyAttributeAST: public AST { public: - unsigned visibility_token; + unsigned attribute_identifier_token; + unsigned equals_token; + unsigned method_selector_identifier_token; + unsigned colon_token; public: - virtual ObjCVisibilityDeclarationAST *asObjCVisibilityDeclaration() + virtual ObjcPropertyAttributeAST *asObjcPropertyAttribute() { return this; } virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCVisibilityDeclarationAST *clone(MemoryPool *pool) const; + virtual ObjcPropertyAttributeAST *clone(MemoryPool *pool) const; + +protected: + virtual void accept0(ASTVisitor *visitor); +}; + +class CPLUSPLUS_EXPORT ObjcPropertyAttributeListAST: public AST +{ +public: + ObjcPropertyAttributeAST *attr; + unsigned comma_token; + ObjcPropertyAttributeListAST *next; + +public: + virtual ObjcPropertyAttributeListAST *asObjcPropertyAttributeList() + { return this; } + + virtual unsigned firstToken() const; + virtual unsigned lastToken() const; + + virtual ObjcPropertyAttributeListAST *clone(MemoryPool *pool) const; + +protected: + virtual void accept0(ASTVisitor *visitor); +}; + +class CPLUSPLUS_EXPORT ObjCPropertyDeclarationAST: public DeclarationAST +{ +public: + unsigned property_token; + unsigned lparen_token; + ObjcPropertyAttributeListAST *property_attributes; + unsigned rparen_token; + DeclarationAST *simple_declaration; + +public: + virtual ObjCPropertyDeclarationAST *asObjCPropertyDeclaration() + { return this; } + + virtual unsigned firstToken() const; + virtual unsigned lastToken() const; + + virtual ObjCPropertyDeclarationAST *clone(MemoryPool *pool) const; protected: virtual void accept0(ASTVisitor *visitor); |