From ae348a05479cb6e8eb8c97db219c0e0825b96b09 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Tue, 28 Aug 2012 19:47:52 +0400 Subject: [PATCH] Nested packages visibilities in jvm-backend. --- .../backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java | 5 ++--- compiler/testData/codegen/multi/nestedPackages/a.kt | 3 +++ compiler/testData/codegen/multi/nestedPackages/box.kt | 3 +++ .../tests/org/jetbrains/jet/codegen/MultiFileGenTest.java | 4 ++++ 4 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 compiler/testData/codegen/multi/nestedPackages/a.kt create mode 100644 compiler/testData/codegen/multi/nestedPackages/box.kt diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java b/compiler/backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java index 8d721d4369d..4aa9f3d09ce 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java @@ -44,10 +44,9 @@ import java.util.List; import java.util.Map; import static org.jetbrains.asm4.Opcodes.*; -import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isClassObject; -import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isEnumEntry; import static org.jetbrains.jet.codegen.context.CodegenBinding.*; import static org.jetbrains.jet.lang.resolve.BindingContextUtils.descriptorToDeclaration; +import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isClassObject; /** * @author yole @@ -1005,7 +1004,7 @@ public class JetTypeMapper { } } if (containingDeclaration instanceof NamespaceDescriptor) { - return 0; + return ACC_PUBLIC; } return ACC_PRIVATE; } diff --git a/compiler/testData/codegen/multi/nestedPackages/a.kt b/compiler/testData/codegen/multi/nestedPackages/a.kt new file mode 100644 index 00000000000..c7baf5e4feb --- /dev/null +++ b/compiler/testData/codegen/multi/nestedPackages/a.kt @@ -0,0 +1,3 @@ +package a + +private val x: String = "OK" \ No newline at end of file diff --git a/compiler/testData/codegen/multi/nestedPackages/box.kt b/compiler/testData/codegen/multi/nestedPackages/box.kt new file mode 100644 index 00000000000..6a63dd0b7fd --- /dev/null +++ b/compiler/testData/codegen/multi/nestedPackages/box.kt @@ -0,0 +1,3 @@ +package a.b + +fun box() = a.x \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/MultiFileGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/MultiFileGenTest.java index 23400a5b171..f12c5b96c3c 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/MultiFileGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/MultiFileGenTest.java @@ -33,4 +33,8 @@ public class MultiFileGenTest extends CodegenTestCase { public void testInternalVisibility() { blackBoxMultiFile("/multi/internalVisibility/box.kt", "/multi/internalVisibility/a.kt"); } + + public void testNestedPackagesVisibility() { + blackBoxMultiFile("/multi/nestedPackages/box.kt", "/multi/nestedPackages/a.kt"); + } }