diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ClosureExpressionsTypingVisitor.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ClosureExpressionsTypingVisitor.java index b1231c1b5ae..e09e1c5e922 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ClosureExpressionsTypingVisitor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ClosureExpressionsTypingVisitor.java @@ -39,6 +39,7 @@ import java.util.List; import static org.jetbrains.jet.lang.diagnostics.Errors.*; import static org.jetbrains.jet.lang.resolve.BindingContext.*; import static org.jetbrains.jet.lang.types.TypeUtils.NO_EXPECTED_TYPE; +import static org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils.CANNOT_BE_INFERRED; public class ClosureExpressionsTypingVisitor extends ExpressionTypingVisitor { protected ClosureExpressionsTypingVisitor(@NotNull ExpressionTypingInternals facade) { @@ -224,7 +225,7 @@ public class ClosureExpressionsTypingVisitor extends ExpressionTypingVisitor { type = expectedType; } else { - type = ErrorUtils.createErrorType("Cannot be inferred"); + type = CANNOT_BE_INFERRED; } } return context.expressionTypingServices.getDescriptorResolver().resolveValueParameterDescriptor( @@ -255,7 +256,7 @@ public class ClosureExpressionsTypingVisitor extends ExpressionTypingVisitor { return KotlinBuiltIns.getInstance().getUnitType(); } } - return returnType == null ? ErrorUtils.createErrorType("") : returnType; + return returnType == null ? CANNOT_BE_INFERRED : returnType; } @Nullable diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ExpressionTypingUtils.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ExpressionTypingUtils.java index ba5ffda03c9..f4d01867eac 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ExpressionTypingUtils.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ExpressionTypingUtils.java @@ -62,6 +62,8 @@ public class ExpressionTypingUtils { private ExpressionTypingUtils() { } + public static final JetType CANNOT_BE_INFERRED = ErrorUtils.createErrorType("Cannot be inferred"); + @Nullable protected static ExpressionReceiver getExpressionReceiver(@NotNull JetExpression expression, @Nullable JetType type) { if (type == null) return null; diff --git a/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java b/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java index 4fe5276e4a3..06580c9e77f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java @@ -25,11 +25,11 @@ import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.annotations.Annotated; import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor; import org.jetbrains.jet.lang.resolve.DescriptorUtils; -import org.jetbrains.jet.lang.resolve.calls.CallResolverUtil; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.types.*; +import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; import org.jetbrains.jet.lexer.JetKeywordToken; import org.jetbrains.jet.lexer.JetTokens; @@ -194,12 +194,9 @@ public class DescriptorRendererImpl implements DescriptorRenderer { } private String renderTypeWithoutEscape(@NotNull JetType type) { - if (type == CallResolverUtil.DONT_CARE || type == CallResolverUtil.CANT_INFER) { + if (type == ExpressionTypingUtils.CANNOT_BE_INFERRED) { return "???"; } - else if (type == CallResolverUtil.PLACEHOLDER_FUNCTION_TYPE) { - return "??? " + arrow() + " ???"; - } else if (ErrorUtils.isErrorType(type)) { return type.toString(); } diff --git a/idea/testData/diagnosticMessage/functionPlaceholder1.html b/idea/testData/diagnosticMessage/functionPlaceholder1.html index de44d6314a1..9a7c9160a94 100644 --- a/idea/testData/diagnosticMessage/functionPlaceholder1.html +++ b/idea/testData/diagnosticMessage/functionPlaceholder1.html @@ -36,7 +36,7 @@ cannot be applied to -??? → ??? +() → ??? diff --git a/idea/testData/diagnosticMessage/functionPlaceholder3.html b/idea/testData/diagnosticMessage/functionPlaceholder3.html index f1a742a3406..8a4bb1e036f 100644 --- a/idea/testData/diagnosticMessage/functionPlaceholder3.html +++ b/idea/testData/diagnosticMessage/functionPlaceholder3.html @@ -36,7 +36,7 @@ cannot be applied to -(jet.Int) → ??? +(jet.Int) → jet.Int