diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 24820c7a34d..eb58b956aac 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -585,6 +585,12 @@ public class JavaDescriptorResolver { } public NamespaceDescriptor resolveNamespace(String qualifiedName) { + // First, let's check that there is no Kotlin package: + NamespaceDescriptor kotlinNamespaceDescriptor = semanticServices.getKotlinNamespaceDescriptor(qualifiedName); + if (kotlinNamespaceDescriptor != null) { + return kotlinNamespaceDescriptor; + } + PsiPackage psiPackage = findPackage(qualifiedName); if (psiPackage == null) { PsiClass psiClass = findClass(qualifiedName); diff --git a/compiler/testData/diagnostics/tests/scopes/kt955.jet b/compiler/testData/diagnostics/tests/scopes/kt955.jet new file mode 100644 index 00000000000..9c3ae3c51fb --- /dev/null +++ b/compiler/testData/diagnostics/tests/scopes/kt955.jet @@ -0,0 +1,28 @@ +//FILE:a.kt +//KT-955 Unable to import a Kotlin package into a Kotlin file with no package header +//+JDK + +package foo + +fun f() {} + +//FILE:b.kt +//+JDK + +import foo.* + +val m = f() // unresolved + +//FILE:c.kt +//+JDK + +package java.util + +fun bar() {} + +//FILE:d.kt +//+JDK + +import java.util.* + +val r = bar()