Resolution of == fixed

This commit is contained in:
Andrey Breslav
2011-09-05 19:44:09 +04:00
parent b632fc31d9
commit bca24cf39c
@@ -2219,9 +2219,9 @@ public class JetTypeInferrer {
String name = "equals"; String name = "equals";
if (right != null) { if (right != null) {
JetType leftType = getType(left, context.replaceScope(context.scope)); JetType leftType = getType(left, context.replaceScope(context.scope));
if (leftType != null) { if (leftType == null) {
JetType rightType = getType(right, context.replaceScope(context.scope)); leftType = ErrorUtils.createErrorType("No type for " + left.getText());
if (rightType != null) { }
OverloadResolutionResult<FunctionDescriptor> resolutionResult = context.services.callResolver.resolveExactSignature( OverloadResolutionResult<FunctionDescriptor> resolutionResult = context.services.callResolver.resolveExactSignature(
context.scope, leftType, "equals", context.scope, leftType, "equals",
Collections.singletonList(JetStandardClasses.getNullableAnyType())); Collections.singletonList(JetStandardClasses.getNullableAnyType()));
@@ -2245,8 +2245,6 @@ public class JetTypeInferrer {
} }
} }
} }
}
}
result = semanticServices.getStandardLibrary().getBooleanType(); result = semanticServices.getStandardLibrary().getBooleanType();
} }
else if (operationType == JetTokens.EQEQEQ || operationType == JetTokens.EXCLEQEQEQ) { else if (operationType == JetTokens.EQEQEQ || operationType == JetTokens.EXCLEQEQEQ) {