diff options
author | Przemyslaw Gorszkowski <pgorszkowski@gmail.com> | 2013-05-16 10:20:36 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-05-24 11:43:52 +0200 |
commit | 783ec18424289301bdf598e9a19dfb55f0847be9 (patch) | |
tree | 52bd3d0bf351404f974bcfd8677739083ec1fb0e /src/libs/cplusplus/ResolveExpression.cpp | |
parent | bddaab248bce70b8aac2e91fc67c3d70a94eab2f (diff) | |
download | qt-creator-783ec18424289301bdf598e9a19dfb55f0847be9.tar.gz |
C++: instantiate template functions
Task-number: QTCREATORBUG-9170
Change-Id: I4cac9124558c1d4f0722192246f3fbeea61d3d7d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Diffstat (limited to 'src/libs/cplusplus/ResolveExpression.cpp')
-rw-r--r-- | src/libs/cplusplus/ResolveExpression.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index 029bcee00d..81df5e2351 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -697,6 +697,14 @@ bool ResolveExpression::visit(CallAST *ast) // Constructor call FullySpecifiedType ctorTy = control()->namedType(classTy->name()); addResult(ctorTy, scope); + } else if (Template *templateTy = ty->asTemplateType()) { + // template function + if (Symbol *declaration = templateTy->declaration()) { + if (Function *funTy = declaration->asFunction()) { + if (maybeValidPrototype(funTy, actualArgumentCount)) + addResult(funTy->returnType().simplified(), scope); + } + } } } |