summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/AST.h
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-11-30 16:30:21 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2009-11-30 17:07:22 +0100
commit527a9bd526d854d3f43b633a94af6dea642297db (patch)
treee334bb57c912b649551493dc985d2f0dd2e62a22 /src/shared/cplusplus/AST.h
parent5fc8324b8bb72ed5156ce52db2e6e506e568b405 (diff)
downloadqt-creator-527a9bd526d854d3f43b633a94af6dea642297db.tar.gz
Inital support for Q_D/Q_Q declarations.
Diffstat (limited to 'src/shared/cplusplus/AST.h')
-rw-r--r--src/shared/cplusplus/AST.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h
index eb64731281..3902fcb5c5 100644
--- a/src/shared/cplusplus/AST.h
+++ b/src/shared/cplusplus/AST.h
@@ -246,6 +246,7 @@ public:
virtual PostfixDeclaratorAST *asPostfixDeclarator() { return 0; }
virtual PostfixExpressionAST *asPostfixExpression() { return 0; }
virtual PtrOperatorAST *asPtrOperator() { return 0; }
+ virtual QtMemberDeclarationAST *asQtMemberDeclaration() { return 0; }
virtual QtMethodAST *asQtMethod() { return 0; }
virtual QualifiedNameAST *asQualifiedName() { return 0; }
virtual ReferenceAST *asReference() { return 0; }
@@ -582,6 +583,25 @@ protected:
virtual bool match0(AST *, ASTMatcher *);
};
+class CPLUSPLUS_EXPORT QtMemberDeclarationAST: public StatementAST
+{
+public:
+ unsigned q_token;
+ unsigned lparen_token;
+ ExpressionAST *type_id;
+ unsigned rparen_token;
+
+public:
+ virtual QtMemberDeclarationAST *asQtMemberDeclaration() { return this; }
+
+ virtual unsigned firstToken() const;
+ virtual unsigned lastToken() const;
+
+protected:
+ virtual void accept0(ASTVisitor *visitor);
+ virtual bool match0(AST *, ASTMatcher *);
+};
+
class CPLUSPLUS_EXPORT BinaryExpressionAST: public ExpressionAST
{
public: