diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/FunctionDescriptorImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/FunctionDescriptorImpl.java index dfe284199d0..810b9907b0c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/FunctionDescriptorImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/FunctionDescriptorImpl.java @@ -76,8 +76,9 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorImpl i for (int i = 0; i < unsubstitutedValueParameters.size(); ++i) { // TODO fill me int firstValueParameterOffset = 0; // receiver.exists() ? 1 : 0; - if (unsubstitutedValueParameters.get(i).getIndex() != i + firstValueParameterOffset) { - //throw new IllegalStateException(); + ValueParameterDescriptor valueParameterDescriptor = unsubstitutedValueParameters.get(i); + if (valueParameterDescriptor.getIndex() != i + firstValueParameterOffset) { + throw new IllegalStateException(valueParameterDescriptor + "index is " + valueParameterDescriptor.getIndex() + " but position is " + i); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/JetStandardClasses.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/JetStandardClasses.java index a10d6a3b974..de1a703a87d 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/JetStandardClasses.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/JetStandardClasses.java @@ -395,7 +395,7 @@ public class JetStandardClasses { List valueParameters = Lists.newArrayList(); for (int i = first; i <= last; i++) { JetType parameterType = arguments.get(i).getType(); - ValueParameterDescriptorImpl valueParameterDescriptor = new ValueParameterDescriptorImpl(functionDescriptor, i, Collections.emptyList(), "p" + i, false, parameterType, false, null); + ValueParameterDescriptorImpl valueParameterDescriptor = new ValueParameterDescriptorImpl(functionDescriptor, i - first, Collections.emptyList(), "p" + i, false, parameterType, false, null); valueParameters.add(valueParameterDescriptor); } return valueParameters;