diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/FinalUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/FinalUtils.java index 6ed4cfaec704..143da3cfdd17 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/FinalUtils.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/FinalUtils.java @@ -630,8 +630,9 @@ public class FinalUtils { } private void satisfyVacuously() { - definitelyAssigned = true; - definitelyUnassigned = true; + if (definitelyAssigned) { + definitelyUnassigned = true; + } } private static boolean isPrePostFixExpression( diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/style/field_final/FieldMayBeFinal.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/style/field_final/FieldMayBeFinal.java index c0d4b9886655..39803b92a53e 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/style/field_final/FieldMayBeFinal.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/style/field_final/FieldMayBeFinal.java @@ -398,4 +398,21 @@ class Q implements Iterator { public void remove() { throw new UnsupportedOperationException(); } +} +class R { + private static final String someStaticStuff; + static { + try { + someStaticStuff = ""; + } + catch (Exception e) { + throw new RuntimeException(e); + } + } + + private String someInjectedStuff; + + public String getSomeInjectedStuff() { + return someInjectedStuff; + } } \ No newline at end of file