Minor. Simplify mapping to callable method
There's no need in unwrapping for TypeAliasConstructorDescriptor because mapSignatureSkipGeneric/mapDefaultMethod already do it in some moment, and ConstructorDescriptor has getConstructedClass method for mapping its owner
This commit is contained in:
@@ -192,6 +192,10 @@ public class KotlinTypeMapper {
|
|||||||
return asmTypeForAnonymousClass(bindingContext, (FunctionDescriptor) descriptor);
|
return asmTypeForAnonymousClass(bindingContext, (FunctionDescriptor) descriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (descriptor instanceof ConstructorDescriptor) {
|
||||||
|
return mapClass(((ConstructorDescriptor) descriptor).getConstructedClass());
|
||||||
|
}
|
||||||
|
|
||||||
DeclarationDescriptor container = descriptor.getContainingDeclaration();
|
DeclarationDescriptor container = descriptor.getContainingDeclaration();
|
||||||
if (container instanceof PackageFragmentDescriptor) {
|
if (container instanceof PackageFragmentDescriptor) {
|
||||||
String packageMemberOwner = internalNameForPackageMemberOwner((CallableMemberDescriptor) descriptor, publicFacade);
|
String packageMemberOwner = internalNameForPackageMemberOwner((CallableMemberDescriptor) descriptor, publicFacade);
|
||||||
@@ -702,15 +706,14 @@ public class KotlinTypeMapper {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public CallableMethod mapToCallableMethod(@NotNull FunctionDescriptor descriptor, boolean superCall) {
|
public CallableMethod mapToCallableMethod(@NotNull FunctionDescriptor descriptor, boolean superCall) {
|
||||||
if (descriptor instanceof TypeAliasConstructorDescriptor) {
|
if (descriptor instanceof ConstructorDescriptor) {
|
||||||
return mapToCallableMethod(((TypeAliasConstructorDescriptor) descriptor).getUnderlyingConstructorDescriptor(), superCall);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (descriptor instanceof ClassConstructorDescriptor) {
|
|
||||||
JvmMethodSignature method = mapSignatureSkipGeneric(descriptor);
|
JvmMethodSignature method = mapSignatureSkipGeneric(descriptor);
|
||||||
Type owner = mapClass(((ClassConstructorDescriptor) descriptor).getContainingDeclaration());
|
Type owner = mapOwner(descriptor);
|
||||||
String defaultImplDesc = mapDefaultMethod(descriptor, OwnerKind.IMPLEMENTATION).getDescriptor();
|
String defaultImplDesc = mapDefaultMethod(descriptor, OwnerKind.IMPLEMENTATION).getDescriptor();
|
||||||
return new CallableMethod(owner, owner, defaultImplDesc, method, INVOKESPECIAL, null, null, null, false);
|
return new CallableMethod(
|
||||||
|
owner, owner, defaultImplDesc, method, INVOKESPECIAL,
|
||||||
|
null, null, null, false
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (descriptor instanceof LocalVariableAccessorDescriptor) {
|
if (descriptor instanceof LocalVariableAccessorDescriptor) {
|
||||||
|
|||||||
Reference in New Issue
Block a user