summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2015-05-21 08:42:20 +0300
committerOrgad Shaneh <orgads@gmail.com>2015-05-22 09:13:00 +0000
commit4eb9b5f145a75092e7a9c8469d6a235b4cdd8b04 (patch)
tree842bcaf2de116938a1fb25d8d230709ed6aa6995
parentb5f6a9e6e57c0b43878167e3f1036516f21018e4 (diff)
downloadqt-creator-4eb9b5f145a75092e7a9c8469d6a235b4cdd8b04.tar.gz
C++: Simplify template function resolving a bit
There's no reason to keep the Template after it is instantiated. Change-Id: I91210ae11b3420bb038168fe951b52d28ccc132e Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-rw-r--r--src/libs/cplusplus/LookupContext.cpp2
-rw-r--r--src/libs/cplusplus/ResolveExpression.cpp8
2 files changed, 1 insertions, 9 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp
index a8fce052db..88c75919db 100644
--- a/src/libs/cplusplus/LookupContext.cpp
+++ b/src/libs/cplusplus/LookupContext.cpp
@@ -2104,7 +2104,7 @@ Symbol *CreateBindings::instantiateTemplateFunction(const TemplateNameId *instan
subst.bind(cloner.name(name, &subst), ty);
}
- return cloner.symbol(specialization, &subst);
+ return cloner.symbol(specialization->declaration(), &subst);
}
} // namespace CPlusPlus
diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp
index 7612e7f51d..43887b2995 100644
--- a/src/libs/cplusplus/ResolveExpression.cpp
+++ b/src/libs/cplusplus/ResolveExpression.cpp
@@ -679,14 +679,6 @@ 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);
- }
- }
}
}