diff --git a/java/java-impl/src/com/intellij/refactoring/invertBoolean/JavaInvertBooleanDelegate.java b/java/java-impl/src/com/intellij/refactoring/invertBoolean/JavaInvertBooleanDelegate.java index 695c8366f498..bfce10125b1f 100644 --- a/java/java-impl/src/com/intellij/refactoring/invertBoolean/JavaInvertBooleanDelegate.java +++ b/java/java-impl/src/com/intellij/refactoring/invertBoolean/JavaInvertBooleanDelegate.java @@ -182,7 +182,7 @@ public class JavaInvertBooleanDelegate extends InvertBooleanDelegate { @Override public void invertElementInitializer(final PsiElement element) { - if (element instanceof PsiField && ((PsiField)element).getInitializer() == null) { + if (element instanceof PsiField && ((PsiField)element).getInitializer() == null && !((PsiField)element).hasModifierProperty(PsiModifier.FINAL)) { ((PsiField)element).setInitializer(JavaPsiFacade.getElementFactory(element.getProject()).createExpressionFromText("true", element)); } else if (element instanceof PsiVariable) { final PsiExpression initializer = ((PsiVariable)element).getInitializer(); diff --git a/java/java-tests/testData/refactoring/invertBoolean/FinalBooleanFieldWithoutInitializer.java b/java/java-tests/testData/refactoring/invertBoolean/FinalBooleanFieldWithoutInitializer.java new file mode 100644 index 000000000000..4dffe6cf8af9 --- /dev/null +++ b/java/java-tests/testData/refactoring/invertBoolean/FinalBooleanFieldWithoutInitializer.java @@ -0,0 +1,8 @@ +class Test { + private final boolean notInitialized; + + public Test() { + notInitialized = true; + } + +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/invertBoolean/FinalBooleanFieldWithoutInitializer_after.java b/java/java-tests/testData/refactoring/invertBoolean/FinalBooleanFieldWithoutInitializer_after.java new file mode 100644 index 000000000000..1898a4144c8d --- /dev/null +++ b/java/java-tests/testData/refactoring/invertBoolean/FinalBooleanFieldWithoutInitializer_after.java @@ -0,0 +1,8 @@ +class Test { + private final boolean notInitializedInverted; + + public Test() { + notInitializedInverted = false; + } + +} \ No newline at end of file