diff options
author | Przemyslaw Gorszkowski <pgorszkowski@gmail.com> | 2013-04-10 23:30:18 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-04-19 12:14:56 +0200 |
commit | 080bf4ecb8b7b70d6410e3342e37dacd5aef8ff3 (patch) | |
tree | afee321dc0eff8017c0a4e3243bf64aefa901581 /src/libs/3rdparty/cplusplus/Names.cpp | |
parent | a2b2857b44d6f6bfdf9ab07a51165b56ef2705bf (diff) | |
download | qt-creator-080bf4ecb8b7b70d6410e3342e37dacd5aef8ff3.tar.gz |
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>
Diffstat (limited to 'src/libs/3rdparty/cplusplus/Names.cpp')
-rw-r--r-- | src/libs/3rdparty/cplusplus/Names.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/libs/3rdparty/cplusplus/Names.cpp b/src/libs/3rdparty/cplusplus/Names.cpp index 4c5cb7db79..4a65fea2a8 100644 --- a/src/libs/3rdparty/cplusplus/Names.cpp +++ b/src/libs/3rdparty/cplusplus/Names.cpp @@ -249,3 +249,29 @@ bool SelectorNameId::isEqualTo(const Name *other) const return true; } +AnonymousNameId::AnonymousNameId(unsigned classTokenIndex) + : _classTokenIndex(classTokenIndex) +{ } + +AnonymousNameId::~AnonymousNameId() +{ } + +unsigned AnonymousNameId::classTokenIndex() const +{ + return _classTokenIndex; +} + +void AnonymousNameId::accept0(NameVisitor *visitor) const +{ visitor->visit(this); } + +const Identifier *AnonymousNameId::identifier() const +{ return 0; } + +bool AnonymousNameId::isEqualTo(const Name *other) const +{ + if (other) { + const AnonymousNameId *c = other->asAnonymousNameId(); + return (c && this->_classTokenIndex == c->_classTokenIndex); + } + return false; +} |