Move visibility check for toplevel private declarations to Visibilities.PRIVATE and fix it.

This commit is contained in:
Zalim Bashorov
2015-09-30 23:06:16 +03:00
parent 94b110936e
commit a36e4abf4d
15 changed files with 68 additions and 83 deletions
@@ -36,6 +36,13 @@ public class Visibilities {
@Override
public boolean isVisible(@NotNull ReceiverValue receiver, @NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
if (DescriptorUtils.isTopLevelDeclaration(what)) {
SourceFile fromContainingFile = DescriptorUtils.getContainingSourceFile(from);
if (fromContainingFile != SourceFile.NO_SOURCE_FILE) {
return fromContainingFile.equals(DescriptorUtils.getContainingSourceFile(what));
}
}
DeclarationDescriptor parent = what;
while (parent != null) {
parent = parent.getContainingDeclaration();