forked from qt-creator/qt-creator
C++: improve support for anonymous classes
Fix: * highlighting * find usages * follow symbol * code completion Task-number: QTCREATORBUG-6497 Task-number: QTCREATORBUG-8963 Task-number: QTCREATORBUG-3610 Task-number: QTCREATORBUG-7579 Change-Id: I3dcaf1c515d0199c3e6bee72284fbb40064686ee Reviewed-by: Petar Perisin <petar.perisin@gmail.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
committed by
Erik Verbruggen
parent
a2b2857b44
commit
080bf4ecb8
21
src/libs/3rdparty/cplusplus/AST.h
vendored
21
src/libs/3rdparty/cplusplus/AST.h
vendored
@@ -127,6 +127,7 @@ public:
|
||||
virtual AccessDeclarationAST *asAccessDeclaration() { return 0; }
|
||||
virtual AliasDeclarationAST *asAliasDeclaration() { return 0; }
|
||||
virtual AlignofExpressionAST *asAlignofExpression() { return 0; }
|
||||
virtual AnonymousNameAST *asAnonymousName() { return 0; }
|
||||
virtual ArrayAccessAST *asArrayAccess() { return 0; }
|
||||
virtual ArrayDeclaratorAST *asArrayDeclarator() { return 0; }
|
||||
virtual ArrayInitializerAST *asArrayInitializer() { return 0; }
|
||||
@@ -2267,6 +2268,26 @@ protected:
|
||||
virtual bool match0(AST *, ASTMatcher *);
|
||||
};
|
||||
|
||||
class CPLUSPLUS_EXPORT AnonymousNameAST: public NameAST
|
||||
{
|
||||
public:
|
||||
unsigned class_token;
|
||||
public:
|
||||
AnonymousNameAST()
|
||||
: class_token(0)
|
||||
{}
|
||||
|
||||
virtual AnonymousNameAST *asAnonymousName() { return this; }
|
||||
virtual unsigned firstToken() const { return 0; }
|
||||
virtual unsigned lastToken() const { return 0; }
|
||||
|
||||
virtual AnonymousNameAST *clone(MemoryPool *pool) const;
|
||||
|
||||
protected:
|
||||
virtual void accept0(ASTVisitor *visitor);
|
||||
virtual bool match0(AST *, ASTMatcher *);
|
||||
};
|
||||
|
||||
class CPLUSPLUS_EXPORT SimpleNameAST: public NameAST
|
||||
{
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user