Generate Injectors: add ability to specify that a field is a context
Context field's properties can injected into other components Use it in GenerateInjectors.kt
This commit is contained in:
@@ -18,12 +18,12 @@ package org.jetbrains.jet.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
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.resolve.BodiesResolveContext;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.BodyResolver;
|
||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||
import org.jetbrains.jet.storage.StorageManager;
|
||||
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;
|
||||
@@ -49,12 +49,12 @@ public class InjectorForBodyResolve {
|
||||
|
||||
private final Project project;
|
||||
private final TopDownAnalysisParameters topDownAnalysisParameters;
|
||||
private final StorageManager storageManager;
|
||||
private final BindingTrace bindingTrace;
|
||||
private final BodiesResolveContext bodiesResolveContext;
|
||||
private final ModuleDescriptor moduleDescriptor;
|
||||
private final BodyResolver bodyResolver;
|
||||
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||
private final StorageManager storageManager;
|
||||
private final BodyResolver bodyResolver;
|
||||
private final AnnotationResolver annotationResolver;
|
||||
private final CallResolver callResolver;
|
||||
private final ArgumentTypeResolver argumentTypeResolver;
|
||||
@@ -81,12 +81,12 @@ public class InjectorForBodyResolve {
|
||||
) {
|
||||
this.project = project;
|
||||
this.topDownAnalysisParameters = topDownAnalysisParameters;
|
||||
this.storageManager = topDownAnalysisParameters.getStorageManager();
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.bodiesResolveContext = bodiesResolveContext;
|
||||
this.moduleDescriptor = moduleDescriptor;
|
||||
this.bodyResolver = new BodyResolver();
|
||||
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
|
||||
this.storageManager = topDownAnalysisParameters.getStorageManager();
|
||||
this.bodyResolver = new BodyResolver();
|
||||
this.annotationResolver = new AnnotationResolver();
|
||||
this.callResolver = new CallResolver();
|
||||
this.argumentTypeResolver = new ArgumentTypeResolver();
|
||||
|
||||
@@ -18,12 +18,12 @@ package org.jetbrains.jet.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.context.GlobalContextImpl;
|
||||
import org.jetbrains.jet.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.declarations.DeclarationProviderFactory;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession;
|
||||
import org.jetbrains.jet.storage.StorageManager;
|
||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
|
||||
import org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver;
|
||||
@@ -46,12 +46,12 @@ public class InjectorForLazyResolve {
|
||||
|
||||
private final Project project;
|
||||
private final GlobalContextImpl globalContext;
|
||||
private final LockBasedStorageManager lockBasedStorageManager;
|
||||
private final ModuleDescriptorImpl moduleDescriptor;
|
||||
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||
private final DeclarationProviderFactory declarationProviderFactory;
|
||||
private final BindingTrace bindingTrace;
|
||||
private final ResolveSession resolveSession;
|
||||
private final StorageManager storageManager;
|
||||
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||
private final AnnotationResolver annotationResolver;
|
||||
private final CallResolver callResolver;
|
||||
private final ArgumentTypeResolver argumentTypeResolver;
|
||||
@@ -75,12 +75,12 @@ public class InjectorForLazyResolve {
|
||||
) {
|
||||
this.project = project;
|
||||
this.globalContext = globalContext;
|
||||
this.lockBasedStorageManager = globalContext.getStorageManager();
|
||||
this.moduleDescriptor = moduleDescriptor;
|
||||
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
|
||||
this.declarationProviderFactory = declarationProviderFactory;
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.resolveSession = new ResolveSession(project, globalContext, moduleDescriptor, declarationProviderFactory, bindingTrace);
|
||||
this.storageManager = resolveSession.getStorageManager();
|
||||
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
|
||||
this.annotationResolver = new AnnotationResolver();
|
||||
this.callResolver = new CallResolver();
|
||||
this.argumentTypeResolver = new ArgumentTypeResolver();
|
||||
@@ -126,7 +126,7 @@ public class InjectorForLazyResolve {
|
||||
descriptorResolver.setAnnotationResolver(annotationResolver);
|
||||
descriptorResolver.setDelegatedPropertyResolver(delegatedPropertyResolver);
|
||||
descriptorResolver.setExpressionTypingServices(expressionTypingServices);
|
||||
descriptorResolver.setStorageManager(storageManager);
|
||||
descriptorResolver.setStorageManager(lockBasedStorageManager);
|
||||
descriptorResolver.setTypeResolver(typeResolver);
|
||||
|
||||
delegatedPropertyResolver.setExpressionTypingServices(expressionTypingServices);
|
||||
|
||||
@@ -18,8 +18,8 @@ package org.jetbrains.jet.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
||||
import org.jetbrains.jet.context.GlobalContext;
|
||||
import org.jetbrains.jet.storage.StorageManager;
|
||||
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
||||
@@ -41,8 +41,8 @@ public class InjectorForMacros {
|
||||
|
||||
private final Project project;
|
||||
private final ModuleDescriptor moduleDescriptor;
|
||||
private final ExpressionTypingServices expressionTypingServices;
|
||||
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||
private final ExpressionTypingServices expressionTypingServices;
|
||||
private final GlobalContext globalContext;
|
||||
private final StorageManager storageManager;
|
||||
private final AnnotationResolver annotationResolver;
|
||||
@@ -62,8 +62,8 @@ public class InjectorForMacros {
|
||||
) {
|
||||
this.project = project;
|
||||
this.moduleDescriptor = moduleDescriptor;
|
||||
this.globalContext = org.jetbrains.jet.context.ContextPackage.GlobalContext();
|
||||
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
|
||||
this.globalContext = org.jetbrains.jet.context.ContextPackage.GlobalContext();
|
||||
this.expressionTypingServices = new ExpressionTypingServices(globalContext, platformToKotlinClassMap);
|
||||
this.storageManager = globalContext.getStorageManager();
|
||||
this.annotationResolver = new AnnotationResolver();
|
||||
|
||||
@@ -18,11 +18,11 @@ package org.jetbrains.jet.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
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.resolve.TopDownAnalyzer;
|
||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
|
||||
import org.jetbrains.jet.storage.StorageManager;
|
||||
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||
import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolverDummyImpl;
|
||||
@@ -58,11 +58,11 @@ public class InjectorForTopDownAnalyzerBasic {
|
||||
|
||||
private final Project project;
|
||||
private final TopDownAnalysisParameters topDownAnalysisParameters;
|
||||
private final StorageManager storageManager;
|
||||
private final BindingTrace bindingTrace;
|
||||
private final ModuleDescriptorImpl moduleDescriptor;
|
||||
private final TopDownAnalyzer topDownAnalyzer;
|
||||
private final TopDownAnalysisContext topDownAnalysisContext;
|
||||
private final StorageManager storageManager;
|
||||
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
||||
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||
private final DependencyClassByQualifiedNameResolverDummyImpl dependencyClassByQualifiedNameResolverDummy;
|
||||
@@ -99,11 +99,11 @@ public class InjectorForTopDownAnalyzerBasic {
|
||||
) {
|
||||
this.project = project;
|
||||
this.topDownAnalysisParameters = topDownAnalysisParameters;
|
||||
this.storageManager = topDownAnalysisParameters.getStorageManager();
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.moduleDescriptor = moduleDescriptor;
|
||||
this.topDownAnalyzer = new TopDownAnalyzer();
|
||||
this.topDownAnalysisContext = new TopDownAnalysisContext();
|
||||
this.storageManager = topDownAnalysisParameters.getStorageManager();
|
||||
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
||||
this.platformToKotlinClassMap = platformToKotlinClassMap;
|
||||
this.dependencyClassByQualifiedNameResolverDummy = new DependencyClassByQualifiedNameResolverDummyImpl();
|
||||
|
||||
Reference in New Issue
Block a user