do not create fake descriptors when override private functions
This commit is contained in:
@@ -156,6 +156,9 @@ public class OverrideResolver {
|
|||||||
List<CallableMemberDescriptor> fakeOverrides = Lists.newArrayList();
|
List<CallableMemberDescriptor> fakeOverrides = Lists.newArrayList();
|
||||||
|
|
||||||
for (CallableMemberDescriptor functionFromSupertype : functionsFromSupertypes) {
|
for (CallableMemberDescriptor functionFromSupertype : functionsFromSupertypes) {
|
||||||
|
if (!Visibilities.isVisible(functionFromSupertype, current)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
boolean overrides = false;
|
boolean overrides = false;
|
||||||
|
|
||||||
|
|||||||
@@ -93,9 +93,6 @@ public class OverridingUtil {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static OverrideCompatibilityInfo isOverridableBy(@NotNull CallableDescriptor superDescriptor, @NotNull CallableDescriptor subDescriptor) {
|
public static OverrideCompatibilityInfo isOverridableBy(@NotNull CallableDescriptor superDescriptor, @NotNull CallableDescriptor subDescriptor) {
|
||||||
if (!Visibilities.isVisible(superDescriptor, subDescriptor)) {
|
|
||||||
return OverrideCompatibilityInfo.invisibleMember();
|
|
||||||
}
|
|
||||||
if (superDescriptor instanceof FunctionDescriptor) {
|
if (superDescriptor instanceof FunctionDescriptor) {
|
||||||
if (subDescriptor instanceof PropertyDescriptor) return OverrideCompatibilityInfo.memberKindMismatch();
|
if (subDescriptor instanceof PropertyDescriptor) return OverrideCompatibilityInfo.memberKindMismatch();
|
||||||
}
|
}
|
||||||
@@ -321,11 +318,6 @@ public class OverridingUtil {
|
|||||||
return new OverrideCompatibilityInfo(Result.INCOMPATIBLE, "varOverriddenByVal"); // TODO
|
return new OverrideCompatibilityInfo(Result.INCOMPATIBLE, "varOverriddenByVal"); // TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public static OverrideCompatibilityInfo invisibleMember() {
|
|
||||||
return new OverrideCompatibilityInfo(Result.INCOMPATIBLE, "invisibleMember");
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
private final Result overridable;
|
private final Result overridable;
|
||||||
|
|||||||
Reference in New Issue
Block a user