diff --git a/java/java-impl/src/com/intellij/refactoring/invertBoolean/InvertBooleanProcessor.java b/java/java-impl/src/com/intellij/refactoring/invertBoolean/InvertBooleanProcessor.java index 0b84dfe31917..5ef2cabab9f1 100644 --- a/java/java-impl/src/com/intellij/refactoring/invertBoolean/InvertBooleanProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/invertBoolean/InvertBooleanProcessor.java @@ -271,6 +271,10 @@ public class InvertBooleanProcessor extends BaseRefactoringProcessor { } } } + + if (myElement instanceof PsiField && ((PsiField)myElement).getInitializer() == null) { + ((PsiField)myElement).setInitializer(JavaPsiFacade.getElementFactory(myProject).createExpressionFromText("true", myElement)); + } } @Override diff --git a/java/java-tests/testData/refactoring/invertBoolean/BooleanFieldWithoutInitializer.java b/java/java-tests/testData/refactoring/invertBoolean/BooleanFieldWithoutInitializer.java new file mode 100644 index 000000000000..01d5a1db8fae --- /dev/null +++ b/java/java-tests/testData/refactoring/invertBoolean/BooleanFieldWithoutInitializer.java @@ -0,0 +1,10 @@ +class Test { + private boolean notInitialized; + + public void foo() { + if (notInitialized) { + notInitialized = false; + } + } + +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/invertBoolean/BooleanFieldWithoutInitializer_after.java b/java/java-tests/testData/refactoring/invertBoolean/BooleanFieldWithoutInitializer_after.java new file mode 100644 index 000000000000..20b31fae0778 --- /dev/null +++ b/java/java-tests/testData/refactoring/invertBoolean/BooleanFieldWithoutInitializer_after.java @@ -0,0 +1,10 @@ +class Test { + private boolean notInitializedInverted = true; + + public void foo() { + if (!notInitializedInverted) { + notInitializedInverted = true; + } + } + +} \ No newline at end of file