teach InitializationUtils about instanceof expressions

This commit is contained in:
Bas Leijdekkers
2012-08-17 11:25:24 +02:00
parent 734cf470c2
commit 49ad44dd20
2 changed files with 14 additions and 1 deletions
@@ -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;
}
@@ -86,4 +86,11 @@ class B {
}
}
}
class C {
private Object o;
C() {
boolean b = (o = "") instanceof String;
}
}