From a3e78bee414c88e4b7fbc82e2d268ba666ca1a69 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Thu, 9 Feb 2017 18:47:15 +0100 Subject: [PATCH] EA-96610 - NPE: IntroduceConstantDialog.getEffectiveVisibility --- .../introduceField/InplaceIntroduceConstantPopup.java | 2 +- .../introduceField/IntroduceConstantDialog.java | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java index f3a6054fe91a..57bfb3dbacc9 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java @@ -130,7 +130,7 @@ public class InplaceIntroduceConstantPopup extends AbstractInplaceIntroduceField initialVisibility = PsiModifier.PUBLIC; } else { - String effectiveVisibility = IntroduceConstantDialog.getEffectiveVisibility(initialVisibility, myOccurrences, myParentClass); + String effectiveVisibility = IntroduceConstantDialog.getEffectiveVisibility(initialVisibility, myOccurrences, myParentClass, myProject); if (effectiveVisibility != null) { return effectiveVisibility; } diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java index 1e968e4f826e..9a35aa37adc4 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java @@ -387,7 +387,7 @@ class IntroduceConstantDialog extends DialogWrapper { else { UIUtil.setEnabled(myVisibilityPanel, true, true); // exclude all modifiers not visible from all occurrences - String effectiveVisibility = getEffectiveVisibility(getFieldVisibility(), myOccurrences, myTargetClass); + String effectiveVisibility = getEffectiveVisibility(getFieldVisibility(), myOccurrences, myTargetClass, myProject); if (effectiveVisibility != null) { myVPanel.setVisibility(effectiveVisibility); } @@ -396,14 +396,15 @@ class IntroduceConstantDialog extends DialogWrapper { public static String getEffectiveVisibility(String initialVisibility, PsiExpression[] occurrences, - PsiClass targetClass) { + PsiClass targetClass, + Project project) { final ArrayList visible = new ArrayList<>(); visible.add(PsiModifier.PRIVATE); visible.add(PsiModifier.PROTECTED); visible.add(PsiModifier.PACKAGE_LOCAL); visible.add(PsiModifier.PUBLIC); for (PsiExpression occurrence : occurrences) { - final PsiManager psiManager = targetClass.getManager(); + final PsiManager psiManager = PsiManager.getInstance(project); for (Iterator iterator = visible.iterator(); iterator.hasNext();) { String modifier = iterator.next();