diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethod/newImpl/CodeFragmentAnalyzer.kt b/java/java-impl/src/com/intellij/refactoring/extractMethod/newImpl/CodeFragmentAnalyzer.kt index 574fe144548a..4678af83243d 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethod/newImpl/CodeFragmentAnalyzer.kt +++ b/java/java-impl/src/com/intellij/refactoring/extractMethod/newImpl/CodeFragmentAnalyzer.kt @@ -128,7 +128,7 @@ class CodeFragmentAnalyzer(val elements: List) { } } elements.forEach { it.accept(visitor) } - return usedFields.distinct().filterNot { usage -> usage.field.modifierList?.hasExplicitModifier(PsiModifier.STATIC) == true } + return usedFields.distinct().filterNot { usage -> usage.field.modifierList?.hasModifierProperty(PsiModifier.STATIC) == true } } private fun lastGotoPointFrom(instructionOffset: Int): Int { diff --git a/java/java-tests/testData/refactoring/extractMethodNew/NotPassedStaticField2.java b/java/java-tests/testData/refactoring/extractMethodNew/NotPassedStaticField2.java new file mode 100644 index 000000000000..b3a9585ab81f --- /dev/null +++ b/java/java-tests/testData/refactoring/extractMethodNew/NotPassedStaticField2.java @@ -0,0 +1,7 @@ +interface Test { + int implicitStatic = 42; + + default void test(){ + System.out.println(implicitStatic); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/extractMethodNew/NotPassedStaticField2_after.java b/java/java-tests/testData/refactoring/extractMethodNew/NotPassedStaticField2_after.java new file mode 100644 index 000000000000..834a93e55601 --- /dev/null +++ b/java/java-tests/testData/refactoring/extractMethodNew/NotPassedStaticField2_after.java @@ -0,0 +1,11 @@ +interface Test { + int implicitStatic = 42; + + default void test(){ + newMethod(); + } + + private static void newMethod() { + System.out.println(implicitStatic); + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractMethodNewTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractMethodNewTest.java index 9897b27d9c26..6600fc62d7c2 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractMethodNewTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractMethodNewTest.java @@ -257,6 +257,10 @@ public class ExtractMethodNewTest extends LightJavaCodeInsightTestCase { doTestPassFieldsAsParams(); } + public void testNotPassedStaticField2() throws Exception { + doTestPassFieldsAsParams(); + } + public void testExtractAssignmentExpression() throws Exception { try { doTest();