Skip to content

Commit 82d7a26

Browse files
committed
Minor. Make sure that implicit contract of mapSignature is satisfied
For ordinary functions mapSignature doesn't use original descriptor and maps the given descriptor itself, but for constructor it obtained the original value parameters. Necessary `getOriginal` calls were added to the call-sites
1 parent 394c68c commit 82d7a26

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

compiler/backend/src/org/jetbrains/kotlin/codegen/state/KotlinTypeMapper.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -707,9 +707,9 @@ else if (isSuperCall && !isJvm8TargetWithDefaults && !isInterface(descriptor.get
707707
@NotNull
708708
public CallableMethod mapToCallableMethod(@NotNull FunctionDescriptor descriptor, boolean superCall) {
709709
if (descriptor instanceof ConstructorDescriptor) {
710-
JvmMethodSignature method = mapSignatureSkipGeneric(descriptor);
710+
JvmMethodSignature method = mapSignatureSkipGeneric(descriptor.getOriginal());
711711
Type owner = mapOwner(descriptor);
712-
String defaultImplDesc = mapDefaultMethod(descriptor, OwnerKind.IMPLEMENTATION).getDescriptor();
712+
String defaultImplDesc = mapDefaultMethod(descriptor.getOriginal(), OwnerKind.IMPLEMENTATION).getDescriptor();
713713
return new CallableMethod(
714714
owner, owner, defaultImplDesc, method, INVOKESPECIAL,
715715
null, null, null, false
@@ -1042,10 +1042,6 @@ private JvmMethodGenericSignature mapSignature(@NotNull FunctionDescriptor f, @N
10421042
return mapSignature(CoroutineCodegenUtilKt.getOrCreateJvmSuspendFunctionView(f), kind, skipGenericSignature);
10431043
}
10441044

1045-
if (f instanceof ConstructorDescriptor) {
1046-
return mapSignatureWithCustomParameters(f, kind, f.getOriginal().getValueParameters(), skipGenericSignature);
1047-
}
1048-
10491045
return mapSignatureWithCustomParameters(f, kind, f.getValueParameters(), skipGenericSignature);
10501046
}
10511047

@@ -1426,7 +1422,7 @@ private void writeSuperConstructorCallParameters(
14261422
List<ResolvedValueArgument> valueArguments = superCall.getValueArgumentsByIndex();
14271423
assert valueArguments != null : "Failed to arrange value arguments by index: " + superDescriptor;
14281424

1429-
List<JvmMethodParameterSignature> parameters = mapSignatureSkipGeneric(superDescriptor).getValueParameters();
1425+
List<JvmMethodParameterSignature> parameters = mapSignatureSkipGeneric(superDescriptor.getOriginal()).getValueParameters();
14301426

14311427
int params = parameters.size();
14321428
int args = valueArguments.size();

0 commit comments

Comments
 (0)