Allow to import private members if they are in the same file

#KT-7724 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2017-04-04 03:45:27 +03:00
parent f518e8ebb8
commit 9fdd5fe5e8
14 changed files with 380 additions and 11 deletions
@@ -39,16 +39,6 @@ public class Visibilities {
return true;
}
// Note that this method returns false if `from` declaration is `init` initializer
// because initializer does not have source element
private boolean inSameFile(@NotNull DeclarationDescriptor what, @NotNull DeclarationDescriptor from) {
SourceFile fromContainingFile = DescriptorUtils.getContainingSourceFile(from);
if (fromContainingFile != SourceFile.NO_SOURCE_FILE) {
return fromContainingFile.equals(DescriptorUtils.getContainingSourceFile(what));
}
return false;
}
private boolean hasContainingSourceFile(@NotNull DeclarationDescriptor descriptor) {
return DescriptorUtils.getContainingSourceFile(descriptor) != SourceFile.NO_SOURCE_FILE;
}
@@ -318,6 +308,16 @@ public class Visibilities {
return findInvisibleMember(IRRELEVANT_RECEIVER, what, from) == null;
}
// Note that this method returns false if `from` declaration is `init` initializer
// because initializer does not have source element
public static boolean inSameFile(@NotNull DeclarationDescriptor what, @NotNull DeclarationDescriptor from) {
SourceFile fromContainingFile = DescriptorUtils.getContainingSourceFile(from);
if (fromContainingFile != SourceFile.NO_SOURCE_FILE) {
return fromContainingFile.equals(DescriptorUtils.getContainingSourceFile(what));
}
return false;
}
@Nullable
public static DeclarationDescriptorWithVisibility findInvisibleMember(
@Nullable ReceiverValue receiver,