JetSourceNavigationHelper: drop usage of KotlinBuiltIns.getInstance()

This commit is contained in:
Pavel V. Talanov
2015-09-22 16:06:47 +03:00
parent f28a8a60c1
commit bb3028b6c9
@@ -39,12 +39,10 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.TestOnly; import org.jetbrains.annotations.TestOnly;
import org.jetbrains.kotlin.asJava.LightClassUtil; import org.jetbrains.kotlin.asJava.LightClassUtil;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.codegen.binding.PsiCodegenPredictor; import org.jetbrains.kotlin.codegen.binding.PsiCodegenPredictor;
import org.jetbrains.kotlin.context.ContextPackage; import org.jetbrains.kotlin.context.ContextPackage;
import org.jetbrains.kotlin.context.MutableModuleContext; import org.jetbrains.kotlin.context.MutableModuleContext;
import org.jetbrains.kotlin.descriptors.CallableDescriptor; import org.jetbrains.kotlin.descriptors.CallableDescriptor;
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
import org.jetbrains.kotlin.fileClasses.NoResolveFileClassesProvider; import org.jetbrains.kotlin.fileClasses.NoResolveFileClassesProvider;
import org.jetbrains.kotlin.frontend.di.DiPackage; import org.jetbrains.kotlin.frontend.di.DiPackage;
import org.jetbrains.kotlin.idea.stubindex.JetFullClassNameIndex; import org.jetbrains.kotlin.idea.stubindex.JetFullClassNameIndex;
@@ -60,7 +58,6 @@ import org.jetbrains.kotlin.platform.JavaToKotlinClassMap;
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap; import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.resolve.BindingTraceContext; import org.jetbrains.kotlin.resolve.BindingTraceContext;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.TargetPlatform; import org.jetbrains.kotlin.resolve.TargetPlatform;
import org.jetbrains.kotlin.resolve.jvm.JvmClassName; import org.jetbrains.kotlin.resolve.jvm.JvmClassName;
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM; import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM;
@@ -241,6 +238,7 @@ public class JetSourceNavigationHelper {
@NotNull Project project @NotNull Project project
) { ) {
TargetPlatform platform = TargetPlatform.Default.INSTANCE$;
MutableModuleContext newModuleContext = ContextPackage.ContextForNewModule( MutableModuleContext newModuleContext = ContextPackage.ContextForNewModule(
project, Name.special("<library module>"), project, Name.special("<library module>"),
ModuleParameters( ModuleParameters(
@@ -249,7 +247,7 @@ public class JetSourceNavigationHelper {
) )
); );
newModuleContext.setDependencies(newModuleContext.getModule(), KotlinBuiltIns.getInstance().getBuiltInsModule()); newModuleContext.setDependencies(newModuleContext.getModule(), platform.getBuiltIns().getBuiltInsModule());
FileBasedDeclarationProviderFactory providerFactory = new FileBasedDeclarationProviderFactory( FileBasedDeclarationProviderFactory providerFactory = new FileBasedDeclarationProviderFactory(
newModuleContext.getStorageManager(), newModuleContext.getStorageManager(),
@@ -260,7 +258,7 @@ public class JetSourceNavigationHelper {
newModuleContext, newModuleContext,
providerFactory, providerFactory,
new BindingTraceContext(), new BindingTraceContext(),
TargetPlatform.Default.INSTANCE$ platform
); );
newModuleContext.initializeModuleContents(resolveSession.getPackageFragmentProvider()); newModuleContext.initializeModuleContents(resolveSession.getPackageFragmentProvider());
@@ -366,16 +364,15 @@ public class JetSourceNavigationHelper {
@Nullable @Nullable
public static PsiClass getOriginalPsiClassOrCreateLightClass(@NotNull JetClassOrObject classOrObject) { public static PsiClass getOriginalPsiClassOrCreateLightClass(@NotNull JetClassOrObject classOrObject) {
if (LightClassUtil.INSTANCE$.belongsToKotlinBuiltIns(classOrObject.getContainingJetFile())) { if (LightClassUtil.INSTANCE$.belongsToKotlinBuiltIns(classOrObject.getContainingJetFile())) {
Name className = classOrObject.getNameAsName(); FqName fqName = classOrObject.getFqName();
assert className != null : "Class from BuiltIns should have a name"; if (fqName != null) {
ClassDescriptor classDescriptor = KotlinBuiltIns.getInstance().getBuiltInClassByName(className); ClassId javaClassId = JavaToKotlinClassMap.INSTANCE.mapKotlinToJava(fqName.toUnsafe());
if (javaClassId != null) {
ClassId javaClassId = JavaToKotlinClassMap.INSTANCE.mapKotlinToJava(DescriptorUtils.getFqName(classDescriptor)); return JavaPsiFacade.getInstance(classOrObject.getProject()).findClass(
if (javaClassId != null) { javaClassId.asSingleFqName().asString(),
return JavaPsiFacade.getInstance(classOrObject.getProject()).findClass( GlobalSearchScope.allScope(classOrObject.getProject())
javaClassId.asSingleFqName().asString(), );
GlobalSearchScope.allScope(classOrObject.getProject()) }
);
} }
} }
return LightClassUtil.INSTANCE$.getPsiClass(classOrObject); return LightClassUtil.INSTANCE$.getPsiClass(classOrObject);