diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardClasses.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardClasses.java index d6c0688e8f8..409fa5a11a9 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardClasses.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardClasses.java @@ -236,11 +236,11 @@ public class JetStandardClasses { private static List createTypeParameters(int parameterCount, ClassDescriptorImpl function) { List parameters = new ArrayList(); - for (int j = 0; j < parameterCount; j++) { + for (int j = 1; j <= parameterCount; j++) { parameters.add(TypeParameterDescriptor.createWithDefaultBound( function, Collections.emptyList(), - true, Variance.IN_VARIANCE, "P" + j, j + 1)); + true, Variance.IN_VARIANCE, "P" + j, j)); } parameters.add(TypeParameterDescriptor.createWithDefaultBound( function, @@ -462,14 +462,13 @@ public class JetStandardClasses { @NotNull public static List getValueParameters(@NotNull FunctionDescriptor functionDescriptor, @NotNull JetType type) { assert isFunctionType(type); - int receiverOffset = getReceiverType(type) != null ? 1 : 0; List valueParameters = Lists.newArrayList(); List parameterTypes = getParameterTypeProjectionsFromFunctionType(type); for (int i = 0; i < parameterTypes.size(); i++) { TypeProjection parameterType = parameterTypes.get(i); ValueParameterDescriptorImpl valueParameterDescriptor = new ValueParameterDescriptorImpl( functionDescriptor, i, Collections.emptyList(), - "p" + (i + receiverOffset), false, parameterType.getType(), false, null); + "p" + (i + 1), false, parameterType.getType(), false, null); valueParameters.add(valueParameterDescriptor); } return valueParameters; diff --git a/compiler/testData/diagnostics/tests/override/ExtendFunctionClass.jet b/compiler/testData/diagnostics/tests/override/ExtendFunctionClass.jet index fe37f3e17f5..6566a78c306 100644 --- a/compiler/testData/diagnostics/tests/override/ExtendFunctionClass.jet +++ b/compiler/testData/diagnostics/tests/override/ExtendFunctionClass.jet @@ -5,5 +5,5 @@ class A : (Int) -> Int { } class B : Function1 { - override fun invoke(p0 : Int) = p0 + override fun invoke(p1 : Int) = p1 }