1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 22:22:11 +02:00

Bug 548902 - Fix exception in override methods refactoring

Change-Id: I2cde109ead8536c048bbe0a08083b36f924e4470
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
This commit is contained in:
Marco Stornelli 2019-07-27 10:51:31 +02:00
parent 5414def68f
commit af88842969

View file

@ -106,6 +106,8 @@ public class DefinitionFinder {
IIndexFile indexFile = name.getFile();
if (contextTu.getASTFileSet().contains(indexFile) || contextTu.getIndexFileSet().contains(indexFile)) {
ITranslationUnit tu = CoreModelUtil.findTranslationUnitForLocation(indexFile.getLocation(), null);
if (tu == null)
return null;
if (searchedFiles.add(tu.getLocation().toOSString())) {
findDefinitionsInTranslationUnit(indexBinding, tu, context, definitions, pm);
if (definitions.size() > 1)
@ -263,11 +265,13 @@ public class DefinitionFinder {
IASTName classDefintionName = getDefinition(classBinding, contextTu, context, pm);
if (classDefintionName == null) {
/*
* We didn't find the class definition, check again the template definition then
* We didn't find the class definition, check again the template definition then if
* it was a template instance.
*/
if (classBinding instanceof ICPPTemplateInstance)
classBinding = ((ICPPTemplateInstance) classBinding).getTemplateDefinition();
else
return null;
classDefintionName = getDefinition(classBinding, contextTu, context, pm);
if (classDefintionName == null)
return null;