Components across the project use StorageManager

This commit is contained in:
Andrey Breslav
2014-01-24 20:21:26 +04:00
parent d7e256e992
commit 6a29c38e5b
25 changed files with 140 additions and 68 deletions
@@ -22,7 +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.storage.StorageManager;
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
import com.intellij.openapi.project.Project;
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
@@ -61,7 +61,7 @@ public class InjectorForTopDownAnalyzerForJs {
private final ControlFlowAnalyzer controlFlowAnalyzer;
private final DeclarationsChecker declarationsChecker;
private final DescriptorResolver descriptorResolver;
private final LockBasedStorageManager storageManager;
private final StorageManager storageManager;
private final CallResolverExtensionProvider callResolverExtensionProvider;
private final Project project;
private final TopDownAnalysisParameters topDownAnalysisParameters;
@@ -101,7 +101,7 @@ public class InjectorForTopDownAnalyzerForJs {
this.controlFlowAnalyzer = new ControlFlowAnalyzer();
this.declarationsChecker = new DeclarationsChecker();
this.descriptorResolver = new DescriptorResolver();
this.storageManager = new LockBasedStorageManager();
this.storageManager = topDownAnalysisParameters.getStorageManager();
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
this.project = project;
this.topDownAnalysisParameters = topDownAnalysisParameters;
@@ -114,7 +114,7 @@ public class InjectorForTopDownAnalyzerForJs {
this.annotationResolver = new AnnotationResolver();
this.callResolver = new CallResolver();
this.argumentTypeResolver = new ArgumentTypeResolver();
this.expressionTypingServices = new ExpressionTypingServices();
this.expressionTypingServices = new ExpressionTypingServices(storageManager, platformToKotlinClassMap);
this.callExpressionResolver = new CallExpressionResolver();
this.typeResolver = new TypeResolver();
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
@@ -162,6 +162,7 @@ public class InjectorForTopDownAnalyzerForJs {
this.descriptorResolver.setAnnotationResolver(annotationResolver);
this.descriptorResolver.setDelegatedPropertyResolver(delegatedPropertyResolver);
this.descriptorResolver.setExpressionTypingServices(expressionTypingServices);
this.descriptorResolver.setStorageManager(storageManager);
this.descriptorResolver.setTypeResolver(typeResolver);
declarationResolver.setAnnotationResolver(annotationResolver);
@@ -187,7 +188,6 @@ public class InjectorForTopDownAnalyzerForJs {
expressionTypingServices.setCallResolver(callResolver);
expressionTypingServices.setDescriptorResolver(descriptorResolver);
expressionTypingServices.setExtensionProvider(callResolverExtensionProvider);
expressionTypingServices.setPlatformToKotlinClassMap(platformToKotlinClassMap);
expressionTypingServices.setProject(project);
expressionTypingServices.setTypeResolver(typeResolver);
@@ -34,10 +34,10 @@ import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.*;
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession;
import org.jetbrains.jet.lang.resolve.lazy.declarations.FileBasedDeclarationProviderFactory;
import org.jetbrains.jet.storage.LockBasedLazyResolveStorageManager;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name;
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
import org.jetbrains.jet.storage.LockBasedLazyResolveStorageManager;
import org.jetbrains.jet.storage.LockBasedStorageManager;
import org.jetbrains.k2js.config.Config;
@@ -91,7 +91,7 @@ public final class AnalyzerFacadeForJS {
Predicate<PsiFile> completely = Predicates.and(notLibFiles(config.getLibFiles()), filesToAnalyzeCompletely);
TopDownAnalysisParameters topDownAnalysisParameters = new TopDownAnalysisParameters(
completely, false, false, Collections.<AnalyzerScriptParameter>emptyList());
new LockBasedStorageManager(), completely, false, false, Collections.<AnalyzerScriptParameter>emptyList());
ModuleDescriptor libraryModule = config.getLibraryModule();
if (libraryModule != null) {