diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java index bb344def4ee..5b62fdadd2a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java @@ -495,7 +495,9 @@ public class CallResolver { // and throw the results away // We'll type check the arguments later, with the inferred types expected TemporaryBindingTrace traceForUnknown = TemporaryBindingTrace.create(context.trace); - JetType type = expressionTypingServices.getType(context.scope, valueArgument.getArgumentExpression(), substituteDontCare.substitute(valueParameterDescriptor.getType(), Variance.INVARIANT), traceForUnknown); + JetExpression argumentExpression = valueArgument.getArgumentExpression(); + JetType type = argumentExpression != null ? expressionTypingServices.getType(context.scope, argumentExpression, + substituteDontCare.substitute(valueParameterDescriptor.getType(), Variance.INVARIANT), traceForUnknown) : null; if (type != null && !ErrorUtils.isErrorType(type)) { constraintSystem.addSubtypingConstraint(VALUE_ARGUMENT.assertSubtyping(type, effectiveExpectedType)); } diff --git a/compiler/testData/diagnostics/tests/incompleteCode/plusOnTheRight.jet b/compiler/testData/diagnostics/tests/incompleteCode/plusOnTheRight.jet new file mode 100644 index 00000000000..ed135a6aa94 --- /dev/null +++ b/compiler/testData/diagnostics/tests/incompleteCode/plusOnTheRight.jet @@ -0,0 +1,10 @@ +//EA-35646 +package a + +class MyClass1 { + public fun plus() {} +} + +fun main(arg: MyClass1) { + arg+ +}