Drop InjectorForJavaDescriptorResolver and dependencies
Use InjectorForLazyResolveWithJava instead, it does essentially the same
This commit is contained in:
-156
@@ -1,156 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.kotlin.resolve.BindingTrace;
|
||||
import org.jetbrains.kotlin.context.GlobalContextImpl;
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
||||
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver;
|
||||
import org.jetbrains.kotlin.load.java.JavaClassFinderImpl;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import org.jetbrains.kotlin.load.java.components.TraceBasedExternalSignatureResolver;
|
||||
import org.jetbrains.kotlin.load.java.components.TraceBasedJavaResolverCache;
|
||||
import org.jetbrains.kotlin.load.java.components.TraceBasedErrorReporter;
|
||||
import org.jetbrains.kotlin.load.java.components.PsiBasedMethodSignatureChecker;
|
||||
import org.jetbrains.kotlin.load.java.components.PsiBasedExternalAnnotationResolver;
|
||||
import org.jetbrains.kotlin.load.java.structure.impl.JavaPropertyInitializerEvaluatorImpl;
|
||||
import org.jetbrains.kotlin.load.java.sam.SamConversionResolverImpl;
|
||||
import org.jetbrains.kotlin.load.java.components.JavaSourceElementFactoryImpl;
|
||||
import org.jetbrains.kotlin.load.java.lazy.SingleModuleClassResolver;
|
||||
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolverPostConstruct;
|
||||
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder;
|
||||
import org.jetbrains.kotlin.load.java.lazy.LazyJavaPackageFragmentProvider;
|
||||
import org.jetbrains.kotlin.load.java.lazy.GlobalJavaResolverContext;
|
||||
import org.jetbrains.kotlin.load.kotlin.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.kotlin.load.kotlin.DeserializationComponentsForJava;
|
||||
import org.jetbrains.kotlin.load.kotlin.JavaClassDataFinder;
|
||||
import org.jetbrains.kotlin.load.kotlin.BinaryClassAnnotationAndConstantLoaderImpl;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import javax.annotation.PreDestroy;
|
||||
|
||||
/* This file is generated by org.jetbrains.kotlin.generators.injectors.InjectorsPackage. DO NOT EDIT! */
|
||||
@SuppressWarnings("all")
|
||||
public class InjectorForJavaDescriptorResolver {
|
||||
|
||||
private final Project project;
|
||||
private final BindingTrace bindingTrace;
|
||||
private final GlobalContextImpl globalContext;
|
||||
private final LockBasedStorageManager lockBasedStorageManager;
|
||||
private final ModuleDescriptorImpl module;
|
||||
private final JavaDescriptorResolver javaDescriptorResolver;
|
||||
private final JavaClassFinderImpl javaClassFinder;
|
||||
private final GlobalSearchScope globalSearchScope;
|
||||
private final TraceBasedExternalSignatureResolver traceBasedExternalSignatureResolver;
|
||||
private final TraceBasedJavaResolverCache traceBasedJavaResolverCache;
|
||||
private final TraceBasedErrorReporter traceBasedErrorReporter;
|
||||
private final PsiBasedMethodSignatureChecker psiBasedMethodSignatureChecker;
|
||||
private final PsiBasedExternalAnnotationResolver psiBasedExternalAnnotationResolver;
|
||||
private final JavaPropertyInitializerEvaluatorImpl javaPropertyInitializerEvaluator;
|
||||
private final SamConversionResolverImpl samConversionResolver;
|
||||
private final JavaSourceElementFactoryImpl javaSourceElementFactory;
|
||||
private final SingleModuleClassResolver singleModuleClassResolver;
|
||||
private final JavaDescriptorResolverPostConstruct javaDescriptorResolverPostConstruct;
|
||||
private final VirtualFileFinder virtualFileFinder;
|
||||
private final LazyJavaPackageFragmentProvider lazyJavaPackageFragmentProvider;
|
||||
private final GlobalJavaResolverContext globalJavaResolverContext;
|
||||
private final DeserializedDescriptorResolver deserializedDescriptorResolver;
|
||||
private final DeserializationComponentsForJava deserializationComponentsForJava;
|
||||
private final JavaClassDataFinder javaClassDataFinder;
|
||||
private final BinaryClassAnnotationAndConstantLoaderImpl binaryClassAnnotationAndConstantLoader;
|
||||
|
||||
public InjectorForJavaDescriptorResolver(
|
||||
@NotNull Project project,
|
||||
@NotNull BindingTrace bindingTrace
|
||||
) {
|
||||
this.project = project;
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.globalContext = org.jetbrains.kotlin.context.ContextPackage.GlobalContext();
|
||||
this.lockBasedStorageManager = globalContext.getStorageManager();
|
||||
this.module = org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM.createJavaModule("<fake-jdr-module>");
|
||||
this.javaClassFinder = new JavaClassFinderImpl();
|
||||
this.virtualFileFinder = org.jetbrains.kotlin.load.kotlin.VirtualFileFinder.SERVICE.getInstance(project);
|
||||
this.traceBasedErrorReporter = new TraceBasedErrorReporter();
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver(traceBasedErrorReporter);
|
||||
this.psiBasedExternalAnnotationResolver = new PsiBasedExternalAnnotationResolver();
|
||||
this.traceBasedExternalSignatureResolver = new TraceBasedExternalSignatureResolver();
|
||||
this.psiBasedMethodSignatureChecker = new PsiBasedMethodSignatureChecker();
|
||||
this.traceBasedJavaResolverCache = new TraceBasedJavaResolverCache();
|
||||
this.javaPropertyInitializerEvaluator = new JavaPropertyInitializerEvaluatorImpl();
|
||||
this.samConversionResolver = SamConversionResolverImpl.INSTANCE$;
|
||||
this.javaSourceElementFactory = new JavaSourceElementFactoryImpl();
|
||||
this.singleModuleClassResolver = new SingleModuleClassResolver();
|
||||
this.globalJavaResolverContext = new GlobalJavaResolverContext(lockBasedStorageManager, getJavaClassFinder(), virtualFileFinder, deserializedDescriptorResolver, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, traceBasedJavaResolverCache, javaPropertyInitializerEvaluator, samConversionResolver, javaSourceElementFactory, singleModuleClassResolver);
|
||||
this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, getModule());
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, getModule());
|
||||
this.globalSearchScope = com.intellij.psi.search.GlobalSearchScope.allScope(project);
|
||||
this.javaDescriptorResolverPostConstruct = new JavaDescriptorResolverPostConstruct();
|
||||
this.javaClassDataFinder = new JavaClassDataFinder(virtualFileFinder, deserializedDescriptorResolver);
|
||||
this.binaryClassAnnotationAndConstantLoader = new BinaryClassAnnotationAndConstantLoaderImpl(getModule(), lockBasedStorageManager, virtualFileFinder, traceBasedErrorReporter);
|
||||
this.deserializationComponentsForJava = new DeserializationComponentsForJava(lockBasedStorageManager, getModule(), javaClassDataFinder, binaryClassAnnotationAndConstantLoader, lazyJavaPackageFragmentProvider);
|
||||
|
||||
this.javaClassFinder.setComponentPostConstruct(javaDescriptorResolverPostConstruct);
|
||||
this.javaClassFinder.setProject(project);
|
||||
this.javaClassFinder.setScope(globalSearchScope);
|
||||
|
||||
traceBasedExternalSignatureResolver.setExternalAnnotationResolver(psiBasedExternalAnnotationResolver);
|
||||
traceBasedExternalSignatureResolver.setProject(project);
|
||||
traceBasedExternalSignatureResolver.setTrace(bindingTrace);
|
||||
|
||||
traceBasedJavaResolverCache.setTrace(bindingTrace);
|
||||
|
||||
traceBasedErrorReporter.setTrace(bindingTrace);
|
||||
|
||||
psiBasedMethodSignatureChecker.setExternalAnnotationResolver(psiBasedExternalAnnotationResolver);
|
||||
psiBasedMethodSignatureChecker.setExternalSignatureResolver(traceBasedExternalSignatureResolver);
|
||||
|
||||
singleModuleClassResolver.setResolver(javaDescriptorResolver);
|
||||
|
||||
javaDescriptorResolverPostConstruct.setModule(module);
|
||||
javaDescriptorResolverPostConstruct.setProject(project);
|
||||
javaDescriptorResolverPostConstruct.setTrace(bindingTrace);
|
||||
|
||||
deserializedDescriptorResolver.setComponents(deserializationComponentsForJava);
|
||||
|
||||
javaClassFinder.initialize();
|
||||
|
||||
javaDescriptorResolverPostConstruct.postCreate();
|
||||
|
||||
}
|
||||
|
||||
@PreDestroy
|
||||
public void destroy() {
|
||||
}
|
||||
|
||||
public GlobalContextImpl getGlobalContext() {
|
||||
return this.globalContext;
|
||||
}
|
||||
|
||||
public ModuleDescriptorImpl getModule() {
|
||||
return this.module;
|
||||
}
|
||||
|
||||
public JavaDescriptorResolver getJavaDescriptorResolver() {
|
||||
return this.javaDescriptorResolver;
|
||||
}
|
||||
|
||||
public JavaClassFinderImpl getJavaClassFinder() {
|
||||
return this.javaClassFinder;
|
||||
}
|
||||
|
||||
}
|
||||
-43
@@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
||||
import org.jetbrains.kotlin.resolve.BindingTrace;
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||
|
||||
public class InjectorForJavaDescriptorResolverUtil {
|
||||
@NotNull
|
||||
public static InjectorForJavaDescriptorResolver create(
|
||||
@NotNull Project project,
|
||||
@NotNull BindingTrace bindingTrace,
|
||||
boolean dependOnBuiltins
|
||||
) {
|
||||
InjectorForJavaDescriptorResolver injector = new InjectorForJavaDescriptorResolver(project, bindingTrace);
|
||||
ModuleDescriptorImpl module = injector.getModule();
|
||||
module.initialize(injector.getJavaDescriptorResolver().getPackageFragmentProvider());
|
||||
module.addDependencyOnModule(module);
|
||||
if (dependOnBuiltins) {
|
||||
module.addDependencyOnModule(KotlinBuiltIns.getInstance().getBuiltInsModule());
|
||||
}
|
||||
module.seal();
|
||||
|
||||
return injector;
|
||||
}
|
||||
}
|
||||
+8
-4
@@ -172,7 +172,7 @@ public class InjectorForLazyResolveWithJava {
|
||||
this.javaPropertyInitializerEvaluator = new JavaPropertyInitializerEvaluatorImpl();
|
||||
this.samConversionResolver = SamConversionResolverImpl.INSTANCE$;
|
||||
this.javaSourceElementFactory = new JavaSourceElementFactoryImpl();
|
||||
this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, javaClassFinder, virtualFileFinder, deserializedDescriptorResolver, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, lazyResolveBasedCache, javaPropertyInitializerEvaluator, samConversionResolver, javaSourceElementFactory, moduleClassResolver);
|
||||
this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, getJavaClassFinder(), virtualFileFinder, deserializedDescriptorResolver, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, lazyResolveBasedCache, javaPropertyInitializerEvaluator, samConversionResolver, javaSourceElementFactory, moduleClassResolver);
|
||||
this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, module);
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, module);
|
||||
this.javaFlexibleTypeCapabilitiesProvider = new JavaFlexibleTypeCapabilitiesProvider();
|
||||
@@ -220,9 +220,9 @@ public class InjectorForLazyResolveWithJava {
|
||||
scopeProvider.setAdditionalFileScopesProvider(additionalFileScopeProvider);
|
||||
scopeProvider.setDeclarationScopeProvider(declarationScopeProvider);
|
||||
|
||||
javaClassFinder.setComponentPostConstruct(javaLazyAnalyzerPostConstruct);
|
||||
javaClassFinder.setProject(project);
|
||||
javaClassFinder.setScope(moduleContentScope);
|
||||
this.javaClassFinder.setComponentPostConstruct(javaLazyAnalyzerPostConstruct);
|
||||
this.javaClassFinder.setProject(project);
|
||||
this.javaClassFinder.setScope(moduleContentScope);
|
||||
|
||||
traceBasedExternalSignatureResolver.setExternalAnnotationResolver(psiBasedExternalAnnotationResolver);
|
||||
traceBasedExternalSignatureResolver.setProject(project);
|
||||
@@ -325,4 +325,8 @@ public class InjectorForLazyResolveWithJava {
|
||||
return this.javaDescriptorResolver;
|
||||
}
|
||||
|
||||
public JavaClassFinderImpl getJavaClassFinder() {
|
||||
return this.javaClassFinder;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Copyright 2010-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||
import org.jetbrains.kotlin.context.ContextPackage;
|
||||
import org.jetbrains.kotlin.context.GlobalContextImpl;
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
||||
import org.jetbrains.kotlin.load.java.lazy.SingleModuleClassResolver;
|
||||
import org.jetbrains.kotlin.psi.JetFile;
|
||||
import org.jetbrains.kotlin.resolve.BindingTrace;
|
||||
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM;
|
||||
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory;
|
||||
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactoryService;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
public class InjectorForLazyResolveWithJavaUtil {
|
||||
@NotNull
|
||||
public static InjectorForLazyResolveWithJava create(@NotNull Project project, @NotNull BindingTrace trace, boolean dependOnBuiltins) {
|
||||
ModuleDescriptorImpl module = TopDownAnalyzerFacadeForJVM.createJavaModule("<module>");
|
||||
|
||||
GlobalSearchScope moduleContentScope = GlobalSearchScope.allScope(project);
|
||||
GlobalContextImpl globalContext = ContextPackage.GlobalContext();
|
||||
DeclarationProviderFactory declarationProviderFactory = DeclarationProviderFactoryService.createDeclarationProviderFactory(
|
||||
project, globalContext.getStorageManager(), Collections.<JetFile>emptyList(), moduleContentScope
|
||||
);
|
||||
SingleModuleClassResolver resolver = new SingleModuleClassResolver();
|
||||
|
||||
InjectorForLazyResolveWithJava injector = new InjectorForLazyResolveWithJava(
|
||||
project, globalContext, trace, module, declarationProviderFactory, moduleContentScope, resolver
|
||||
);
|
||||
|
||||
resolver.setResolver(injector.getJavaDescriptorResolver());
|
||||
|
||||
module.addDependencyOnModule(module);
|
||||
module.initialize(injector.getJavaDescriptorResolver().getPackageFragmentProvider());
|
||||
if (dependOnBuiltins) {
|
||||
module.addDependencyOnModule(KotlinBuiltIns.getInstance().getBuiltInsModule());
|
||||
}
|
||||
module.seal();
|
||||
|
||||
return injector;
|
||||
}
|
||||
}
|
||||
-17
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.resolve.jvm
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import javax.inject.Inject
|
||||
import javax.annotation.PostConstruct
|
||||
import org.jetbrains.kotlin.resolve.BindingTrace
|
||||
@@ -42,19 +41,3 @@ public class JavaLazyAnalyzerPostConstruct : JavaClassFinderPostConstruct() {
|
||||
CodeAnalyzerInitializer.getInstance(project!!).initialize(trace!!, codeAnalyzer!!.getModuleDescriptor(), codeAnalyzer)
|
||||
}
|
||||
}
|
||||
|
||||
public class JavaDescriptorResolverPostConstruct : JavaClassFinderPostConstruct() {
|
||||
public var project: Project? = null
|
||||
[Inject] set
|
||||
|
||||
public var trace: BindingTrace? = null
|
||||
[Inject] set
|
||||
|
||||
public var module: ModuleDescriptor? = null
|
||||
[Inject] set
|
||||
|
||||
[PostConstruct] override fun postCreate() {
|
||||
CodeAnalyzerInitializer.getInstance(project!!).initialize(trace!!, module!!, null)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.psi.JetFile
|
||||
import org.jetbrains.kotlin.storage.StorageManager
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import java.util.HashSet
|
||||
import kotlin.platform.platformStatic
|
||||
|
||||
public abstract class DeclarationProviderFactoryService {
|
||||
|
||||
@@ -35,8 +36,7 @@ public abstract class DeclarationProviderFactoryService {
|
||||
): DeclarationProviderFactory
|
||||
|
||||
class object {
|
||||
|
||||
public fun createDeclarationProviderFactory(
|
||||
public platformStatic fun createDeclarationProviderFactory(
|
||||
project: Project,
|
||||
storageManager: StorageManager,
|
||||
syntheticFiles: Collection<JetFile>,
|
||||
|
||||
+9
-9
@@ -25,8 +25,8 @@ import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport;
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.JetCoreEnvironment;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorVisitorEmptyBodies;
|
||||
import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolver;
|
||||
import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolverUtil;
|
||||
import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil;
|
||||
import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJava;
|
||||
import org.jetbrains.kotlin.load.java.JavaBindingContext;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap;
|
||||
@@ -75,17 +75,17 @@ public abstract class AbstractSdkAnnotationsValidityTest extends UsefulTestCase
|
||||
JetCoreEnvironment commonEnvironment = createEnvironment(parentDisposable);
|
||||
|
||||
BindingTrace trace = new CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace();
|
||||
InjectorForJavaDescriptorResolver injector =
|
||||
InjectorForJavaDescriptorResolverUtil.create(commonEnvironment.getProject(), trace, false);
|
||||
InjectorForLazyResolveWithJava injector =
|
||||
InjectorForLazyResolveWithJavaUtil.create(commonEnvironment.getProject(), trace, false);
|
||||
ModuleDescriptor module = injector.getResolveSession().getModuleDescriptor();
|
||||
|
||||
BindingContext bindingContext = trace.getBindingContext();
|
||||
|
||||
AlternativeSignatureErrorFindingVisitor visitor = new AlternativeSignatureErrorFindingVisitor(bindingContext, errors);
|
||||
AlternativeSignatureErrorFindingVisitor visitor =
|
||||
new AlternativeSignatureErrorFindingVisitor(trace.getBindingContext(), errors);
|
||||
|
||||
int chunkStart = chunkIndex * CLASSES_IN_CHUNK;
|
||||
for (FqName javaClass : affectedClasses.subList(chunkStart, Math.min(chunkStart + CLASSES_IN_CHUNK, affectedClasses.size()))) {
|
||||
ClassDescriptor topLevelClass = resolveTopLevelClass(injector.getModule(), javaClass);
|
||||
PackageViewDescriptor topLevelPackage = injector.getModule().getPackage(javaClass);
|
||||
ClassDescriptor topLevelClass = resolveTopLevelClass(module, javaClass);
|
||||
PackageViewDescriptor topLevelPackage = module.getPackage(javaClass);
|
||||
if (topLevelClass == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -33,10 +33,10 @@ import org.jetbrains.kotlin.codegen.GenerationUtils;
|
||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
|
||||
import org.jetbrains.kotlin.codegen.state.GenerationState;
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
||||
import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolver;
|
||||
import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolverUtil;
|
||||
import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil;
|
||||
import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJava;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.psi.JetFile;
|
||||
@@ -93,9 +93,9 @@ public final class LoadDescriptorUtil {
|
||||
JetCoreEnvironment jetCoreEnvironment =
|
||||
JetCoreEnvironment.createForTests(disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES);
|
||||
BindingTrace trace = new CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace();
|
||||
InjectorForJavaDescriptorResolver injector =
|
||||
InjectorForJavaDescriptorResolverUtil.create(jetCoreEnvironment.getProject(), trace, true);
|
||||
ModuleDescriptorImpl module = injector.getModule();
|
||||
InjectorForLazyResolveWithJava injector =
|
||||
InjectorForLazyResolveWithJavaUtil.create(jetCoreEnvironment.getProject(), trace, true);
|
||||
ModuleDescriptor module = injector.getResolveSession().getModuleDescriptor();
|
||||
|
||||
PackageViewDescriptor packageView = module.getPackage(TEST_PACKAGE_FQNAME);
|
||||
assert packageView != null;
|
||||
|
||||
+5
-5
@@ -31,8 +31,8 @@ import org.jetbrains.kotlin.cli.jvm.compiler.JetCoreEnvironment;
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolver;
|
||||
import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolverUtil;
|
||||
import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil;
|
||||
import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJava;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.resolve.BindingTraceContext;
|
||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||
@@ -179,9 +179,9 @@ public class ResolveDescriptorsFromExternalLibraries {
|
||||
}
|
||||
}
|
||||
|
||||
InjectorForJavaDescriptorResolver injector =
|
||||
InjectorForJavaDescriptorResolverUtil.create(jetCoreEnvironment.getProject(), new BindingTraceContext(), false);
|
||||
ModuleDescriptor moduleDescriptor = injector.getModule();
|
||||
InjectorForLazyResolveWithJava injector =
|
||||
InjectorForLazyResolveWithJavaUtil.create(jetCoreEnvironment.getProject(), new BindingTraceContext(), false);
|
||||
ModuleDescriptor moduleDescriptor = injector.getResolveSession().getModuleDescriptor();
|
||||
|
||||
boolean hasErrors;
|
||||
try {
|
||||
|
||||
@@ -22,8 +22,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolver;
|
||||
import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolverUtil;
|
||||
import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil;
|
||||
import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJava;
|
||||
import org.jetbrains.kotlin.di.InjectorForTests;
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass;
|
||||
import org.jetbrains.kotlin.load.java.structure.impl.JavaClassImpl;
|
||||
@@ -117,7 +117,7 @@ public class JetExpectedResolveDataUtil {
|
||||
@NotNull
|
||||
private static PsiClass findClass(String qualifiedName, Project project) {
|
||||
BindingTraceContext trace = new CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace();
|
||||
InjectorForJavaDescriptorResolver injector = InjectorForJavaDescriptorResolverUtil.create(project, trace, false);
|
||||
InjectorForLazyResolveWithJava injector = InjectorForLazyResolveWithJavaUtil.create(project, trace, false);
|
||||
JavaClass javaClass = injector.getJavaClassFinder().findClass(ClassId.topLevel(new FqName(qualifiedName)));
|
||||
Assert.assertNotNull("Class wasn't found: " + qualifiedName, javaClass);
|
||||
assertInstanceOf(javaClass, JavaClassImpl.class);
|
||||
|
||||
@@ -27,8 +27,8 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.impl.ReceiverParameterDescriptorImpl;
|
||||
import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolver;
|
||||
import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolverUtil;
|
||||
import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil;
|
||||
import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJava;
|
||||
import org.jetbrains.kotlin.di.InjectorForTests;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.psi.JetExpression;
|
||||
@@ -593,8 +593,8 @@ public class JetTypeCheckerTest extends JetLiteFixture {
|
||||
WritableScopeImpl writableScope = new WritableScopeImpl(
|
||||
scope, scope.getContainingDeclaration(), RedeclarationHandler.DO_NOTHING, "JetTypeCheckerTest.addImports");
|
||||
BindingTraceContext trace = new CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace();
|
||||
InjectorForJavaDescriptorResolver injector = InjectorForJavaDescriptorResolverUtil.create(getProject(), trace, true);
|
||||
ModuleDescriptor module = injector.getModule();
|
||||
InjectorForLazyResolveWithJava injector = InjectorForLazyResolveWithJavaUtil.create(getProject(), trace, true);
|
||||
ModuleDescriptor module = injector.getResolveSession().getModuleDescriptor();
|
||||
for (ImportPath defaultImport : module.getDefaultImports()) {
|
||||
FqName fqName = defaultImport.fqnPart();
|
||||
if (defaultImport.isAllUnder()) {
|
||||
|
||||
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.generators.injectors
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.kotlin.context.GlobalContext
|
||||
import org.jetbrains.kotlin.context.GlobalContextImpl
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||
import org.jetbrains.kotlin.resolve.*
|
||||
@@ -40,20 +39,17 @@ import org.jetbrains.kotlin.load.java.lazy.ModuleClassResolver
|
||||
import org.jetbrains.kotlin.load.kotlin.DeserializationComponentsForJava
|
||||
import org.jetbrains.kotlin.load.java.lazy.SingleModuleClassResolver
|
||||
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory
|
||||
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM
|
||||
import org.jetbrains.kotlin.load.kotlin.KotlinJvmCheckerProvider
|
||||
import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer
|
||||
import org.jetbrains.kotlin.load.java.JavaFlexibleTypeCapabilitiesProvider
|
||||
import org.jetbrains.kotlin.context.LazyResolveToken
|
||||
import org.jetbrains.kotlin.resolve.jvm.JavaLazyAnalyzerPostConstruct
|
||||
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolverPostConstruct
|
||||
import org.jetbrains.kotlin.resolve.lazy.ScopeProvider
|
||||
import org.jetbrains.kotlin.js.resolve.KotlinJsCheckerProvider
|
||||
import org.jetbrains.kotlin.types.DynamicTypesAllowed
|
||||
import org.jetbrains.kotlin.types.DynamicTypesSettings
|
||||
import org.jetbrains.kotlin.resolve.lazy.NoTopLevelDescriptorProvider
|
||||
import org.jetbrains.kotlin.resolve.lazy.NoFileScopeProvider
|
||||
import org.jetbrains.kotlin.types.expressions.LocalClassifierAnalyzer
|
||||
import org.jetbrains.kotlin.types.expressions.LocalClassDescriptorManager
|
||||
import org.jetbrains.kotlin.types.expressions.DeclarationScopeProviderForLocalClassifierAnalyzer
|
||||
import org.jetbrains.kotlin.types.expressions.LocalLazyDeclarationResolver
|
||||
@@ -79,7 +75,6 @@ public fun createInjectorGenerators(): List<DependencyInjectorGenerator> =
|
||||
generatorForLazyTopDownAnalyzerBasic(),
|
||||
generatorForLazyLocalClassifierAnalyzer(),
|
||||
generatorForTopDownAnalyzerForJvm(),
|
||||
generatorForJavaDescriptorResolver(),
|
||||
generatorForLazyResolveWithJava(),
|
||||
generatorForTopDownAnalyzerForJs(),
|
||||
generatorForMacro(),
|
||||
@@ -147,42 +142,11 @@ private fun generatorForTopDownAnalyzerForJvm() =
|
||||
commonForJavaTopDownAnalyzer()
|
||||
}
|
||||
|
||||
private fun generatorForJavaDescriptorResolver() =
|
||||
generator("compiler/frontend.java/src", DI_DEFAULT_PACKAGE, "InjectorForJavaDescriptorResolver") {
|
||||
parameter<Project>()
|
||||
parameter<BindingTrace>()
|
||||
|
||||
publicField<GlobalContextImpl>(useAsContext = true,
|
||||
init = GivenExpression("org.jetbrains.kotlin.context.ContextPackage.GlobalContext()"))
|
||||
publicField<ModuleDescriptorImpl>(name = "module",
|
||||
init = GivenExpression(javaClass<TopDownAnalyzerFacadeForJVM>().getName() + ".createJavaModule(\"<fake-jdr-module>\")"))
|
||||
publicField<JavaDescriptorResolver>()
|
||||
publicField<JavaClassFinderImpl>()
|
||||
|
||||
field<GlobalSearchScope>(
|
||||
init = GivenExpression(javaClass<GlobalSearchScope>().getName() + ".allScope(project)"))
|
||||
|
||||
field<TraceBasedExternalSignatureResolver>()
|
||||
field<TraceBasedJavaResolverCache>()
|
||||
field<TraceBasedErrorReporter>()
|
||||
field<PsiBasedMethodSignatureChecker>()
|
||||
field<PsiBasedExternalAnnotationResolver>()
|
||||
field<JavaPropertyInitializerEvaluatorImpl>()
|
||||
field<SamConversionResolverImpl>()
|
||||
field<JavaSourceElementFactoryImpl>()
|
||||
field<SingleModuleClassResolver>()
|
||||
field<JavaDescriptorResolverPostConstruct>()
|
||||
|
||||
field<VirtualFileFinder>(
|
||||
init = GivenExpression(javaClass<VirtualFileFinder>().getName() + ".SERVICE.getInstance(project)"))
|
||||
}
|
||||
|
||||
private fun generatorForLazyResolveWithJava() =
|
||||
generator("compiler/frontend.java/src", DI_DEFAULT_PACKAGE, "InjectorForLazyResolveWithJava") {
|
||||
commonForResolveSessionBased()
|
||||
|
||||
parameter<GlobalSearchScope>(name = "moduleContentScope")
|
||||
|
||||
parameter<ModuleClassResolver>()
|
||||
|
||||
publicField<JavaDescriptorResolver>()
|
||||
@@ -192,7 +156,7 @@ private fun generatorForLazyResolveWithJava() =
|
||||
+ ".SERVICE.getInstance(project).create(moduleContentScope)")
|
||||
)
|
||||
|
||||
field<JavaClassFinderImpl>()
|
||||
publicField<JavaClassFinderImpl>()
|
||||
field<TraceBasedExternalSignatureResolver>()
|
||||
field<LazyResolveBasedCache>()
|
||||
field<TraceBasedErrorReporter>()
|
||||
|
||||
Reference in New Issue
Block a user