forked from qt-creator/qt-creator
Instantiate the template functions.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user