summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/AST.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2009-07-15 12:11:07 +0200
committerErik Verbruggen <erik.verbruggen@nokia.com>2009-07-15 12:11:07 +0200
commitc8f155c0fc2fd64f01d50f6c085dd811cfdae17e (patch)
tree5e54ccb51b84b6cf773f401a0517edf80a1370fd /src/shared/cplusplus/AST.h
parentc13f83268a1d9e48d9f497017764a9d9eed6f662 (diff)
downloadqt-creator-c8f155c0fc2fd64f01d50f6c085dd811cfdae17e.tar.gz
AST additions for ObjC send_msg.
Diffstat (limited to 'src/shared/cplusplus/AST.h')
-rw-r--r--src/shared/cplusplus/AST.h42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h
index 2e56fc5264..393126c9d4 100644
--- a/src/shared/cplusplus/AST.h
+++ b/src/shared/cplusplus/AST.h
@@ -2593,11 +2593,51 @@ protected:
virtual void accept0(ASTVisitor *visitor);
};
+class CPLUSPLUS_EXPORT ObjCMessageArgumentAST: public AST
+{
+public:
+ unsigned parameter_key_identifier;
+ unsigned colon_token;
+ ExpressionAST *parameter_value_expression;
+
+public:
+ virtual ObjCMessageArgumentAST *asObjCMessageArgument()
+ { return this; }
+
+ virtual unsigned firstToken() const;
+ virtual unsigned lastToken() const;
+
+ virtual ObjCMessageArgumentAST *clone(MemoryPool *pool) const;
+
+protected:
+ virtual void accept0(ASTVisitor *visitor);
+};
+
+class CPLUSPLUS_EXPORT ObjCMessageArgumentListAST: public AST
+{
+public:
+ ObjCMessageArgumentAST *arg;
+ ObjCMessageArgumentListAST *next;
+
+public:
+ virtual ObjCMessageArgumentListAST *asObjCMessageArgumentList()
+ { return this; }
+
+ virtual unsigned firstToken() const;
+ virtual unsigned lastToken() const;
+
+ virtual ObjCMessageArgumentListAST *clone(MemoryPool *pool) const;
+
+protected:
+ virtual void accept0(ASTVisitor *visitor);
+};
+
class CPLUSPLUS_EXPORT ObjCMessageExpressionAST: public ExpressionAST
{
public:
unsigned lbracket_token;
- // ..
+ ExpressionAST *receiver_expression;
+ ObjCMessageArgumentListAST *argument_list;
unsigned rbracket_token;
public: