KT-2477 fake overrides now get INHERITED visibility in order to maximize visibility according to inherited traits\classes

This commit is contained in:
Kirill Berezin
2012-09-11 10:20:50 +04:00
committed by Andrey Breslav
parent 2d911f216a
commit 194ef38ba3
17 changed files with 69 additions and 27 deletions
@@ -1344,7 +1344,7 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
Set<PropertyDescriptor> propertiesFromSupertypes = getPropertiesFromSupertypes(scopeData, propertyName);
final Set<VariableDescriptor> properties = Sets.newHashSet();
final Set<PropertyDescriptor> properties = Sets.newHashSet();
if (owner instanceof ClassDescriptor) {
ClassDescriptor classDescriptor = (ClassDescriptor) owner;
@@ -1363,9 +1363,10 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
});
}
OverrideResolver.resolveUnknownVisibilities(properties, trace);
properties.addAll(propertiesFromCurrent);
namedMembers.propertyDescriptors = properties;
namedMembers.propertyDescriptors = Sets.<VariableDescriptor>newHashSet(properties);
}
@NotNull
@@ -1429,9 +1430,9 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
// nop
}
});
}
OverrideResolver.resolveUnknownVisibilities(functions, trace);
functions.addAll(functionsFromCurrent);
if (DescriptorUtils.isEnumClassObject(owner)) {