From 31edd6f4407c3b0a592a6250eacf359da6b21498 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 26 Apr 2013 12:17:05 +0400 Subject: [PATCH] Make declarations from the current package be resolved before declarations in default package (EA-43715) --- .../jetbrains/jet/lang/resolve/lazy/ScopeProvider.java | 2 +- .../namespaceComparator/sameClassNameResolve.kt | 10 ++++++++++ .../namespaceComparator/sameClassNameResolve.txt | 9 +++++++++ .../LazyResolveNamespaceComparingTestGenerated.java | 5 +++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 compiler/testData/lazyResolve/namespaceComparator/sameClassNameResolve.kt create mode 100644 compiler/testData/lazyResolve/namespaceComparator/sameClassNameResolve.txt diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ScopeProvider.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ScopeProvider.java index 8fcf68546cf..fe6ae1c0b80 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ScopeProvider.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ScopeProvider.java @@ -86,8 +86,8 @@ public class ScopeProvider { return new ChainedScope(packageDescriptor, "File scope: " + file.getName(), - rootPackageDescriptor.getMemberScope(), packageDescriptor.getMemberScope(), + rootPackageDescriptor.getMemberScope(), importsScope, defaultImportsScope.compute()); } diff --git a/compiler/testData/lazyResolve/namespaceComparator/sameClassNameResolve.kt b/compiler/testData/lazyResolve/namespaceComparator/sameClassNameResolve.kt new file mode 100644 index 00000000000..4688045df14 --- /dev/null +++ b/compiler/testData/lazyResolve/namespaceComparator/sameClassNameResolve.kt @@ -0,0 +1,10 @@ +// FILE: SameClassNameResolveTest.kt +package test + +open class Base +class SubBase: Base() + +// FILE: SameClassNameResolveRoot.kt + +open class Base +class SubBase: Base() \ No newline at end of file diff --git a/compiler/testData/lazyResolve/namespaceComparator/sameClassNameResolve.txt b/compiler/testData/lazyResolve/namespaceComparator/sameClassNameResolve.txt new file mode 100644 index 00000000000..e405b9bfa21 --- /dev/null +++ b/compiler/testData/lazyResolve/namespaceComparator/sameClassNameResolve.txt @@ -0,0 +1,9 @@ +package test + +internal open class Base { + /*primary*/ public constructor Base() +} + +internal final class SubBase : test.Base { + /*primary*/ public constructor SubBase() +} diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveNamespaceComparingTestGenerated.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveNamespaceComparingTestGenerated.java index 4c6570823c7..4c683e969e2 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveNamespaceComparingTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveNamespaceComparingTestGenerated.java @@ -2122,6 +2122,11 @@ public class LazyResolveNamespaceComparingTestGenerated extends AbstractLazyReso doTestCheckingPrimaryConstructors("compiler/testData/lazyResolve/namespaceComparator/propertyClassFileDependencyRecursion.kt"); } + @TestMetadata("sameClassNameResolve.kt") + public void testSameClassNameResolve() throws Exception { + doTestCheckingPrimaryConstructors("compiler/testData/lazyResolve/namespaceComparator/sameClassNameResolve.kt"); + } + @TestMetadata("simpleClass.kt") public void testSimpleClass() throws Exception { doTestCheckingPrimaryConstructors("compiler/testData/lazyResolve/namespaceComparator/simpleClass.kt");