diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationUtils.java index ff641bf12df9..29c8b46b8b44 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationUtils.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationUtils.java @@ -96,7 +96,8 @@ public class InitializationUtils { if (statement instanceof PsiBreakStatement || statement instanceof PsiContinueStatement || statement instanceof PsiAssertStatement || - statement instanceof PsiEmptyStatement) { + statement instanceof PsiEmptyStatement || + statement instanceof PsiSwitchLabelStatement) { return false; } else if (statement instanceof PsiReturnStatement) { @@ -502,6 +503,11 @@ public class InitializationUtils { } return false; } + else if (expression instanceof PsiInstanceOfExpression) { + final PsiInstanceOfExpression instanceOfExpression = (PsiInstanceOfExpression)expression; + final PsiExpression operand = instanceOfExpression.getOperand(); + return expressionAssignsVariableOrFails(operand, variable, checkedMethods, strict); + } else { return false; } diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/field/InstanceVariableInitialization.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/field/InstanceVariableInitialization.java index 39a5ee449fa6..7973f523ecf5 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/field/InstanceVariableInitialization.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/field/InstanceVariableInitialization.java @@ -86,4 +86,11 @@ class B { } } +} +class C { + private Object o; + + C() { + boolean b = (o = "") instanceof String; + } } \ No newline at end of file