diff options
Diffstat (limited to 'src/libs/cplusplus/CppRewriter.cpp')
-rw-r--r-- | src/libs/cplusplus/CppRewriter.cpp | 33 |
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(); |