From 5cb42c93ef714ae1b15f2ed336371b6d50870532 Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Mon, 17 May 2010 15:08:10 +0200 Subject: [PATCH] Instantiate the template functions. --- src/libs/cplusplus/LookupContext.cpp | 38 ++++++++++++---------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index f23737c2073..879c27de7f9 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; } } -- GitLab