summaryrefslogtreecommitdiff
path: root/src/libs/3rdparty/cplusplus/Names.cpp
diff options
context:
space:
mode:
authorPrzemyslaw Gorszkowski <pgorszkowski@gmail.com>2013-04-10 23:30:18 +0200
committerErik Verbruggen <erik.verbruggen@digia.com>2013-04-19 12:14:56 +0200
commit080bf4ecb8b7b70d6410e3342e37dacd5aef8ff3 (patch)
treeafee321dc0eff8017c0a4e3243bf64aefa901581 /src/libs/3rdparty/cplusplus/Names.cpp
parenta2b2857b44d6f6bfdf9ab07a51165b56ef2705bf (diff)
downloadqt-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.cpp26
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;
+}