StorageManager&ExceptionTracker delivered where needed
- GlobalContext introduced to group the two - Caches track exceptions
This commit is contained in:
@@ -21,9 +21,10 @@ import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
||||
import org.jetbrains.jet.lang.resolve.TypeResolver;
|
||||
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
|
||||
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
||||
import org.jetbrains.jet.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.jet.storage.StorageManager;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||
import org.jetbrains.jet.context.GlobalContext;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
||||
@@ -44,9 +45,10 @@ public class InjectorForTests {
|
||||
private final TypeResolver typeResolver;
|
||||
private final CallResolver callResolver;
|
||||
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
||||
private final LockBasedStorageManager lockBasedStorageManager;
|
||||
private final StorageManager storageManager;
|
||||
private final KotlinBuiltIns kotlinBuiltIns;
|
||||
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||
private final GlobalContext globalContext;
|
||||
private final Project project;
|
||||
private final ModuleDescriptor moduleDescriptor;
|
||||
private final AnnotationResolver annotationResolver;
|
||||
@@ -61,12 +63,13 @@ public class InjectorForTests {
|
||||
@NotNull ModuleDescriptor moduleDescriptor
|
||||
) {
|
||||
this.descriptorResolver = new DescriptorResolver();
|
||||
this.lockBasedStorageManager = new LockBasedStorageManager();
|
||||
this.globalContext = org.jetbrains.jet.context.ContextPackage.GlobalContext();
|
||||
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
|
||||
this.expressionTypingServices = new ExpressionTypingServices(lockBasedStorageManager, platformToKotlinClassMap);
|
||||
this.expressionTypingServices = new ExpressionTypingServices(globalContext, platformToKotlinClassMap);
|
||||
this.typeResolver = new TypeResolver();
|
||||
this.callResolver = new CallResolver();
|
||||
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
||||
this.storageManager = globalContext.getStorageManager();
|
||||
this.kotlinBuiltIns = KotlinBuiltIns.getInstance();
|
||||
this.project = project;
|
||||
this.moduleDescriptor = moduleDescriptor;
|
||||
@@ -80,7 +83,7 @@ public class InjectorForTests {
|
||||
this.descriptorResolver.setAnnotationResolver(annotationResolver);
|
||||
this.descriptorResolver.setDelegatedPropertyResolver(delegatedPropertyResolver);
|
||||
this.descriptorResolver.setExpressionTypingServices(expressionTypingServices);
|
||||
this.descriptorResolver.setStorageManager(lockBasedStorageManager);
|
||||
this.descriptorResolver.setStorageManager(storageManager);
|
||||
this.descriptorResolver.setTypeResolver(typeResolver);
|
||||
|
||||
this.expressionTypingServices.setAnnotationResolver(annotationResolver);
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedClass
|
||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
|
||||
import org.jetbrains.jet.lang.descriptors.*;
|
||||
import org.jetbrains.jet.lang.resolve.*;
|
||||
import org.jetbrains.jet.storage.ExceptionTracker;
|
||||
import org.jetbrains.jet.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
||||
import org.jetbrains.jet.test.util.RecursiveDescriptorComparator;
|
||||
@@ -142,7 +143,13 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
||||
InjectorForTopDownAnalyzerForJvm injectorForAnalyzer = new InjectorForTopDownAnalyzerForJvm(
|
||||
environment.getProject(),
|
||||
new TopDownAnalysisParameters(
|
||||
new LockBasedStorageManager(), Predicates.<PsiFile>alwaysFalse(), false, false, Collections.<AnalyzerScriptParameter>emptyList()),
|
||||
new LockBasedStorageManager(),
|
||||
new ExceptionTracker(), // dummy
|
||||
Predicates.<PsiFile>alwaysFalse(),
|
||||
false,
|
||||
false,
|
||||
Collections.<AnalyzerScriptParameter>emptyList()
|
||||
),
|
||||
trace,
|
||||
module);
|
||||
|
||||
|
||||
+5
-4
@@ -26,6 +26,8 @@ import org.jetbrains.jet.ConfigurationKind;
|
||||
import org.jetbrains.jet.JetTestUtils;
|
||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||
import org.jetbrains.jet.di.InjectorForLazyResolve;
|
||||
import org.jetbrains.jet.context.ContextPackage;
|
||||
import org.jetbrains.jet.context.GlobalContextImpl;
|
||||
import org.jetbrains.jet.lang.descriptors.*;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTraceContext;
|
||||
@@ -34,7 +36,6 @@ import org.jetbrains.jet.lang.resolve.lazy.declarations.FileBasedDeclarationProv
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||
import org.jetbrains.jet.storage.LockBasedStorageManagerWithExceptionTracking;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -60,10 +61,10 @@ public abstract class AbstractLazyResolveDescriptorRendererTest extends KotlinTe
|
||||
|
||||
final ModuleDescriptorImpl lazyModule = AnalyzerFacadeForJVM.createJavaModule("<lazy module>");
|
||||
lazyModule.addFragmentProvider(DependencyKind.BUILT_INS, KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider());
|
||||
LockBasedStorageManagerWithExceptionTracking storageManager = LockBasedStorageManagerWithExceptionTracking.create();
|
||||
GlobalContextImpl globalContext = ContextPackage.GlobalContext();
|
||||
final ResolveSession resolveSession = new InjectorForLazyResolve(
|
||||
getProject(), storageManager, lazyModule,
|
||||
new FileBasedDeclarationProviderFactory(storageManager, files),
|
||||
getProject(), globalContext, lazyModule,
|
||||
new FileBasedDeclarationProviderFactory(globalContext.getStorageManager(), files),
|
||||
new BindingTraceContext()).getResolveSession();
|
||||
|
||||
final List<DeclarationDescriptor> descriptors = new ArrayList<DeclarationDescriptor>();
|
||||
|
||||
@@ -24,6 +24,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.JetTestUtils;
|
||||
import org.jetbrains.jet.cli.jvm.compiler.CliLightClassGenerationSupport;
|
||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||
import org.jetbrains.jet.context.ContextPackage;
|
||||
import org.jetbrains.jet.context.GlobalContextImpl;
|
||||
import org.jetbrains.jet.di.InjectorForJavaDescriptorResolver;
|
||||
import org.jetbrains.jet.di.InjectorForJavaDescriptorResolverUtil;
|
||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzer;
|
||||
@@ -40,7 +42,6 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
||||
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.lang.resolve.name.SpecialNames;
|
||||
import org.jetbrains.jet.storage.LockBasedStorageManager;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -53,8 +54,9 @@ public class LazyResolveTestUtil {
|
||||
public static InjectorForTopDownAnalyzer createInjectorForTDA(JetCoreEnvironment environment) {
|
||||
JetTestUtils.newTrace(environment);
|
||||
|
||||
GlobalContextImpl globalContext = ContextPackage.GlobalContext();
|
||||
TopDownAnalysisParameters params = new TopDownAnalysisParameters(
|
||||
new LockBasedStorageManager(), Predicates.<PsiFile>alwaysTrue(), false, false, Collections.<AnalyzerScriptParameter>emptyList());
|
||||
globalContext.getStorageManager(), globalContext.getExceptionTracker(), Predicates.<PsiFile>alwaysTrue(), false, false, Collections.<AnalyzerScriptParameter>emptyList());
|
||||
CliLightClassGenerationSupport support = CliLightClassGenerationSupport.getInstanceForCli(environment.getProject());
|
||||
BindingTrace sharedTrace = support.getTrace();
|
||||
ModuleDescriptorImpl sharedModule = support.getModule();
|
||||
|
||||
Reference in New Issue
Block a user