diff options
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r-- | src/libs/cplusplus/LookupContext.cpp | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index f23737c207..879c27de7f 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -391,34 +391,28 @@ void CreateBindings::lookupInScope(const Name *name, Scope *scope, else if (s->name()->isQualifiedNameId()) continue; // skip qualified ids. - if (debug) { - if (templateId && (s->isDeclaration() || s->isFunction())) { + if (templateId && (s->isDeclaration() || s->isFunction())) { - FullySpecifiedType ty = GenTemplateInstance::instantiate(templateId, s, _control); + FullySpecifiedType ty = GenTemplateInstance::instantiate(templateId, s, _control); + if (debug) { Overview oo; oo.setShowFunctionSignatures(true); oo.setShowReturnTypes(true); + qDebug() << "instantiate:" << oo(s->type(), s->name()) << "using:" << oo(templateId) << oo(ty); + } - qDebug() << "TODO: instantiate:" << oo(s->type(), s->name()) << "using:" << oo(templateId) - << oo(ty); - -#if 0 - if (Declaration *decl = s->asDeclaration()) { - qDebug() << "instantiate declaration"; - Declaration *d = _control->newDeclaration(0, 0); - d->copy(decl); - d->setType(ty); - result->append(d); - continue; - } else if (Function *fun = s->asFunction()) { - qDebug() << "instantiate function"; - Function *d = ty->asFunctionType(); - d->copy(fun); - result->append(d); - continue; - } -#endif + if (Declaration *decl = s->asDeclaration()) { + Declaration *d = _control->newDeclaration(0, 0); + d->copy(decl); + d->setType(ty); + result->append(d); + continue; + } else if (Function *fun = s->asFunction()) { + Function *d = ty->asFunctionType(); + d->copy(fun); + result->append(d); + continue; } } |