From d5a4a67a8640705cf6727b16aab55c094c55f309 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Wed, 17 Apr 2013 10:50:06 +0400 Subject: [PATCH] DefaultModuleConfiguration made a singleton, ALL_JAVA_IMPORTS constant introduced --- .../resolve/java/JavaBridgeConfiguration.java | 21 ++++++------------- .../jet/lang/DefaultModuleConfiguration.java | 6 ++++-- 2 files changed, 10 insertions(+), 17 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 3d183a0e7bf..cf33e312a8a 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 @@ -17,8 +17,6 @@ package org.jetbrains.jet.lang.resolve.java; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.DefaultModuleConfiguration; import org.jetbrains.jet.lang.ModuleConfiguration; @@ -29,34 +27,27 @@ import org.jetbrains.jet.lang.resolve.ImportPath; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.WritableScope; -import javax.annotation.PostConstruct; import javax.inject.Inject; import java.util.List; -import java.util.Set; public class JavaBridgeConfiguration implements ModuleConfiguration { public static final List DEFAULT_JAVA_IMPORTS = ImmutableList.of(new ImportPath("java.lang.*")); + public static final List ALL_JAVA_IMPORTS = ImmutableList.builder() + .addAll(DEFAULT_JAVA_IMPORTS) + .addAll(DefaultModuleConfiguration.DEFAULT_JET_IMPORTS) + .build(); private JavaSemanticServices javaSemanticServices; - private ModuleConfiguration delegateConfiguration; @Inject public void setJavaSemanticServices(@NotNull JavaSemanticServices javaSemanticServices) { this.javaSemanticServices = javaSemanticServices; } - @PostConstruct - public void init() { - this.delegateConfiguration = DefaultModuleConfiguration.createStandardConfiguration(); - } - @Override public List getDefaultImports() { - Set imports = Sets.newLinkedHashSet(DEFAULT_JAVA_IMPORTS); - imports.addAll(delegateConfiguration.getDefaultImports()); - - return Lists.newArrayList(imports); + return ALL_JAVA_IMPORTS; } @Override @@ -65,7 +56,7 @@ public class JavaBridgeConfiguration implements ModuleConfiguration { if (javaPackageScope != null) { namespaceMemberScope.importScope(javaPackageScope); } - delegateConfiguration.extendNamespaceScope(trace, namespaceDescriptor, namespaceMemberScope); + DefaultModuleConfiguration.INSTANCE.extendNamespaceScope(trace, namespaceDescriptor, namespaceMemberScope); } @NotNull diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/DefaultModuleConfiguration.java b/compiler/frontend/src/org/jetbrains/jet/lang/DefaultModuleConfiguration.java index f7058742d4e..211cdb3dcd3 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/DefaultModuleConfiguration.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/DefaultModuleConfiguration.java @@ -33,8 +33,10 @@ public class DefaultModuleConfiguration implements ModuleConfiguration { new ImportPath("kotlin.io.*"), new ImportPath("jet.*")); - public static DefaultModuleConfiguration createStandardConfiguration() { - return new DefaultModuleConfiguration(); + public static final ModuleConfiguration INSTANCE = new DefaultModuleConfiguration(); + + public static ModuleConfiguration createStandardConfiguration() { + return INSTANCE; } private DefaultModuleConfiguration() {