PlatformToKotlinClassMap can be obtained from the module

This commit is contained in:
Andrey Breslav
2014-02-18 19:46:06 +04:00
parent cbc132efba
commit 5478204e2d
6 changed files with 14 additions and 19 deletions
@@ -21,11 +21,11 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
import org.jetbrains.jet.storage.StorageManager;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap;
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;
@@ -72,11 +72,11 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
private final StorageManager storageManager;
private final BindingTrace bindingTrace;
private final ModuleDescriptorImpl moduleDescriptor;
private final PlatformToKotlinClassMap platformToKotlinClassMap;
private final TopDownAnalyzer topDownAnalyzer;
private final TopDownAnalysisContext topDownAnalysisContext;
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
private final JavaDescriptorResolver javaDescriptorResolver;
private final JavaToKotlinClassMap javaToKotlinClassMap;
private final JavaClassFinderImpl javaClassFinder;
private final TraceBasedExternalSignatureResolver traceBasedExternalSignatureResolver;
private final TraceBasedJavaResolverCache traceBasedJavaResolverCache;
@@ -123,6 +123,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
this.storageManager = topDownAnalysisParameters.getStorageManager();
this.bindingTrace = bindingTrace;
this.moduleDescriptor = moduleDescriptor;
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
this.topDownAnalyzer = new TopDownAnalyzer();
this.topDownAnalysisContext = new TopDownAnalysisContext();
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
@@ -137,12 +138,11 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, javaClassFinder, virtualFileFinder, deserializedDescriptorResolver, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, traceBasedJavaResolverCache);
this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, getModuleDescriptor());
this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, getModuleDescriptor());
this.javaToKotlinClassMap = org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap.getInstance();
this.bodyResolver = new BodyResolver();
this.annotationResolver = new AnnotationResolver();
this.callResolver = new CallResolver();
this.argumentTypeResolver = new ArgumentTypeResolver();
this.expressionTypingServices = new ExpressionTypingServices(getTopDownAnalysisContext(), javaToKotlinClassMap);
this.expressionTypingServices = new ExpressionTypingServices(getTopDownAnalysisContext(), platformToKotlinClassMap);
this.callExpressionResolver = new CallExpressionResolver();
this.descriptorResolver = new DescriptorResolver();
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
@@ -21,10 +21,10 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
import org.jetbrains.jet.storage.StorageManager;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolverDummyImpl;
import org.jetbrains.jet.lang.resolve.BodyResolver;
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
@@ -61,10 +61,10 @@ public class InjectorForTopDownAnalyzerBasic {
private final StorageManager storageManager;
private final BindingTrace bindingTrace;
private final ModuleDescriptorImpl moduleDescriptor;
private final PlatformToKotlinClassMap platformToKotlinClassMap;
private final TopDownAnalyzer topDownAnalyzer;
private final TopDownAnalysisContext topDownAnalysisContext;
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
private final PlatformToKotlinClassMap platformToKotlinClassMap;
private final DependencyClassByQualifiedNameResolverDummyImpl dependencyClassByQualifiedNameResolverDummy;
private final BodyResolver bodyResolver;
private final AnnotationResolver annotationResolver;
@@ -94,18 +94,17 @@ public class InjectorForTopDownAnalyzerBasic {
@NotNull Project project,
@NotNull TopDownAnalysisParameters topDownAnalysisParameters,
@NotNull BindingTrace bindingTrace,
@NotNull ModuleDescriptorImpl moduleDescriptor,
@NotNull PlatformToKotlinClassMap platformToKotlinClassMap
@NotNull ModuleDescriptorImpl moduleDescriptor
) {
this.project = project;
this.topDownAnalysisParameters = topDownAnalysisParameters;
this.storageManager = topDownAnalysisParameters.getStorageManager();
this.bindingTrace = bindingTrace;
this.moduleDescriptor = moduleDescriptor;
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
this.topDownAnalyzer = new TopDownAnalyzer();
this.topDownAnalysisContext = new TopDownAnalysisContext();
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
this.platformToKotlinClassMap = platformToKotlinClassMap;
this.dependencyClassByQualifiedNameResolverDummy = new DependencyClassByQualifiedNameResolverDummyImpl();
this.bodyResolver = new BodyResolver();
this.annotationResolver = new AnnotationResolver();
@@ -181,7 +181,7 @@ public class TopDownAnalyzer {
InjectorForTopDownAnalyzerBasic injector = new InjectorForTopDownAnalyzerBasic(
object.getProject(), topDownAnalysisParameters, new ObservableBindingTrace(context.trace),
moduleDescriptor, context.expressionTypingServices.getPlatformToKotlinClassMap());
moduleDescriptor);
injector.getTopDownAnalysisContext().setOuterDataFlowInfo(context.dataFlowInfo);
@@ -64,7 +64,7 @@ private fun DependencyInjectorGenerator.commonForTopDownAnalyzer() {
parameter(javaClass<Project>())
parameter(javaClass<TopDownAnalysisParameters>(), useAsContext = true)
parameter(javaClass<BindingTrace>())
publicParameter(javaClass<ModuleDescriptorImpl>())
publicParameter(javaClass<ModuleDescriptorImpl>(), useAsContext = true)
publicFields(
javaClass<TopDownAnalyzer>(),
@@ -78,8 +78,6 @@ private fun generatorForTopDownAnalyzerBasic() =
generator("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerBasic") {
commonForTopDownAnalyzer()
parameter(javaClass<PlatformToKotlinClassMap>())
field(javaClass<DependencyClassByQualifiedNameResolverDummyImpl>())
}
@@ -88,7 +86,6 @@ private fun generatorForTopDownAnalyzerForJs() =
commonForTopDownAnalyzer()
field(javaClass<DependencyClassByQualifiedNameResolverDummyImpl>())
field(javaClass<PlatformToKotlinClassMap>(), init = GivenExpression("org.jetbrains.jet.lang.PlatformToKotlinClassMap.EMPTY"))
}
private fun generatorForTopDownAnalyzerForJvm() =
@@ -98,7 +95,6 @@ private fun generatorForTopDownAnalyzerForJvm() =
publicField(javaClass<JavaDescriptorResolver>())
field(javaClass<JavaToKotlinClassMap>(), init = GivenExpression("org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap.getInstance()"))
fields(
javaClass<JavaClassFinderImpl>(),
javaClass<TraceBasedExternalSignatureResolver>(),
@@ -94,7 +94,7 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent {
Name.special("<fake_module>"), Collections.<ImportPath>emptyList(), PlatformToKotlinClassMap.EMPTY);
BindingTraceContext trace = new BindingTraceContext();
InjectorForTopDownAnalyzerBasic injector = new InjectorForTopDownAnalyzerBasic(
myProject, topDownAnalysisParameters, trace, module, PlatformToKotlinClassMap.EMPTY);
myProject, topDownAnalysisParameters, trace, module);
TopDownAnalyzer analyzer = injector.getTopDownAnalyzer();
analyzer.analyzeFiles(jetBuiltInsFiles, Collections.<AnalyzerScriptParameter>emptyList());
@@ -21,11 +21,11 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
import org.jetbrains.jet.storage.StorageManager;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolverDummyImpl;
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
import org.jetbrains.jet.lang.resolve.BodyResolver;
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
@@ -61,11 +61,11 @@ public class InjectorForTopDownAnalyzerForJs {
private final StorageManager storageManager;
private final BindingTrace bindingTrace;
private final ModuleDescriptorImpl moduleDescriptor;
private final PlatformToKotlinClassMap platformToKotlinClassMap;
private final TopDownAnalyzer topDownAnalyzer;
private final TopDownAnalysisContext topDownAnalysisContext;
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
private final DependencyClassByQualifiedNameResolverDummyImpl dependencyClassByQualifiedNameResolverDummy;
private final PlatformToKotlinClassMap platformToKotlinClassMap;
private final BodyResolver bodyResolver;
private final AnnotationResolver annotationResolver;
private final CallResolver callResolver;
@@ -101,11 +101,11 @@ public class InjectorForTopDownAnalyzerForJs {
this.storageManager = topDownAnalysisParameters.getStorageManager();
this.bindingTrace = bindingTrace;
this.moduleDescriptor = moduleDescriptor;
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
this.topDownAnalyzer = new TopDownAnalyzer();
this.topDownAnalysisContext = new TopDownAnalysisContext();
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
this.dependencyClassByQualifiedNameResolverDummy = new DependencyClassByQualifiedNameResolverDummyImpl();
this.platformToKotlinClassMap = org.jetbrains.jet.lang.PlatformToKotlinClassMap.EMPTY;
this.bodyResolver = new BodyResolver();
this.annotationResolver = new AnnotationResolver();
this.callResolver = new CallResolver();