Inital support for Q_D/Q_Q declarations.

This commit is contained in:
Roberto Raggi
2009-11-30 16:30:21 +01:00
parent 5fc8324b8b
commit 527a9bd526
18 changed files with 185 additions and 29 deletions

View File

@@ -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: