diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/CodegenUtil.java b/compiler/backend/src/org/jetbrains/jet/codegen/CodegenUtil.java index 17aa5eb273b..5c5f7b55f58 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/CodegenUtil.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/CodegenUtil.java @@ -189,7 +189,7 @@ public class CodegenUtil { return true; } DeclarationDescriptor contextDescriptor = context.getContextDescriptor(); - return DescriptorUtils.isInSameModule(declarationDescriptor, contextDescriptor); + return DescriptorUtils.areInSameModule(declarationDescriptor, contextDescriptor); } public static boolean hasAbstractMembers(@NotNull ClassDescriptor classDescriptor) { diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/Visibilities.java b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/Visibilities.java index 1094ad26f99..042c8fd8e7f 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/Visibilities.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/Visibilities.java @@ -73,7 +73,8 @@ public class Visibilities { public static final Visibility INTERNAL = new Visibility("internal", false) { @Override protected boolean isVisible(@NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) { - return DescriptorUtils.isInSameModule(what, from); + DeclarationDescriptor fromOrModule = from instanceof PackageViewDescriptor ? ((PackageViewDescriptor) from).getModule() : from; + return DescriptorUtils.areInSameModule(what, fromOrModule); } }; @@ -120,9 +121,6 @@ public class Visibilities { @NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from ) { - if (from instanceof PackageViewDescriptor) { - return null; // TODO 1 review: everything is visible from package view - } DeclarationDescriptorWithVisibility parent = what; while (parent != null && parent.getVisibility() != LOCAL) { if (!parent.getVisibility().isVisible(parent, from)) { diff --git a/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java b/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java index 43b1e8a861b..9733d8527ac 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java @@ -136,9 +136,9 @@ public class DescriptorUtils { return descriptor.getContainingDeclaration() instanceof PackageFragmentDescriptor; } - public static boolean isInSameModule(@NotNull DeclarationDescriptor first, @NotNull DeclarationDescriptor second) { - ModuleDescriptor parentModule = getParentOfType(first, ModuleDescriptorImpl.class, false); - ModuleDescriptor fromModule = getParentOfType(second, ModuleDescriptorImpl.class, false); + public static boolean areInSameModule(@NotNull DeclarationDescriptor first, @NotNull DeclarationDescriptor second) { + ModuleDescriptor parentModule = getParentOfType(first, ModuleDescriptor.class, false); + ModuleDescriptor fromModule = getParentOfType(second, ModuleDescriptor.class, false); assert parentModule != null && fromModule != null; return parentModule.equals(fromModule); }