From af88842969b538dc3a33eab84b3b9631194bd9a3 Mon Sep 17 00:00:00 2001 From: Marco Stornelli Date: Sat, 27 Jul 2019 10:51:31 +0200 Subject: [PATCH] Bug 548902 - Fix exception in override methods refactoring Change-Id: I2cde109ead8536c048bbe0a08083b36f924e4470 Signed-off-by: Marco Stornelli --- .../cdt/internal/ui/refactoring/utils/DefinitionFinder.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/DefinitionFinder.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/DefinitionFinder.java index 05d27a5f5b4..89d72b59cae 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/DefinitionFinder.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/DefinitionFinder.java @@ -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;