From 0d462bf0bf34c76c43961abbba3a044b01bafc9d Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Wed, 4 Apr 2012 18:55:17 +0400 Subject: [PATCH] 'private' package members should be visible for subpackages --- .../org/jetbrains/jet/lang/descriptors/Visibilities.java | 6 ++---- compiler/testData/diagnostics/tests/scopes/visibility2.jet | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java index 624743ac81c..09d878534e2 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java @@ -48,9 +48,6 @@ public class Visibilities { if (parent == fromParent) { return true; } - if (fromParent instanceof NamespaceDescriptor) { - break; //'private' package members are not visible for subpackages, so when we reach a package, we should stop - } fromParent = fromParent.getContainingDeclaration(); } return false; @@ -77,7 +74,8 @@ public class Visibilities { protected boolean isVisible(@NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) { ModuleDescriptor parentModule = DescriptorUtils.getParentOfType(what, ModuleDescriptor.class, false); ModuleDescriptor fromModule = DescriptorUtils.getParentOfType(from, ModuleDescriptor.class, false); - return parentModule == fromModule; + assert parentModule != null && fromModule != null; + return parentModule.equals(fromModule); } }; diff --git a/compiler/testData/diagnostics/tests/scopes/visibility2.jet b/compiler/testData/diagnostics/tests/scopes/visibility2.jet index 40afa0ee60c..83b063bce2b 100644 --- a/compiler/testData/diagnostics/tests/scopes/visibility2.jet +++ b/compiler/testData/diagnostics/tests/scopes/visibility2.jet @@ -13,7 +13,7 @@ private object PO {} //FILE:b.kt //+JDK -package a.b +package b import a.*