From 76159f066d1d999b84d895f834f8fa24bcc3e4a7 Mon Sep 17 00:00:00 2001 From: Emanuel Graf Date: Thu, 11 Sep 2008 19:29:59 +0000 Subject: [PATCH] FIXED - bug 246921: NPE in ChangeGenerator when extracting constant https://bugs.eclipse.org/bugs/show_bug.cgi?id=246921 patch from Tom Ball --- .../core/dom/rewrite/changegenerator/ChangeGenerator.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java index 26d0b7864af..e9a834ba427 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java @@ -230,8 +230,10 @@ public class ChangeGenerator extends CPPASTVisitor { targetLocation = getFileLocationOfEmptyTranslationUnit(modification.getTargetNode()); String currentFile = targetLocation.getFileName(); IPath implPath = new Path(currentFile); - IFile relevantFile = ResourcesPlugin.getWorkspace().getRoot() - .getFileForLocation(implPath); + IFile relevantFile = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(implPath); + if (relevantFile == null) { // if not in workspace + throw new UnhandledASTModificationException(modification); + } MultiTextEdit edit; if (changes.containsKey(relevantFile)) { edit = changes.get(relevantFile);