Support properties in @PublishedApi bridge quickfix

This commit is contained in:
Mikhael Bogdanov
2016-12-19 16:13:04 +01:00
parent 6ca1d47207
commit c38b55612b
12 changed files with 182 additions and 40 deletions
@@ -268,9 +268,7 @@ public class JvmCodegenUtil {
@NotNull
public static CallableMemberDescriptor getDirectMember(@NotNull CallableMemberDescriptor descriptor) {
return descriptor instanceof PropertyAccessorDescriptor
? ((PropertyAccessorDescriptor) descriptor).getCorrespondingProperty()
: descriptor;
return DescriptorUtils.getDirectMember(descriptor);
}
public static boolean isArgumentWhichWillBeInlined(@NotNull BindingContext bindingContext, @NotNull DeclarationDescriptor descriptor) {
@@ -224,7 +224,7 @@ public class KotlinTypeMapper {
}
}
CallableMemberDescriptor directMember = getDirectMember(descriptor);
CallableMemberDescriptor directMember = DescriptorUtils.getDirectMember(descriptor);
if (directMember instanceof DeserializedCallableMemberDescriptor) {
String facadeFqName = getPackageMemberOwnerInternalName((DeserializedCallableMemberDescriptor) directMember, publicFacade);
@@ -946,7 +946,7 @@ public class KotlinTypeMapper {
return null;
}
descriptor = getDirectMember(descriptor);
descriptor = DescriptorUtils.getDirectMember(descriptor);
assert descriptor instanceof DeserializedCallableMemberDescriptor :
"Descriptor without sources should be instance of DeserializedCallableMemberDescriptor, but: " +
descriptor;
@@ -1039,7 +1039,7 @@ public class KotlinTypeMapper {
writeVoidReturn(sw);
}
else {
CallableMemberDescriptor directMember = getDirectMember(f);
CallableMemberDescriptor directMember = DescriptorUtils.getDirectMember(f);
KotlinType thisIfNeeded = null;
if (OwnerKind.DEFAULT_IMPLS == kind) {
ReceiverTypeAndTypeParameters receiverTypeAndTypeParameters = TypeMapperUtilsKt.patchTypeParametersForDefaultImplMethod(directMember);