Using common storage manager for all lazy services
This commit is contained in:
+6
-1
@@ -18,6 +18,7 @@ package org.jetbrains.jet.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaClassFinderImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedExternalSignatureResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedJavaResolverCache;
|
||||
@@ -49,6 +50,7 @@ public class InjectorForJavaDescriptorResolver {
|
||||
|
||||
private final Project project;
|
||||
private final BindingTrace bindingTrace;
|
||||
private final LockBasedStorageManager storageManager;
|
||||
private final JavaClassFinderImpl javaClassFinder;
|
||||
private final TraceBasedExternalSignatureResolver traceBasedExternalSignatureResolver;
|
||||
private final TraceBasedJavaResolverCache traceBasedJavaResolverCache;
|
||||
@@ -79,6 +81,7 @@ public class InjectorForJavaDescriptorResolver {
|
||||
) {
|
||||
this.project = project;
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.storageManager = new LockBasedStorageManager();
|
||||
this.javaClassFinder = new JavaClassFinderImpl();
|
||||
this.traceBasedExternalSignatureResolver = new TraceBasedExternalSignatureResolver();
|
||||
this.traceBasedJavaResolverCache = new TraceBasedJavaResolverCache();
|
||||
@@ -93,7 +96,7 @@ public class InjectorForJavaDescriptorResolver {
|
||||
this.javaAnnotationArgumentResolver = new JavaAnnotationArgumentResolver();
|
||||
this.javaClassResolver = new JavaClassResolver();
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer(storageManager);
|
||||
this.javaFunctionResolver = new JavaFunctionResolver();
|
||||
this.javaTypeParameterResolver = new JavaTypeParameterResolver();
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
@@ -126,6 +129,7 @@ public class InjectorForJavaDescriptorResolver {
|
||||
this.javaDescriptorResolver.setModule(module);
|
||||
this.javaDescriptorResolver.setPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
this.javaDescriptorResolver.setSignatureChecker(psiBasedMethodSignatureChecker);
|
||||
this.javaDescriptorResolver.setStorageManager(storageManager);
|
||||
|
||||
javaPackageFragmentProvider.setCache(traceBasedJavaResolverCache);
|
||||
javaPackageFragmentProvider.setDeserializedDescriptorResolver(deserializedDescriptorResolver);
|
||||
@@ -158,6 +162,7 @@ public class InjectorForJavaDescriptorResolver {
|
||||
deserializedDescriptorResolver.setErrorReporter(traceBasedErrorReporter);
|
||||
deserializedDescriptorResolver.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||
deserializedDescriptorResolver.setJavaPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
deserializedDescriptorResolver.setStorageManager(storageManager);
|
||||
|
||||
annotationDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
annotationDescriptorDeserializer.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||
|
||||
+6
-1
@@ -22,6 +22,7 @@ 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.DescriptorResolver;
|
||||
import org.jetbrains.jet.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
||||
@@ -81,6 +82,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
private final ControlFlowAnalyzer controlFlowAnalyzer;
|
||||
private final DeclarationsChecker declarationsChecker;
|
||||
private final DescriptorResolver descriptorResolver;
|
||||
private final LockBasedStorageManager storageManager;
|
||||
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
||||
private final Project project;
|
||||
private final TopDownAnalysisParameters topDownAnalysisParameters;
|
||||
@@ -141,6 +143,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.controlFlowAnalyzer = new ControlFlowAnalyzer();
|
||||
this.declarationsChecker = new DeclarationsChecker();
|
||||
this.descriptorResolver = new DescriptorResolver();
|
||||
this.storageManager = new LockBasedStorageManager();
|
||||
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
||||
this.project = project;
|
||||
this.topDownAnalysisParameters = topDownAnalysisParameters;
|
||||
@@ -180,7 +183,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.javaAnnotationArgumentResolver = new JavaAnnotationArgumentResolver();
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer(storageManager);
|
||||
this.javaFunctionResolver = new JavaFunctionResolver();
|
||||
this.javaTypeParameterResolver = new JavaTypeParameterResolver();
|
||||
this.javaValueParameterResolver = new JavaValueParameterResolver();
|
||||
@@ -235,6 +238,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.javaDescriptorResolver.setModule(moduleDescriptor);
|
||||
this.javaDescriptorResolver.setPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
this.javaDescriptorResolver.setSignatureChecker(psiBasedMethodSignatureChecker);
|
||||
this.javaDescriptorResolver.setStorageManager(storageManager);
|
||||
|
||||
javaClassFinder.setProject(project);
|
||||
|
||||
@@ -352,6 +356,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
deserializedDescriptorResolver.setErrorReporter(traceBasedErrorReporter);
|
||||
deserializedDescriptorResolver.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||
deserializedDescriptorResolver.setJavaPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
deserializedDescriptorResolver.setStorageManager(storageManager);
|
||||
|
||||
annotationDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
annotationDescriptorDeserializer.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||
|
||||
Reference in New Issue
Block a user