summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libs/cplusplus/CppRewriter.cpp4
-rw-r--r--src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp9
-rw-r--r--src/libs/cplusplus/FindUsages.cpp2
-rw-r--r--src/libs/cplusplus/LookupContext.cpp4
-rw-r--r--src/libs/cplusplus/LookupContext.h6
-rw-r--r--src/libs/cplusplus/NamePrettyPrinter.cpp2
-rw-r--r--src/libs/cplusplus/NamePrettyPrinter.h2
-rw-r--r--src/libs/cplusplus/ResolveExpression.cpp4
-rw-r--r--src/plugins/cppeditor/cppquickfixes.cpp2
-rw-r--r--src/plugins/cpptools/cppcodecompletion.cpp2
-rw-r--r--src/shared/cplusplus/Bind.cpp22
-rw-r--r--src/shared/cplusplus/CPlusPlusForwardDeclarations.h2
-rw-r--r--src/shared/cplusplus/Control.cpp20
-rw-r--r--src/shared/cplusplus/Control.h3
-rw-r--r--src/shared/cplusplus/Literals.cpp18
-rw-r--r--src/shared/cplusplus/Literals.h16
-rw-r--r--src/shared/cplusplus/Name.h2
-rw-r--r--src/shared/cplusplus/NameVisitor.h2
-rw-r--r--src/shared/cplusplus/Names.cpp26
-rw-r--r--src/shared/cplusplus/Names.h20
-rw-r--r--src/shared/cplusplus/Scope.cpp21
-rw-r--r--src/shared/cplusplus/Scope.h1
-rw-r--r--src/shared/cplusplus/Symbol.cpp2
-rw-r--r--tests/auto/cplusplus/semantic/tst_semantic.cpp4
-rw-r--r--tests/auto/cplusplus/typeprettyprinter/tst_typeprettyprinter.cpp4
25 files changed, 69 insertions, 131 deletions
diff --git a/src/libs/cplusplus/CppRewriter.cpp b/src/libs/cplusplus/CppRewriter.cpp
index ca4acd4412..d91f175a2a 100644
--- a/src/libs/cplusplus/CppRewriter.cpp
+++ b/src/libs/cplusplus/CppRewriter.cpp
@@ -242,9 +242,9 @@ public:
temps.append(control()->qualifiedNameId(base, n));
}
- virtual void visit(const NameId *name)
+ virtual void visit(const Identifier *name)
{
- temps.append(control()->nameId(identifier(name->identifier())));
+ temps.append(control()->identifier(name->chars(), name->size()));
}
virtual void visit(const TemplateNameId *name)
diff --git a/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp b/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp
index 7edc44d734..0247ba2c2d 100644
--- a/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp
+++ b/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp
@@ -231,7 +231,7 @@ private:
return previousType;
}
- virtual void visit(const NameId *name)
+ virtual void visit(const Identifier *name)
{
int index = findSubstitution(name->identifier());
@@ -261,10 +261,9 @@ private:
if (! name)
return name;
- else if (const Name *nameId = name->asNameId()) {
- const Identifier *id = control()->identifier(nameId->identifier()->chars(),
- nameId->identifier()->size());
- return control()->nameId(id);
+ else if (const Identifier *nameId = name->asNameId()) {
+ const Identifier *id = control()->identifier(nameId->chars(), nameId->size());
+ return id;
} else if (const TemplateNameId *templId = name->asTemplateNameId()) {
QVarLengthArray<FullySpecifiedType, 8> arguments(templId->templateArgumentCount());
diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp
index d96d8046fa..ff8ccb53e4 100644
--- a/src/libs/cplusplus/FindUsages.cpp
+++ b/src/libs/cplusplus/FindUsages.cpp
@@ -135,7 +135,7 @@ void FindUsages::reportResult(unsigned tokenIndex, const Name *name, Scope *scop
void FindUsages::reportResult(unsigned tokenIndex, const Identifier *id, Scope *scope)
{
- reportResult(tokenIndex, control()->nameId(id), scope);
+ reportResult(tokenIndex, id, scope);
}
void FindUsages::reportResult(unsigned tokenIndex, const QList<LookupItem> &candidates)
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp
index 68522a74a0..813a50bb8a 100644
--- a/src/libs/cplusplus/LookupContext.cpp
+++ b/src/libs/cplusplus/LookupContext.cpp
@@ -854,7 +854,7 @@ bool CreateBindings::visit(Declaration *decl)
qDebug() << "found entity not found for" << oo(namedTy->name());
}
} else if (Class *klass = ty->asClassType()) {
- if (const NameId *nameId = decl->name()->asNameId()) {
+ if (const Identifier *nameId = decl->name()->asNameId()) {
ClassOrNamespace *binding = _currentClassOrNamespace->findOrCreateType(nameId);
binding->addSymbol(klass);
}
@@ -885,7 +885,7 @@ bool CreateBindings::visit(UsingDeclaration *u)
{
if (u->name()) {
if (const QualifiedNameId *q = u->name()->asQualifiedNameId()) {
- if (const NameId *unqualifiedId = q->name()->asNameId()) {
+ if (const Identifier *unqualifiedId = q->name()->asNameId()) {
if (ClassOrNamespace *delegate = _currentClassOrNamespace->lookupType(q)) {
ClassOrNamespace *b = _currentClassOrNamespace->findOrCreateType(unqualifiedId);
b->addUsing(delegate);
diff --git a/src/libs/cplusplus/LookupContext.h b/src/libs/cplusplus/LookupContext.h
index 23cb8b3fbe..d7b03b97d3 100644
--- a/src/libs/cplusplus/LookupContext.h
+++ b/src/libs/cplusplus/LookupContext.h
@@ -80,9 +80,9 @@ private:
QList<LookupItem> lookup_helper(const Name *name, bool searchInEnclosingScope);
void lookup_helper(const Name *name, ClassOrNamespace *binding,
- QList<LookupItem> *result,
- QSet<ClassOrNamespace *> *processed,
- const TemplateNameId *templateId);
+ QList<LookupItem> *result,
+ QSet<ClassOrNamespace *> *processed,
+ const TemplateNameId *templateId);
ClassOrNamespace *lookupType_helper(const Name *name, QSet<ClassOrNamespace *> *processed,
bool searchInEnclosingScope);
diff --git a/src/libs/cplusplus/NamePrettyPrinter.cpp b/src/libs/cplusplus/NamePrettyPrinter.cpp
index 5c6146d0e9..7d19ef13ac 100644
--- a/src/libs/cplusplus/NamePrettyPrinter.cpp
+++ b/src/libs/cplusplus/NamePrettyPrinter.cpp
@@ -62,7 +62,7 @@ QString NamePrettyPrinter::switchName(const QString &name)
return previousName;
}
-void NamePrettyPrinter::visit(const NameId *name)
+void NamePrettyPrinter::visit(const Identifier *name)
{
const Identifier *id = name->identifier();
if (id)
diff --git a/src/libs/cplusplus/NamePrettyPrinter.h b/src/libs/cplusplus/NamePrettyPrinter.h
index b136e5215b..501dbcaa9a 100644
--- a/src/libs/cplusplus/NamePrettyPrinter.h
+++ b/src/libs/cplusplus/NamePrettyPrinter.h
@@ -49,7 +49,7 @@ public:
protected:
QString switchName(const QString &name = QString());
- virtual void visit(const NameId *name);
+ virtual void visit(const Identifier *name);
virtual void visit(const TemplateNameId *name);
virtual void visit(const DestructorNameId *name);
virtual void visit(const OperatorNameId *name);
diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp
index 3533b1f239..b0418419da 100644
--- a/src/libs/cplusplus/ResolveExpression.cpp
+++ b/src/libs/cplusplus/ResolveExpression.cpp
@@ -231,8 +231,8 @@ bool ResolveExpression::visit(NewExpressionAST *ast)
bool ResolveExpression::visit(TypeidExpressionAST *)
{
- const Name *stdName = control()->nameId(control()->identifier("std"));
- const Name *tiName = control()->nameId(control()->identifier("type_info"));
+ const Name *stdName = control()->identifier("std");
+ const Name *tiName = control()->identifier("type_info");
const Name *q = control()->qualifiedNameId(control()->qualifiedNameId(/* :: */ 0, stdName), tiName);
FullySpecifiedType ty(control()->namedType(q));
diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp
index aa7f49173b..d9f6c61952 100644
--- a/src/plugins/cppeditor/cppquickfixes.cpp
+++ b/src/plugins/cppeditor/cppquickfixes.cpp
@@ -981,7 +981,7 @@ public:
}
QSharedPointer<Control> control = state.context().control();
- const Name *trName = control->nameId(control->identifier("tr"));
+ const Name *trName = control->identifier("tr");
// Check whether we are in a method:
for (int i = path.size() - 1; i >= 0; --i)
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index 4e6f013d79..45125a1453 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -181,7 +181,7 @@ protected:
return item;
}
- virtual void visit(const NameId *name)
+ virtual void visit(const Identifier *name)
{ _item = newCompletionItem(name); }
virtual void visit(const TemplateNameId *name)
diff --git a/src/shared/cplusplus/Bind.cpp b/src/shared/cplusplus/Bind.cpp
index 6aa04592aa..d7ab4d3853 100644
--- a/src/shared/cplusplus/Bind.cpp
+++ b/src/shared/cplusplus/Bind.cpp
@@ -303,7 +303,7 @@ const Name *Bind::objCSelectorArgument(ObjCSelectorArgumentAST *ast, bool *hasAr
if (ast->colon_token)
*hasArg = true;
- return control()->nameId(identifier(ast->name_token));
+ return identifier(ast->name_token);
}
bool Bind::visit(AttributeAST *ast)
@@ -468,7 +468,7 @@ void Bind::enumerator(EnumeratorAST *ast, Enum *symbol)
ExpressionTy expression = this->expression(ast->expression);
if (ast->identifier_token) {
- const Name *name = control()->nameId(identifier(ast->identifier_token));
+ const Name *name = identifier(ast->identifier_token);
Declaration *e = control()->newDeclaration(ast->identifier_token, name);
e->setType(control()->integerType(IntegerType::Int)); // ### introduce IntegerType::Enumerator
symbol->addMember(e);
@@ -1143,20 +1143,20 @@ bool Bind::visit(QtMemberDeclarationAST *ast)
const Name *name = 0;
if (tokenKind(ast->q_token) == T_Q_D)
- name = control()->nameId(control()->identifier("d"));
+ name = control()->identifier("d");
else
- name = control()->nameId(control()->identifier("q"));
+ name = control()->identifier("q");
FullySpecifiedType declTy = this->expression(ast->type_id);
if (tokenKind(ast->q_token) == T_Q_D) {
if (NamedType *namedTy = declTy->asNamedType()) {
- if (const NameId *nameId = namedTy->name()->asNameId()) {
+ if (const Identifier *nameId = namedTy->name()->asNameId()) {
std::string privateClass;
privateClass += nameId->identifier()->chars();
privateClass += "Private";
- const Name *privName = control()->nameId(control()->identifier(privateClass.c_str(), privateClass.size()));
+ const Name *privName = control()->identifier(privateClass.c_str(), privateClass.size());
declTy.setType(control()->namedType(privName));
}
}
@@ -1987,7 +1987,7 @@ bool Bind::visit(NamespaceAST *ast)
const Name *namespaceName = 0;
if (ast->identifier_token) {
sourceLocation = ast->identifier_token;
- namespaceName = control()->nameId(identifier(ast->identifier_token));
+ namespaceName = identifier(ast->identifier_token);
}
Namespace *ns = control()->newNamespace(sourceLocation, namespaceName);
@@ -2008,7 +2008,7 @@ bool Bind::visit(NamespaceAliasDefinitionAST *ast)
const Name *name = 0;
if (ast->namespace_name_token) {
sourceLocation = ast->namespace_name_token;
- name = control()->nameId(identifier(ast->namespace_name_token));
+ name = identifier(ast->namespace_name_token);
}
NamespaceAlias *namespaceAlias = control()->newNamespaceAlias(sourceLocation, name);
@@ -2444,14 +2444,16 @@ bool Bind::visit(ConversionFunctionIdAST *ast)
bool Bind::visit(SimpleNameAST *ast)
{
const Identifier *id = identifier(ast->identifier_token);
- ast->name = _name = control()->nameId(id);
+ _name = id;
+ ast->name = _name;
return false;
}
bool Bind::visit(DestructorNameAST *ast)
{
const Identifier *id = identifier(ast->identifier_token);
- ast->name = _name = control()->destructorNameId(id);
+ _name = control()->destructorNameId(id);
+ ast->name = _name;
return false;
}
diff --git a/src/shared/cplusplus/CPlusPlusForwardDeclarations.h b/src/shared/cplusplus/CPlusPlusForwardDeclarations.h
index 980d5c7dbf..2e42a89afc 100644
--- a/src/shared/cplusplus/CPlusPlusForwardDeclarations.h
+++ b/src/shared/cplusplus/CPlusPlusForwardDeclarations.h
@@ -83,7 +83,7 @@ class SymbolTable;
// names
class NameVisitor;
class Name;
-class NameId;
+class Identifier;
class TemplateNameId;
class DestructorNameId;
class OperatorNameId;
diff --git a/src/shared/cplusplus/Control.cpp b/src/shared/cplusplus/Control.cpp
index 050171eb6a..14e302a039 100644
--- a/src/shared/cplusplus/Control.cpp
+++ b/src/shared/cplusplus/Control.cpp
@@ -129,14 +129,6 @@ template <> struct Compare<ArrayType>
}
};
-template <> struct Compare<NameId>
-{
- bool operator()(const NameId &name, const NameId &otherName) const
- {
- return name.identifier() < otherName.identifier();
- }
-};
-
template <> struct Compare<DestructorNameId>
{
bool operator()(const DestructorNameId &name, const DestructorNameId &otherName) const
@@ -256,14 +248,6 @@ public:
delete_array_entries(symbols);
}
- const NameId *findOrInsertNameId(const Identifier *id)
- {
- if (! id)
- return 0;
-
- return nameIds.intern(NameId(id));
- }
-
template <typename _Iterator>
const TemplateNameId *findOrInsertTemplateNameId(const Identifier *id, _Iterator first, _Iterator last)
{
@@ -498,7 +482,6 @@ public:
// ### replace std::map with lookup tables. ASAP!
// names
- Table<NameId> nameIds;
Table<DestructorNameId> destructorNameIds;
Table<OperatorNameId> operatorNameIds;
Table<ConversionNameId> conversionNameIds;
@@ -616,9 +599,6 @@ const NumericLiteral *Control::numericLiteral(const char *chars)
return numericLiteral(chars, length);
}
-const NameId *Control::nameId(const Identifier *id)
-{ return d->findOrInsertNameId(id); }
-
const TemplateNameId *Control::templateNameId(const Identifier *id,
const FullySpecifiedType *const args,
unsigned argv)
diff --git a/src/shared/cplusplus/Control.h b/src/shared/cplusplus/Control.h
index 034e4d583c..78839fb1e5 100644
--- a/src/shared/cplusplus/Control.h
+++ b/src/shared/cplusplus/Control.h
@@ -65,9 +65,6 @@ public:
DiagnosticClient *diagnosticClient() const;
void setDiagnosticClient(DiagnosticClient *diagnosticClient);
- /// Returns the canonical name id.
- const NameId *nameId(const Identifier *id);
-
/// Returns the canonical template name id.
const TemplateNameId *templateNameId(const Identifier *id,
const FullySpecifiedType *const args = 0,
diff --git a/src/shared/cplusplus/Literals.cpp b/src/shared/cplusplus/Literals.cpp
index d56f937c48..9d1bf65225 100644
--- a/src/shared/cplusplus/Literals.cpp
+++ b/src/shared/cplusplus/Literals.cpp
@@ -47,6 +47,7 @@
// THE SOFTWARE.
#include "Literals.h"
+#include "NameVisitor.h"
#include <cstring>
#include <algorithm>
#include <iostream>
@@ -69,7 +70,7 @@ Literal::Literal(const char *chars, unsigned size)
Literal::~Literal()
{ delete[] _chars; }
-bool Literal::isEqualTo(const Literal *other) const
+bool Literal::equalTo(const Literal *other) const
{
if (! other)
return false;
@@ -212,3 +213,18 @@ Identifier::Identifier(const char *chars, unsigned size)
Identifier::~Identifier()
{ }
+void Identifier::accept0(NameVisitor *visitor) const
+{ visitor->visit(this); }
+
+bool Identifier::isEqualTo(const Name *other) const
+{
+ if (this == other)
+ return true;
+
+ else if (other) {
+ if (const Identifier *nameId = other->asNameId()) {
+ return equalTo(nameId);
+ }
+ }
+ return false;
+}
diff --git a/src/shared/cplusplus/Literals.h b/src/shared/cplusplus/Literals.h
index afe9bae2e1..6c1e958b6c 100644
--- a/src/shared/cplusplus/Literals.h
+++ b/src/shared/cplusplus/Literals.h
@@ -51,7 +51,7 @@
#include "CPlusPlusForwardDeclarations.h"
#include "Token.h"
-
+#include "Name.h"
namespace CPlusPlus {
@@ -78,7 +78,7 @@ public:
unsigned hashCode() const;
static unsigned hashCode(const char *chars, unsigned size);
- bool isEqualTo(const Literal *other) const;
+ bool equalTo(const Literal *other) const;
private:
char *_chars;
@@ -126,11 +126,21 @@ private:
};
};
-class CPLUSPLUS_EXPORT Identifier: public Literal
+class CPLUSPLUS_EXPORT Identifier: public Literal, public Name
{
public:
Identifier(const char *chars, unsigned size);
virtual ~Identifier();
+
+ virtual const Identifier *identifier() const { return this; }
+
+ virtual bool isEqualTo(const Name *other) const;
+
+ virtual const Identifier *asNameId() const
+ { return this; }
+
+protected:
+ virtual void accept0(NameVisitor *visitor) const;
};
} // end of namespace CPlusPlus
diff --git a/src/shared/cplusplus/Name.h b/src/shared/cplusplus/Name.h
index 152e035382..a5638fcac7 100644
--- a/src/shared/cplusplus/Name.h
+++ b/src/shared/cplusplus/Name.h
@@ -70,7 +70,7 @@ public:
bool isQualifiedNameId() const;
bool isSelectorNameId() const;
- virtual const NameId *asNameId() const { return 0; }
+ virtual const Identifier *asNameId() const { return 0; }
virtual const TemplateNameId *asTemplateNameId() const { return 0; }
virtual const DestructorNameId *asDestructorNameId() const { return 0; }
virtual const OperatorNameId *asOperatorNameId() const { return 0; }
diff --git a/src/shared/cplusplus/NameVisitor.h b/src/shared/cplusplus/NameVisitor.h
index 5cb046af8e..3a67c1846d 100644
--- a/src/shared/cplusplus/NameVisitor.h
+++ b/src/shared/cplusplus/NameVisitor.h
@@ -68,7 +68,7 @@ public:
virtual bool preVisit(const Name *) { return true; }
virtual void postVisit(const Name *) {}
- virtual void visit(const NameId *) {}
+ virtual void visit(const Identifier *) {}
virtual void visit(const TemplateNameId *) {}
virtual void visit(const DestructorNameId *) {}
virtual void visit(const OperatorNameId *) {}
diff --git a/src/shared/cplusplus/Names.cpp b/src/shared/cplusplus/Names.cpp
index c4cdafb4f3..63ff03f38c 100644
--- a/src/shared/cplusplus/Names.cpp
+++ b/src/shared/cplusplus/Names.cpp
@@ -90,32 +90,6 @@ bool QualifiedNameId::isEqualTo(const Name *other) const
return false;
}
-NameId::NameId(const Identifier *identifier)
- : _identifier(identifier)
-{ }
-
-NameId::~NameId()
-{ }
-
-void NameId::accept0(NameVisitor *visitor) const
-{ visitor->visit(this); }
-
-const Identifier *NameId::identifier() const
-{ return _identifier; }
-
-bool NameId::isEqualTo(const Name *other) const
-{
- if (other) {
- const NameId *nameId = other->asNameId();
- if (! nameId)
- return false;
- const Identifier *l = identifier();
- const Identifier *r = nameId->identifier();
- return l->isEqualTo(r);
- }
- return false;
-}
-
DestructorNameId::DestructorNameId(const Identifier *identifier)
: _identifier(identifier)
{ }
diff --git a/src/shared/cplusplus/Names.h b/src/shared/cplusplus/Names.h
index 050632a8b4..3a894a351e 100644
--- a/src/shared/cplusplus/Names.h
+++ b/src/shared/cplusplus/Names.h
@@ -82,26 +82,6 @@ private:
const Name *_name;
};
-class CPLUSPLUS_EXPORT NameId: public Name
-{
-public:
- NameId(const Identifier *identifier);
- virtual ~NameId();
-
- virtual const Identifier *identifier() const;
-
- virtual bool isEqualTo(const Name *other) const;
-
- virtual const NameId *asNameId() const
- { return this; }
-
-protected:
- virtual void accept0(NameVisitor *visitor) const;
-
-private:
- const Identifier *_identifier;
-};
-
class CPLUSPLUS_EXPORT DestructorNameId: public Name
{
public:
diff --git a/src/shared/cplusplus/Scope.cpp b/src/shared/cplusplus/Scope.cpp
index 72d2b774aa..bc5eeb90bb 100644
--- a/src/shared/cplusplus/Scope.cpp
+++ b/src/shared/cplusplus/Scope.cpp
@@ -94,7 +94,6 @@ public:
/// Returns the last Symbol in the scope.
iterator lastSymbol() const;
- Symbol *lookat(const Name *name) const;
Symbol *lookat(const Identifier *id) const;
Symbol *lookat(int operatorId) const;
@@ -157,21 +156,6 @@ void SymbolTable::enterSymbol(Symbol *symbol)
}
}
-Symbol *SymbolTable::lookat(const Name *name) const
-{
- if (! name)
- return 0;
-
- else if (const OperatorNameId *opId = name->asOperatorNameId())
- return lookat(opId->kind());
-
- else if (const Identifier *id = name->identifier())
- return lookat(id);
-
- else
- return 0;
-}
-
Symbol *SymbolTable::lookat(const Identifier *id) const
{
if (! _hash || ! id)
@@ -183,7 +167,7 @@ Symbol *SymbolTable::lookat(const Identifier *id) const
const Name *identity = symbol->unqualifiedName();
if (! identity) {
continue;
- } else if (const NameId *nameId = identity->asNameId()) {
+ } else if (const Identifier *nameId = identity->asNameId()) {
if (nameId->identifier()->isEqualTo(id))
break;
} else if (const TemplateNameId *t = identity->asTemplateNameId()) {
@@ -303,9 +287,6 @@ Scope::iterator Scope::firstMember() const
Scope::iterator Scope::lastMember() const
{ return _members ? _members->lastSymbol() : 0; }
-Symbol *Scope::find(const Name *name) const
-{ return _members ? _members->lookat(name) : 0; }
-
Symbol *Scope::find(const Identifier *id) const
{ return _members ? _members->lookat(id) : 0; }
diff --git a/src/shared/cplusplus/Scope.h b/src/shared/cplusplus/Scope.h
index c3a1cb23e7..47114111ba 100644
--- a/src/shared/cplusplus/Scope.h
+++ b/src/shared/cplusplus/Scope.h
@@ -80,7 +80,6 @@ public:
/// Returns the last Symbol in the scope.
iterator lastMember() const;
- Symbol *find(const Name *name) const;
Symbol *find(const Identifier *id) const;
Symbol *find(int operatorId) const;
diff --git a/src/shared/cplusplus/Symbol.cpp b/src/shared/cplusplus/Symbol.cpp
index 4bc78da935..5d46bc774a 100644
--- a/src/shared/cplusplus/Symbol.cpp
+++ b/src/shared/cplusplus/Symbol.cpp
@@ -85,7 +85,7 @@ protected:
return previousValue;
}
- virtual void visit(const NameId *name)
+ virtual void visit(const Identifier *name)
{ _value = name->identifier()->hashCode(); }
virtual void visit(const TemplateNameId *name)
diff --git a/tests/auto/cplusplus/semantic/tst_semantic.cpp b/tests/auto/cplusplus/semantic/tst_semantic.cpp
index a93b6ec3c6..d504a6d3a2 100644
--- a/tests/auto/cplusplus/semantic/tst_semantic.cpp
+++ b/tests/auto/cplusplus/semantic/tst_semantic.cpp
@@ -179,7 +179,7 @@ void tst_Semantic::function_declaration_2()
QVERIFY(! arg->hasInitializer());
// check the argument's name.
- const NameId *argNameId = arg->name()->asNameId();
+ const Identifier *argNameId = arg->name()->asNameId();
QVERIFY(argNameId);
const Identifier *argId = argNameId->identifier();
@@ -243,7 +243,7 @@ void tst_Semantic::nested_class_1()
Class *classObject = doc->globals->memberAt(0)->asClass();
QVERIFY(classObject);
QVERIFY(classObject->name());
- const NameId *classObjectNameId = classObject->name()->asNameId();
+ const Identifier *classObjectNameId = classObject->name()->asNameId();
QVERIFY(classObjectNameId);
const Identifier *objectId = classObjectNameId->identifier();
QCOMPARE(QByteArray(objectId->chars(), objectId->size()), QByteArray("Object"));
diff --git a/tests/auto/cplusplus/typeprettyprinter/tst_typeprettyprinter.cpp b/tests/auto/cplusplus/typeprettyprinter/tst_typeprettyprinter.cpp
index a4d6d3319c..d3fda4748d 100644
--- a/tests/auto/cplusplus/typeprettyprinter/tst_typeprettyprinter.cpp
+++ b/tests/auto/cplusplus/typeprettyprinter/tst_typeprettyprinter.cpp
@@ -31,8 +31,8 @@ Q_DECLARE_METATYPE(CPlusPlus::FullySpecifiedType);
TranslationUnit *unit;
-NameId *nameId(const QString &name)
-{ return new NameId(new Identifier(name.toLatin1().constData(), name.toLatin1().size())); }
+const Identifier *nameId(const QString &name)
+{ return new Identifier(name.toLatin1().constData(), name.toLatin1().size()); }
Argument *arg(const QString &name, const FullySpecifiedType &ty)
{