summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/AST.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2009-07-16 15:50:42 +0200
committerErik Verbruggen <erik.verbruggen@nokia.com>2009-07-16 15:50:42 +0200
commit7fbec4f28ed0093e87b2dfd1fc57a9ff224f0b3f (patch)
tree39eb10745c0cf4f97b267c785be32e1f688e4a9c /src/shared/cplusplus/AST.h
parentfa03d4698417fa7b6d1dd2929756a1e9e394d0af (diff)
downloadqt-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.h78
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);