summaryrefslogtreecommitdiff
path: root/java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java')
-rw-r--r--java/java-impl/src/com/intellij/codeInsight/ExpectedTypesProvider.java20
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;
}