Fix value parameter indeices for function literals with receivers
This commit is contained in:
+3
-2
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -395,7 +395,7 @@ public class JetStandardClasses {
|
||||
List<ValueParameterDescriptor> valueParameters = Lists.newArrayList();
|
||||
for (int i = first; i <= last; i++) {
|
||||
JetType parameterType = arguments.get(i).getType();
|
||||
ValueParameterDescriptorImpl valueParameterDescriptor = new ValueParameterDescriptorImpl(functionDescriptor, i, Collections.<AnnotationDescriptor>emptyList(), "p" + i, false, parameterType, false, null);
|
||||
ValueParameterDescriptorImpl valueParameterDescriptor = new ValueParameterDescriptorImpl(functionDescriptor, i - first, Collections.<AnnotationDescriptor>emptyList(), "p" + i, false, parameterType, false, null);
|
||||
valueParameters.add(valueParameterDescriptor);
|
||||
}
|
||||
return valueParameters;
|
||||
|
||||
Reference in New Issue
Block a user