From 9a41ab3dd65907f1e4795b8feb91184e1b19247c Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Tue, 14 Feb 2012 23:40:03 +0400 Subject: [PATCH] properly create JavaNamespaceDescriptor for java.lang --- .../jet/lang/resolve/java/JavaBridgeConfiguration.java | 6 ++++-- .../jet/lang/resolve/java/JavaDescriptorResolver.java | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaBridgeConfiguration.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaBridgeConfiguration.java index 5f604cd8388..4be615ddda5 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaBridgeConfiguration.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaBridgeConfiguration.java @@ -53,8 +53,10 @@ public class JavaBridgeConfiguration implements Configuration { public void addDefaultImports(@NotNull BindingTrace trace, @NotNull WritableScope rootScope, @NotNull Importer importer) { rootScope.importScope(new JavaPackageScope("", createNamespaceDescriptor(JavaDescriptorResolver.JAVA_ROOT, ""), javaSemanticServices)); for (String importFQN : DEFAULT_JAVA_IMPORTS) { - importer.addScopeImport(new JavaPackageScope( - importFQN, createNamespaceDescriptor(QualifiedNamesUtil.fqnToShortName(importFQN), importFQN), javaSemanticServices)); + NamespaceDescriptor namespaceDescriptor = javaSemanticServices.getDescriptorResolver().resolveNamespace(importFQN); + if (namespaceDescriptor != null) { + importer.addScopeImport(namespaceDescriptor.getMemberScope()); + } } delegateConfiguration.addDefaultImports(trace, rootScope, importer); } 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 eb630e85db3..683c922eab2 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 @@ -687,7 +687,8 @@ public class JavaDescriptorResolver { } } - public NamespaceDescriptor resolveNamespace(String qualifiedName) { + @Nullable + public NamespaceDescriptor resolveNamespace(@NotNull String qualifiedName) { // First, let's check that there is no Kotlin package: NamespaceDescriptor kotlinNamespaceDescriptor = semanticServices.getKotlinNamespaceDescriptor(qualifiedName); if (kotlinNamespaceDescriptor != null) {