diff --git a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableExtractor.java b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableExtractor.java index 0c49f1be0621..820b9f1f19d8 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableExtractor.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableExtractor.java @@ -111,11 +111,11 @@ class VariableExtractor { if (!(var instanceof PsiPatternVariable)) { PsiUtil.setModifierProperty(var, PsiModifier.FINAL, mySettings.isDeclareFinal()); - } - if (mySettings.isDeclareVarType()) { - PsiTypeElement typeElement = var.getTypeElement(); - LOG.assertTrue(typeElement != null); - IntroduceVariableBase.expandDiamondsAndReplaceExplicitTypeWithVar(typeElement, var); + if (mySettings.isDeclareVarType()) { + PsiTypeElement typeElement = var.getTypeElement(); + LOG.assertTrue(typeElement != null); + IntroduceVariableBase.expandDiamondsAndReplaceExplicitTypeWithVar(typeElement, var); + } } myFieldConflictsResolver.fix(); return SmartPointerManager.getInstance(myProject).createSmartPsiElementPointer(var); diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/IntroduceVariableTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/IntroduceVariableTest.java index 599f812b827c..9fdc68f44ec8 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/IntroduceVariableTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/IntroduceVariableTest.java @@ -134,7 +134,9 @@ public class IntroduceVariableTest extends LightJavaCodeInsightTestCase { public void testPatternVariableNotUsedAfterwards() { doTest("temp", true, false, false, "boolean"); } - public void testPatternVariableDeclarationJava14Preview() { doTest("temp", true, false, false, JAVA_LANG_STRING);} + public void testPatternVariableDeclarationJava14Preview() { + doTestWithVarType(new MockIntroduceVariableHandler("temp", true, false, false, JAVA_LANG_STRING)); + } public void testPatternVariableDeclarationUsedInLocalJava14Preview() { doTest("temp", true, false, false, JAVA_LANG_STRING);} public void testPatternVariableDeclarationAfterIfJava14Preview() { doTest("temp", true, false, false, JAVA_LANG_STRING);} public void testNonPatternDeclarationJava14Preview() { doTest("temp", true, false, false, JAVA_LANG_STRING);}