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:
Denis Zharkov
2017-03-02 14:07:03 +03:00
parent be90f7d331
commit 530214fcee
@@ -192,6 +192,10 @@ public class KotlinTypeMapper {
return asmTypeForAnonymousClass(bindingContext, (FunctionDescriptor) descriptor);
}
if (descriptor instanceof ConstructorDescriptor) {
return mapClass(((ConstructorDescriptor) descriptor).getConstructedClass());
}
DeclarationDescriptor container = descriptor.getContainingDeclaration();
if (container instanceof PackageFragmentDescriptor) {
String packageMemberOwner = internalNameForPackageMemberOwner((CallableMemberDescriptor) descriptor, publicFacade);
@@ -702,15 +706,14 @@ public class KotlinTypeMapper {
@NotNull
public CallableMethod mapToCallableMethod(@NotNull FunctionDescriptor descriptor, boolean superCall) {
if (descriptor instanceof TypeAliasConstructorDescriptor) {
return mapToCallableMethod(((TypeAliasConstructorDescriptor) descriptor).getUnderlyingConstructorDescriptor(), superCall);
}
if (descriptor instanceof ClassConstructorDescriptor) {
if (descriptor instanceof ConstructorDescriptor) {
JvmMethodSignature method = mapSignatureSkipGeneric(descriptor);
Type owner = mapClass(((ClassConstructorDescriptor) descriptor).getContainingDeclaration());
Type owner = mapOwner(descriptor);
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) {