summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/AST.h
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-08-02 12:04:59 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2010-08-02 12:52:12 +0200
commit6324bf4460132225f682a59bc59794610c25924e (patch)
tree669c452d5867f3caf71a1a53d7eb9fb67a6785ff /src/shared/cplusplus/AST.h
parent6226cfe1fcbe33175e62950df656ff144e5276c0 (diff)
downloadqt-creator-6324bf4460132225f682a59bc59794610c25924e.tar.gz
Introduced IdExpressionAST.
Diffstat (limited to 'src/shared/cplusplus/AST.h')
-rw-r--r--src/shared/cplusplus/AST.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h
index 5eaa6624e5..2bbe99e2c6 100644
--- a/src/shared/cplusplus/AST.h
+++ b/src/shared/cplusplus/AST.h
@@ -201,6 +201,7 @@ public:
virtual FunctionDeclaratorAST *asFunctionDeclarator() { return 0; }
virtual FunctionDefinitionAST *asFunctionDefinition() { return 0; }
virtual GotoStatementAST *asGotoStatement() { return 0; }
+ virtual IdExpressionAST *asIdExpression() { return 0; }
virtual IfStatementAST *asIfStatement() { return 0; }
virtual LabeledStatementAST *asLabeledStatement() { return 0; }
virtual LambdaCaptureAST *asLambdaCapture() { return 0; }
@@ -337,7 +338,7 @@ public:
virtual DeclarationAST *clone(MemoryPool *pool) const = 0;
};
-class CPLUSPLUS_EXPORT NameAST: public ExpressionAST
+class CPLUSPLUS_EXPORT NameAST: public AST
{
public: // annotations
const Name *name;
@@ -965,6 +966,28 @@ protected:
virtual bool match0(AST *, ASTMatcher *);
};
+class CPLUSPLUS_EXPORT IdExpressionAST: public ExpressionAST
+{
+public:
+ NameAST *name;
+
+public:
+ IdExpressionAST()
+ : name(0)
+ {}
+
+ virtual IdExpressionAST *asIdExpression() { return this; }
+
+ virtual unsigned firstToken() const;
+ virtual unsigned lastToken() const;
+
+ virtual IdExpressionAST *clone(MemoryPool *pool) const;
+
+protected:
+ virtual void accept0(ASTVisitor *visitor);
+ virtual bool match0(AST *, ASTMatcher *);
+};
+
class CPLUSPLUS_EXPORT CompoundExpressionAST: public ExpressionAST
{
public: