summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/LookupContext.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2015-05-21 08:11:41 +0300
committerOrgad Shaneh <orgads@gmail.com>2015-05-21 11:09:03 +0000
commitb880ace1674b11f6d82bc8730df72fbadb30c608 (patch)
tree9b965dc4b8caef03557f709866fce708c656c44d /src/libs/cplusplus/LookupContext.cpp
parentfa6d623dfa27e9660ceec1dc31ade6c830ff8b07 (diff)
downloadqt-creator-b880ace1674b11f6d82bc8730df72fbadb30c608.tar.gz
C++: Minor cleanup
Save a few as* calls Change-Id: Id2aa43a39ead7231d9e9046ad16d51c05af1ec77 Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com>
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r--src/libs/cplusplus/LookupContext.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp
index edb68e65cc..a8fce052db 100644
--- a/src/libs/cplusplus/LookupContext.cpp
+++ b/src/libs/cplusplus/LookupContext.cpp
@@ -964,13 +964,16 @@ void CreateBindings::lookupInScope(const Name *name, Scope *scope,
}
// instantiate function template
- if (name->isTemplateNameId() && s->isTemplate() && s->asTemplate()->declaration()
- && s->asTemplate()->declaration()->isFunction()) {
- const TemplateNameId *instantiation = name->asTemplateNameId();
- Template *specialization = s->asTemplate();
- Symbol *instantiatedFunctionTemplate = instantiateTemplateFunction(instantiation,
- specialization);
- item.setType(instantiatedFunctionTemplate->type()); // override the type.
+ if (const TemplateNameId *instantiation = name->asTemplateNameId()) {
+ if (Template *specialization = s->asTemplate()) {
+ if (const Symbol *decl = specialization->declaration()) {
+ if (decl->isFunction()) {
+ Symbol *instantiatedFunctionTemplate =
+ instantiateTemplateFunction(instantiation, specialization);
+ item.setType(instantiatedFunctionTemplate->type()); // override the type
+ }
+ }
+ }
}
result->append(item);