Refactoring: move common code for ResolveSession init to method
This commit is contained in:
+11
-11
@@ -19,13 +19,13 @@ package org.jetbrains.jet.di;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.context.GlobalContext;
|
||||
import org.jetbrains.jet.storage.StorageManager;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.descriptors.impl.ModuleDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.declarations.DeclarationProviderFactory;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.ModuleClassResolver;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.ModuleClassResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaClassFinderImpl;
|
||||
@@ -79,13 +79,13 @@ public class InjectorForLazyResolveWithJava {
|
||||
private final Project project;
|
||||
private final GlobalContext globalContext;
|
||||
private final StorageManager storageManager;
|
||||
private final BindingTrace bindingTrace;
|
||||
private final ModuleDescriptorImpl module;
|
||||
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||
private final GlobalSearchScope moduleContentScope;
|
||||
private final BindingTrace bindingTrace;
|
||||
private final DeclarationProviderFactory declarationProviderFactory;
|
||||
private final ModuleClassResolver moduleClassResolver;
|
||||
private final ResolveSession resolveSession;
|
||||
private final GlobalSearchScope moduleContentScope;
|
||||
private final ModuleClassResolver moduleClassResolver;
|
||||
private final JavaDescriptorResolver javaDescriptorResolver;
|
||||
private final VirtualFileFinder virtualFileFinder;
|
||||
private final JavaClassFinderImpl javaClassFinder;
|
||||
@@ -133,22 +133,22 @@ public class InjectorForLazyResolveWithJava {
|
||||
public InjectorForLazyResolveWithJava(
|
||||
@NotNull Project project,
|
||||
@NotNull GlobalContext globalContext,
|
||||
@NotNull ModuleDescriptorImpl module,
|
||||
@NotNull GlobalSearchScope moduleContentScope,
|
||||
@NotNull BindingTrace bindingTrace,
|
||||
@NotNull ModuleDescriptorImpl module,
|
||||
@NotNull DeclarationProviderFactory declarationProviderFactory,
|
||||
@NotNull GlobalSearchScope moduleContentScope,
|
||||
@NotNull ModuleClassResolver moduleClassResolver
|
||||
) {
|
||||
this.project = project;
|
||||
this.globalContext = globalContext;
|
||||
this.storageManager = globalContext.getStorageManager();
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.module = module;
|
||||
this.platformToKotlinClassMap = module.getPlatformToKotlinClassMap();
|
||||
this.moduleContentScope = moduleContentScope;
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.declarationProviderFactory = declarationProviderFactory;
|
||||
this.moduleClassResolver = moduleClassResolver;
|
||||
this.resolveSession = new ResolveSession(project, globalContext, module, declarationProviderFactory, bindingTrace);
|
||||
this.moduleContentScope = moduleContentScope;
|
||||
this.moduleClassResolver = moduleClassResolver;
|
||||
this.javaClassFinder = new JavaClassFinderImpl();
|
||||
this.virtualFileFinder = org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinderFactory.SERVICE.getInstance(project).create(moduleContentScope);
|
||||
this.traceBasedErrorReporter = new TraceBasedErrorReporter();
|
||||
|
||||
+46
-46
@@ -22,10 +22,10 @@ import org.jetbrains.jet.storage.StorageManager;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.descriptors.impl.ModuleDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.declarations.DeclarationProviderFactory;
|
||||
import org.jetbrains.jet.lang.resolve.LazyTopDownAnalyzer;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import org.jetbrains.jet.lang.resolve.LazyTopDownAnalyzer;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DeserializationComponentsForJava;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder;
|
||||
@@ -43,7 +43,6 @@ import org.jetbrains.jet.lang.resolve.java.lazy.SingleModuleClassResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaLazyAnalyzerPostConstruct;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaFlexibleTypeCapabilitiesProvider;
|
||||
import org.jetbrains.jet.lang.resolve.AdditionalCheckerProvider;
|
||||
import org.jetbrains.jet.lang.resolve.BodyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
|
||||
import org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver;
|
||||
@@ -64,20 +63,21 @@ import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
||||
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
||||
import org.jetbrains.jet.lang.resolve.calls.CandidateResolver;
|
||||
import org.jetbrains.jet.lang.resolve.calls.tasks.TaskPrioritizer;
|
||||
import org.jetbrains.jet.lang.psi.JetImportsFactory;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ScopeProvider;
|
||||
import org.jetbrains.jet.lang.resolve.ScriptBodyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.BodyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.ControlFlowAnalyzer;
|
||||
import org.jetbrains.jet.lang.resolve.DeclarationsChecker;
|
||||
import org.jetbrains.jet.lang.resolve.ModifiersChecker;
|
||||
import org.jetbrains.jet.lang.resolve.FunctionAnalyzerExtension;
|
||||
import org.jetbrains.jet.lang.resolve.ScriptBodyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.DeclarationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.ImportsResolver;
|
||||
import org.jetbrains.jet.lang.psi.JetImportsFactory;
|
||||
import org.jetbrains.jet.lang.resolve.OverloadResolver;
|
||||
import org.jetbrains.jet.lang.resolve.OverrideResolver;
|
||||
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
|
||||
import org.jetbrains.jet.lang.resolve.TypeHierarchyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.ScriptHeaderResolver;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ScopeProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.GlobalJavaResolverContext;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DeserializedDescriptorResolver;
|
||||
@@ -96,10 +96,10 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
private final BindingTrace bindingTrace;
|
||||
private final ModuleDescriptorImpl module;
|
||||
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||
private final GlobalSearchScope moduleContentScope;
|
||||
private final DeclarationProviderFactory declarationProviderFactory;
|
||||
private final LazyTopDownAnalyzer lazyTopDownAnalyzer;
|
||||
private final ResolveSession resolveSession;
|
||||
private final GlobalSearchScope moduleContentScope;
|
||||
private final LazyTopDownAnalyzer lazyTopDownAnalyzer;
|
||||
private final JavaDescriptorResolver javaDescriptorResolver;
|
||||
private final DeserializationComponentsForJava deserializationComponentsForJava;
|
||||
private final VirtualFileFinder virtualFileFinder;
|
||||
@@ -117,7 +117,6 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
private final JavaLazyAnalyzerPostConstruct javaLazyAnalyzerPostConstruct;
|
||||
private final JavaFlexibleTypeCapabilitiesProvider javaFlexibleTypeCapabilitiesProvider;
|
||||
private final AdditionalCheckerProvider additionalCheckerProvider;
|
||||
private final BodyResolver bodyResolver;
|
||||
private final AnnotationResolver annotationResolver;
|
||||
private final CallResolver callResolver;
|
||||
private final ArgumentTypeResolver argumentTypeResolver;
|
||||
@@ -138,20 +137,21 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
private final CallCompleter callCompleter;
|
||||
private final CandidateResolver candidateResolver;
|
||||
private final TaskPrioritizer taskPrioritizer;
|
||||
private final JetImportsFactory jetImportsFactory;
|
||||
private final ScopeProvider scopeProvider;
|
||||
private final ScriptBodyResolver scriptBodyResolver;
|
||||
private final BodyResolver bodyResolver;
|
||||
private final ControlFlowAnalyzer controlFlowAnalyzer;
|
||||
private final DeclarationsChecker declarationsChecker;
|
||||
private final ModifiersChecker modifiersChecker;
|
||||
private final FunctionAnalyzerExtension functionAnalyzerExtension;
|
||||
private final ScriptBodyResolver scriptBodyResolver;
|
||||
private final DeclarationResolver declarationResolver;
|
||||
private final ImportsResolver importsResolver;
|
||||
private final JetImportsFactory jetImportsFactory;
|
||||
private final OverloadResolver overloadResolver;
|
||||
private final OverrideResolver overrideResolver;
|
||||
private final TopDownAnalyzer topDownAnalyzer;
|
||||
private final TypeHierarchyResolver typeHierarchyResolver;
|
||||
private final ScriptHeaderResolver scriptHeaderResolver;
|
||||
private final ScopeProvider scopeProvider;
|
||||
private final LazyJavaPackageFragmentProvider lazyJavaPackageFragmentProvider;
|
||||
private final GlobalJavaResolverContext globalJavaResolverContext;
|
||||
private final DeserializedDescriptorResolver deserializedDescriptorResolver;
|
||||
@@ -163,8 +163,8 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
@NotNull GlobalContext globalContext,
|
||||
@NotNull BindingTrace bindingTrace,
|
||||
@NotNull ModuleDescriptorImpl module,
|
||||
@NotNull GlobalSearchScope moduleContentScope,
|
||||
@NotNull DeclarationProviderFactory declarationProviderFactory
|
||||
@NotNull DeclarationProviderFactory declarationProviderFactory,
|
||||
@NotNull GlobalSearchScope moduleContentScope
|
||||
) {
|
||||
this.project = project;
|
||||
this.globalContext = globalContext;
|
||||
@@ -172,10 +172,10 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.module = module;
|
||||
this.platformToKotlinClassMap = module.getPlatformToKotlinClassMap();
|
||||
this.moduleContentScope = moduleContentScope;
|
||||
this.declarationProviderFactory = declarationProviderFactory;
|
||||
this.lazyTopDownAnalyzer = new LazyTopDownAnalyzer();
|
||||
this.resolveSession = new ResolveSession(project, globalContext, module, declarationProviderFactory, bindingTrace);
|
||||
this.moduleContentScope = moduleContentScope;
|
||||
this.lazyTopDownAnalyzer = new LazyTopDownAnalyzer();
|
||||
this.javaClassFinder = new JavaClassFinderImpl();
|
||||
this.virtualFileFinder = org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinderFactory.SERVICE.getInstance(project).create(moduleContentScope);
|
||||
this.traceBasedErrorReporter = new TraceBasedErrorReporter();
|
||||
@@ -198,7 +198,6 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
this.javaLazyAnalyzerPostConstruct = new JavaLazyAnalyzerPostConstruct();
|
||||
this.javaFlexibleTypeCapabilitiesProvider = new JavaFlexibleTypeCapabilitiesProvider();
|
||||
this.additionalCheckerProvider = org.jetbrains.jet.lang.resolve.kotlin.JavaDeclarationCheckerProvider.INSTANCE$;
|
||||
this.bodyResolver = new BodyResolver();
|
||||
this.annotationResolver = new AnnotationResolver();
|
||||
this.callResolver = new CallResolver();
|
||||
this.argumentTypeResolver = new ArgumentTypeResolver();
|
||||
@@ -219,20 +218,29 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
this.candidateResolver = new CandidateResolver();
|
||||
this.callCompleter = new CallCompleter(argumentTypeResolver, candidateResolver);
|
||||
this.taskPrioritizer = new TaskPrioritizer(storageManager);
|
||||
this.jetImportsFactory = new JetImportsFactory();
|
||||
this.scopeProvider = new ScopeProvider(getResolveSession());
|
||||
this.scriptBodyResolver = new ScriptBodyResolver();
|
||||
this.bodyResolver = new BodyResolver();
|
||||
this.controlFlowAnalyzer = new ControlFlowAnalyzer();
|
||||
this.declarationsChecker = new DeclarationsChecker();
|
||||
this.modifiersChecker = new ModifiersChecker(bindingTrace, additionalCheckerProvider);
|
||||
this.functionAnalyzerExtension = new FunctionAnalyzerExtension();
|
||||
this.scriptBodyResolver = new ScriptBodyResolver();
|
||||
this.declarationResolver = new DeclarationResolver();
|
||||
this.importsResolver = new ImportsResolver();
|
||||
this.jetImportsFactory = new JetImportsFactory();
|
||||
this.overloadResolver = new OverloadResolver();
|
||||
this.overrideResolver = new OverrideResolver();
|
||||
this.topDownAnalyzer = new TopDownAnalyzer();
|
||||
this.typeHierarchyResolver = new TypeHierarchyResolver();
|
||||
this.scriptHeaderResolver = new ScriptHeaderResolver();
|
||||
this.scopeProvider = new ScopeProvider(getResolveSession());
|
||||
|
||||
this.resolveSession.setAnnotationResolve(annotationResolver);
|
||||
this.resolveSession.setDescriptorResolver(descriptorResolver);
|
||||
this.resolveSession.setJetImportFactory(jetImportsFactory);
|
||||
this.resolveSession.setQualifiedExpressionResolver(qualifiedExpressionResolver);
|
||||
this.resolveSession.setScopeProvider(scopeProvider);
|
||||
this.resolveSession.setScriptBodyResolver(scriptBodyResolver);
|
||||
this.resolveSession.setTypeResolver(typeResolver);
|
||||
|
||||
this.lazyTopDownAnalyzer.setBodyResolver(bodyResolver);
|
||||
this.lazyTopDownAnalyzer.setDeclarationResolver(declarationResolver);
|
||||
@@ -243,14 +251,6 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
this.lazyTopDownAnalyzer.setTopDownAnalyzer(topDownAnalyzer);
|
||||
this.lazyTopDownAnalyzer.setTrace(bindingTrace);
|
||||
|
||||
this.resolveSession.setAnnotationResolve(annotationResolver);
|
||||
this.resolveSession.setDescriptorResolver(descriptorResolver);
|
||||
this.resolveSession.setJetImportFactory(jetImportsFactory);
|
||||
this.resolveSession.setQualifiedExpressionResolver(qualifiedExpressionResolver);
|
||||
this.resolveSession.setScopeProvider(scopeProvider);
|
||||
this.resolveSession.setScriptBodyResolver(scriptBodyResolver);
|
||||
this.resolveSession.setTypeResolver(typeResolver);
|
||||
|
||||
javaClassFinder.setComponentPostConstruct(javaLazyAnalyzerPostConstruct);
|
||||
javaClassFinder.setProject(project);
|
||||
javaClassFinder.setScope(moduleContentScope);
|
||||
@@ -272,16 +272,6 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
javaLazyAnalyzerPostConstruct.setProject(project);
|
||||
javaLazyAnalyzerPostConstruct.setTrace(bindingTrace);
|
||||
|
||||
bodyResolver.setAnnotationResolver(annotationResolver);
|
||||
bodyResolver.setCallResolver(callResolver);
|
||||
bodyResolver.setControlFlowAnalyzer(controlFlowAnalyzer);
|
||||
bodyResolver.setDeclarationsChecker(declarationsChecker);
|
||||
bodyResolver.setDelegatedPropertyResolver(delegatedPropertyResolver);
|
||||
bodyResolver.setExpressionTypingServices(expressionTypingServices);
|
||||
bodyResolver.setFunctionAnalyzerExtension(functionAnalyzerExtension);
|
||||
bodyResolver.setScriptBodyResolverResolver(scriptBodyResolver);
|
||||
bodyResolver.setTrace(bindingTrace);
|
||||
|
||||
annotationResolver.setCallResolver(callResolver);
|
||||
annotationResolver.setStorageManager(storageManager);
|
||||
annotationResolver.setTypeResolver(typeResolver);
|
||||
@@ -332,6 +322,20 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
|
||||
candidateResolver.setArgumentTypeResolver(argumentTypeResolver);
|
||||
|
||||
jetImportsFactory.setProject(project);
|
||||
|
||||
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
|
||||
|
||||
bodyResolver.setAnnotationResolver(annotationResolver);
|
||||
bodyResolver.setCallResolver(callResolver);
|
||||
bodyResolver.setControlFlowAnalyzer(controlFlowAnalyzer);
|
||||
bodyResolver.setDeclarationsChecker(declarationsChecker);
|
||||
bodyResolver.setDelegatedPropertyResolver(delegatedPropertyResolver);
|
||||
bodyResolver.setExpressionTypingServices(expressionTypingServices);
|
||||
bodyResolver.setFunctionAnalyzerExtension(functionAnalyzerExtension);
|
||||
bodyResolver.setScriptBodyResolverResolver(scriptBodyResolver);
|
||||
bodyResolver.setTrace(bindingTrace);
|
||||
|
||||
controlFlowAnalyzer.setTrace(bindingTrace);
|
||||
|
||||
declarationsChecker.setDescriptorResolver(descriptorResolver);
|
||||
@@ -340,8 +344,6 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
|
||||
functionAnalyzerExtension.setTrace(bindingTrace);
|
||||
|
||||
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
|
||||
|
||||
declarationResolver.setAnnotationResolver(annotationResolver);
|
||||
declarationResolver.setDescriptorResolver(descriptorResolver);
|
||||
declarationResolver.setImportsResolver(importsResolver);
|
||||
@@ -352,8 +354,6 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver);
|
||||
importsResolver.setTrace(bindingTrace);
|
||||
|
||||
jetImportsFactory.setProject(project);
|
||||
|
||||
overloadResolver.setTrace(bindingTrace);
|
||||
|
||||
overrideResolver.setTrace(bindingTrace);
|
||||
@@ -387,14 +387,14 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
public void destroy() {
|
||||
}
|
||||
|
||||
public LazyTopDownAnalyzer getLazyTopDownAnalyzer() {
|
||||
return this.lazyTopDownAnalyzer;
|
||||
}
|
||||
|
||||
public ResolveSession getResolveSession() {
|
||||
return this.resolveSession;
|
||||
}
|
||||
|
||||
public LazyTopDownAnalyzer getLazyTopDownAnalyzer() {
|
||||
return this.lazyTopDownAnalyzer;
|
||||
}
|
||||
|
||||
public JavaDescriptorResolver getJavaDescriptorResolver() {
|
||||
return this.javaDescriptorResolver;
|
||||
}
|
||||
|
||||
@@ -64,9 +64,10 @@ public object JvmAnalyzerFacade : AnalyzerFacade<JvmResolverForModule, JvmPlatfo
|
||||
resolverForProject.resolverForModule(moduleInfo as M).javaDescriptorResolver
|
||||
}
|
||||
val injector = InjectorForLazyResolveWithJava(
|
||||
project, globalContext, moduleDescriptor, moduleContentScope,
|
||||
project, globalContext,
|
||||
CodeAnalyzerInitializer.getInstance(project).createTrace(),
|
||||
declarationProviderFactory, moduleClassResolver
|
||||
moduleDescriptor, declarationProviderFactory,
|
||||
moduleContentScope, moduleClassResolver
|
||||
)
|
||||
|
||||
val resolveSession = injector.getResolveSession()!!
|
||||
|
||||
+2
-2
@@ -130,8 +130,8 @@ public enum TopDownAnalyzerFacadeForJVM {
|
||||
topDownAnalysisParameters,
|
||||
trace,
|
||||
module,
|
||||
GlobalSearchScope.allScope(project),
|
||||
providerFactory
|
||||
providerFactory,
|
||||
GlobalSearchScope.allScope(project)
|
||||
);
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user