diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2015-05-21 08:11:41 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2015-05-21 11:09:03 +0000 |
commit | b880ace1674b11f6d82bc8730df72fbadb30c608 (patch) | |
tree | 9b965dc4b8caef03557f709866fce708c656c44d /src/libs/cplusplus/LookupContext.cpp | |
parent | fa6d623dfa27e9660ceec1dc31ade6c830ff8b07 (diff) | |
download | qt-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.cpp | 17 |
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); |