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 19e79507bbf..08e662357aa 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 @@ -639,6 +639,9 @@ public class CallResolver { List argumentExpressions = resolvedArgument.getArgumentExpressions(); for (JetExpression argumentExpression : argumentExpressions) { + if (argumentExpression == null) { + throw new IllegalStateException("A null instead of an expression in the arguments for " + entry.getKey()); + } JetType type = expressionTypingServices.getType(context.scope, argumentExpression, parameterType, context.dataFlowInfo, context.candidateCall.getTrace()); if (type == null || ErrorUtils.isErrorType(type)) { context.candidateCall.argumentHasNoType(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ValueArgumentsToParametersMapper.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ValueArgumentsToParametersMapper.java index 7c06296c063..e78984f3f05 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ValueArgumentsToParametersMapper.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ValueArgumentsToParametersMapper.java @@ -200,7 +200,10 @@ import static org.jetbrains.jet.lang.resolve.BindingContext.REFERENCE_TARGET; varargs.put(valueParameterDescriptor, vararg); candidateCall.recordValueArgument(valueParameterDescriptor, vararg); } - vararg.getArgumentExpressions().add(valueArgument.getArgumentExpression()); + JetExpression expression = valueArgument.getArgumentExpression(); + if (expression != null) { + vararg.getArgumentExpressions().add(expression); + } } else { ResolvedValueArgument argument = new ExpressionValueArgument(valueArgument.getArgumentExpression());