summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/CppRewriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/cplusplus/CppRewriter.cpp')
-rw-r--r--src/libs/cplusplus/CppRewriter.cpp33
1 files changed, 1 insertions, 32 deletions
diff --git a/src/libs/cplusplus/CppRewriter.cpp b/src/libs/cplusplus/CppRewriter.cpp
index 8948b9297e..432f6bcbe4 100644
--- a/src/libs/cplusplus/CppRewriter.cpp
+++ b/src/libs/cplusplus/CppRewriter.cpp
@@ -387,18 +387,6 @@ UseMinimalNames::~UseMinimalNames()
}
-static bool symbolIdentical(Symbol *s1, Symbol *s2)
-{
- if (!s1 || !s2)
- return false;
- if (s1->line() != s2->line())
- return false;
- if (s1->column() != s2->column())
- return false;
-
- return QByteArray(s1->fileName()) == QByteArray(s2->fileName());
-}
-
FullySpecifiedType UseMinimalNames::apply(const Name *name, Rewrite *rewrite) const
{
SubstitutionEnvironment *env = rewrite->env;
@@ -416,26 +404,7 @@ FullySpecifiedType UseMinimalNames::apply(const Name *name, Rewrite *rewrite) co
const QList<LookupItem> results = context.lookup(name, scope);
foreach (const LookupItem &r, results) {
if (Symbol *d = r.declaration()) {
- const Name *n = 0;
- QList<const Name *> names = LookupContext::fullyQualifiedName(d);
- for (int i = names.size() - 1; i >= 0; --i) {
- if (! n)
- n = names.at(i);
- else
- n = control->qualifiedNameId(names.at(i), n);
- if (_target) {
- // minimize the qualifications
- const QList<LookupItem> tresults = _target->lookup(n);
- foreach (const LookupItem &tr, tresults) {
- if (symbolIdentical(tr.declaration(), d)) {
- i = 0; // break outer
- break;
- }
- }
- }
- }
-
- return control->namedType(n);
+ return control->namedType(LookupContext::minimalName(d, _target, control));
}
return r.type();