summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/AST.h
diff options
context:
space:
mode:
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: