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:
Przemyslaw Gorszkowski
2013-04-10 23:30:18 +02:00
committed by Erik Verbruggen
parent a2b2857b44
commit 080bf4ecb8
27 changed files with 341 additions and 7 deletions

View File

@@ -253,6 +253,29 @@ private:
bool _hasArguments;
};
class CPLUSPLUS_EXPORT AnonymousNameId: public Name
{
public:
AnonymousNameId(unsigned classTokenIndex);
virtual ~AnonymousNameId();
unsigned classTokenIndex() const;
virtual const Identifier *identifier() const;
virtual bool isEqualTo(const Name *other) const;
virtual const AnonymousNameId *asAnonymousNameId() const
{ return this; }
protected:
virtual void accept0(NameVisitor *visitor) const;
private:
unsigned _classTokenIndex;
};
} // namespace CPlusPlus
#endif // CPLUSPLUS_NAMES_H