Simplify injectors for frontend.java

- delete InjectorForJavaSemanticServices, replace its usages with
  InjectorForJavaDescriptorResolver
- delete unneeded fields and parameters of InjectorForJavaDescriptorResolver
This commit is contained in:
Alexander Udalov
2013-07-24 18:35:05 +04:00
committed by Pavel V. Talanov
parent 3bd9d9ee32
commit 2d7a5ebf36
21 changed files with 88 additions and 365 deletions
@@ -24,17 +24,20 @@ import org.jetbrains.jet.codegen.ScriptCodegen;
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods;
import org.jetbrains.jet.codegen.state.GenerationState;
import org.jetbrains.jet.codegen.state.JetTypeMapper;
import org.jetbrains.jet.di.*;
import org.jetbrains.jet.di.DependencyInjectorGenerator;
import org.jetbrains.jet.di.GivenExpression;
import org.jetbrains.jet.di.InjectorForTopDownAnalyzer;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
import org.jetbrains.jet.lang.psi.JetImportsFactory;
import org.jetbrains.jet.lang.resolve.*;
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
import org.jetbrains.jet.lang.resolve.calls.NeedSyntheticCallResolverExtension;
import org.jetbrains.jet.lang.resolve.java.*;
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl;
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession;
import org.jetbrains.jet.lang.resolve.lazy.ScopeProvider;
import org.jetbrains.jet.lang.resolve.name.Name;
import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolverDummyImpl;
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
@@ -55,7 +58,6 @@ public class GenerateInjectors {
generateInjectorForTopDownAnalyzerForJs();
generateMacroInjector();
generateTestInjector();
generateInjectorForJavaSemanticServices();
generateInjectorForJvmCodegen();
generateInjectorForLazyResolve();
generateInjectorForBodyResolve();
@@ -109,13 +111,10 @@ public class GenerateInjectors {
DependencyInjectorGenerator generator = new DependencyInjectorGenerator();
// Parameters
generator.addPublicParameter(Project.class);
generator.addPublicParameter(BindingTrace.class);
generator.addPublicParameter(ModuleDescriptor.class);
generator.addParameter(Project.class);
generator.addParameter(BindingTrace.class);
// Fields
generator.addPublicField(JavaBridgeConfiguration.class);
generator.addPublicField(JavaSemanticServices.class);
generator.addPublicField(JavaDescriptorResolver.class);
generator.addPublicField(PsiClassFinderImpl.class);
@@ -172,29 +171,6 @@ public class GenerateInjectors {
generator.generate("compiler/tests", "org.jetbrains.jet.di", "InjectorForTests", GenerateInjectors.class);
}
private static void generateInjectorForJavaSemanticServices() throws IOException {
DependencyInjectorGenerator generator = new DependencyInjectorGenerator();
// Fields
generator.addPublicField(JavaSemanticServices.class);
generator.addPublicField(JavaDescriptorResolver.class);
generator.addField(true, BindingTrace.class, null,
new GivenExpression("new org.jetbrains.jet.lang.resolve.BindingTraceContext()"));
generator.addField(JavaBridgeConfiguration.class);
generator.addPublicField(PsiClassFinderImpl.class);
generator.addField(false, ModuleDescriptorImpl.class, null,
new GivenExpression("new " + ModuleDescriptorImpl.class.getCanonicalName() + "(" +
Name.class.getCanonicalName() + ".special(\"<dummy>\"), " +
JavaBridgeConfiguration.class.getCanonicalName() + ".ALL_JAVA_IMPORTS, " +
JavaToKotlinClassMap.class.getCanonicalName() + ".getInstance())"));
// Parameters
generator.addPublicParameter(Project.class);
generator.generate("compiler/frontend.java/src", "org.jetbrains.jet.di", "InjectorForJavaSemanticServices",
GenerateInjectors.class);
}
private static void generateInjectorForJvmCodegen() throws IOException {
DependencyInjectorGenerator generator = new DependencyInjectorGenerator();