From d27138e25284f85d19e52fc52922b4ecf3745f6c Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Fri, 23 Mar 2012 18:11:43 +0100 Subject: [PATCH] An exception fixed --- .../org/jetbrains/jet/lang/resolve/calls/CallResolver.java | 3 +++ .../lang/resolve/calls/ValueArgumentsToParametersMapper.java | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) 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());