diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaPackageScope.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaPackageScope.java index 8c82fd11367..098b8ec6bdf 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaPackageScope.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaPackageScope.java @@ -77,6 +77,7 @@ public class JavaPackageScope extends JetScopeImpl { final PsiPackage javaPackage = semanticServices.getDescriptorResolver().findPackage(packageFQN); if (javaPackage != null) { + boolean isKotlinNamespace = semanticServices.getKotlinNamespaceDescriptor(javaPackage.getQualifiedName()) != null; final JavaDescriptorResolver descriptorResolver = semanticServices.getDescriptorResolver(); for (PsiPackage psiSubPackage : javaPackage.getSubPackages()) { @@ -84,6 +85,8 @@ public class JavaPackageScope extends JetScopeImpl { } for (PsiClass psiClass : javaPackage.getClasses()) { + if (isKotlinNamespace && "namespace".equals(psiClass.getName())) continue; + // If this is a Kotlin class, we have already taken it through a containing namespace descriptor ClassDescriptor kotlinClassDescriptor = semanticServices.getKotlinClassDescriptor(psiClass.getQualifiedName()); if (kotlinClassDescriptor != null) { diff --git a/idea/testData/completion/basic/ExtendClassName.kt b/idea/testData/completion/basic/ExtendClassName.kt index 47daf28eff9..e25d7e3528f 100644 --- a/idea/testData/completion/basic/ExtendClassName.kt +++ b/idea/testData/completion/basic/ExtendClassName.kt @@ -1,3 +1,5 @@ +namespace foo + open class MySecondClass() { } @@ -10,4 +12,4 @@ class A() : My { } } -// EXIST: MySecondClass, MyFirstClass \ No newline at end of file +// EXIST: MySecondClass, MyFirstClass