From a2ddaeca77aa9e545e45d0391a1509b71e123832 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 3 Sep 2014 15:02:58 +0400 Subject: [PATCH] LTDA: Make BuiltinsReferenceResolver compatible with Lazy TDA --- .../references/BuiltInsReferenceResolver.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java b/idea/idea-analysis/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java index 372cc25f05c..01e841b6b09 100644 --- a/idea/idea-analysis/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java +++ b/idea/idea-analysis/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java @@ -32,6 +32,7 @@ import com.intellij.psi.PsiManager; import com.intellij.util.Function; import com.intellij.util.PathUtil; import com.intellij.util.containers.ContainerUtil; +import kotlin.KotlinPackage; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; @@ -54,10 +55,7 @@ import org.jetbrains.jet.utils.UtilsPackage; import java.io.File; import java.net.MalformedURLException; import java.net.URL; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.Set; +import java.util.*; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.unwrapFakeOverride; @@ -67,7 +65,7 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent { private volatile BindingContext bindingContext; private volatile Set builtInsSources; - private volatile MutablePackageFragmentDescriptor builtinsPackageFragment; + private volatile PackageFragmentDescriptor builtinsPackageFragment; public BuiltInsReferenceResolver(Project project) { super(project); @@ -112,7 +110,11 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent { TopDownAnalyzer analyzer = injector.getTopDownAnalyzer(); analyzer.analyzeFiles(topDownAnalysisParameters, jetBuiltInsFiles); - builtinsPackageFragment = analyzer.getPackageFragmentProvider().getOrCreateFragment(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME); + List fragments = + module.getPackageFragmentProvider().getPackageFragments(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME); + + builtinsPackageFragment = KotlinPackage.single(fragments); + builtInsSources = Sets.newHashSet(jetBuiltInsFiles); bindingContext = trace.getBindingContext(); }