do not create fake descriptors when override private functions

This commit is contained in:
Svetlana Isakova
2012-04-06 20:42:16 +04:00
parent 2de69d8cd8
commit 63af29fedb
2 changed files with 3 additions and 8 deletions
@@ -156,6 +156,9 @@ public class OverrideResolver {
List<CallableMemberDescriptor> fakeOverrides = Lists.newArrayList();
for (CallableMemberDescriptor functionFromSupertype : functionsFromSupertypes) {
if (!Visibilities.isVisible(functionFromSupertype, current)) {
continue;
}
boolean overrides = false;
@@ -93,9 +93,6 @@ public class OverridingUtil {
@NotNull
public static OverrideCompatibilityInfo isOverridableBy(@NotNull CallableDescriptor superDescriptor, @NotNull CallableDescriptor subDescriptor) {
if (!Visibilities.isVisible(superDescriptor, subDescriptor)) {
return OverrideCompatibilityInfo.invisibleMember();
}
if (superDescriptor instanceof FunctionDescriptor) {
if (subDescriptor instanceof PropertyDescriptor) return OverrideCompatibilityInfo.memberKindMismatch();
}
@@ -321,11 +318,6 @@ public class OverridingUtil {
return new OverrideCompatibilityInfo(Result.INCOMPATIBLE, "varOverriddenByVal"); // TODO
}
@NotNull
public static OverrideCompatibilityInfo invisibleMember() {
return new OverrideCompatibilityInfo(Result.INCOMPATIBLE, "invisibleMember");
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
private final Result overridable;