Visibilities of property accessors were not resolved for properties overriding others. They had "internal" visibility after analysis passed.

This commit is contained in:
Evgeny Gerashchenko
2012-06-14 17:43:05 +04:00
parent 370f648140
commit 221e412ba7
3 changed files with 43 additions and 2 deletions
@@ -536,10 +536,16 @@ public class OverrideResolver {
if (memberDescriptor instanceof PropertyDescriptor) {
((PropertyDescriptor)memberDescriptor).setVisibility(visibility);
for (PropertyAccessorDescriptor accessor : ((PropertyDescriptor) memberDescriptor).getAccessors()) {
resolveUnknownVisibilityForMember(null, accessor);
}
}
else if (memberDescriptor instanceof FunctionDescriptorImpl) {
((FunctionDescriptorImpl)memberDescriptor).setVisibility(visibility);
}
else {
assert memberDescriptor instanceof FunctionDescriptorImpl;
((FunctionDescriptorImpl)memberDescriptor).setVisibility(visibility);
assert memberDescriptor instanceof PropertyAccessorDescriptor;
((PropertyAccessorDescriptor) memberDescriptor).setVisibility(visibility);
}
}