diff options
Diffstat (limited to 'java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java')
-rw-r--r-- | java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java b/java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java index bc6273eb1074..c9f75a0486b5 100644 --- a/java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java +++ b/java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java @@ -630,9 +630,15 @@ public class ExpectedTypesProvider { myResult = visitor.getResult(); if (!(expr.getParent() instanceof PsiExpressionList)) { for (int i = 0; i < myResult.length; i++) { - ExpectedTypeInfo info = myResult[i]; + final ExpectedTypeInfo info = myResult[i]; myResult[i] = createInfoImpl(info.getType(), info.getKind(), info.getDefaultType(), TailType.NONE, info.getCalledMethod(), - ((ExpectedTypeInfoImpl)info).getExpectedName()); + new NullableComputable<String>() { + @Nullable + @Override + public String compute() { + return ((ExpectedTypeInfoImpl)info).getExpectedName(); + } + }); } } return; @@ -870,9 +876,15 @@ public class ExpectedTypesProvider { else if (myExpr.equals(expr.getThenExpression())) { ExpectedTypeInfo[] types = getExpectedTypes(expr, myForCompletion); for (int i = 0; i < types.length; i++) { - ExpectedTypeInfo info = types[i]; + final ExpectedTypeInfo info = types[i]; types[i] = createInfoImpl(info.getType(), info.getKind(), info.getDefaultType(), TailType.COND_EXPR_COLON, info.getCalledMethod(), - ((ExpectedTypeInfoImpl)info).getExpectedName()); + new NullableComputable<String>() { + @Nullable + @Override + public String compute() { + return ((ExpectedTypeInfoImpl)info).getExpectedName(); + } + }); } myResult = types; } |