From 652ca02a3b22cecc59b690378417ceaaea7a850e Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 10 Oct 2011 11:13:46 +0200 Subject: [PATCH] EA-30339 - NPE: RenameUtil.renameNonCodeUsages --- .../intellij/refactoring/rename/RenameUtil.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java index d907efe5ab5d..b7a23cfdbaf9 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java @@ -28,9 +28,7 @@ import com.intellij.openapi.command.undo.UnexpectedUndoException; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Document; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.Condition; -import com.intellij.openapi.util.Pair; -import com.intellij.openapi.util.TextRange; +import com.intellij.openapi.util.*; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.pom.PomTargetPsiElement; @@ -287,16 +285,24 @@ public class RenameUtil { if (element == null) continue; element = CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(element); if (element == null) continue; + + final ProperTextRange rangeInElement = usage.getRangeInElement(); + if (rangeInElement == null) continue; + final PsiFile containingFile = element.getContainingFile(); final Document document = psiDocumentManager.getDocument(containingFile); - int fileOffset = usage.getSegment().getStartOffset(); + + final Segment segment = usage.getSegment(); + LOG.assertTrue(segment != null); + int fileOffset = segment.getStartOffset(); List list = docsToOffsetsMap.get(document); if (list == null) { list = new ArrayList(); docsToOffsetsMap.put(document, list); } - list.add(new UsageOffset(fileOffset, fileOffset + usage.getRangeInElement().getLength(), usage.newText)); + + list.add(new UsageOffset(fileOffset, fileOffset + rangeInElement.getLength(), usage.newText)); } for (Document document : docsToOffsetsMap.keySet()) {