JavaDescriptorResolver is not needed for body resolver

* create InjectorForBodyResolve
* split ScriptDescriptor into ScriptDeclarationResolve and ScriptBodyResolver
This commit is contained in:
Stepan Koltsov
2012-06-13 19:27:04 +04:00
parent b571871a27
commit 9290f55bad
13 changed files with 346 additions and 103 deletions
@@ -50,6 +50,7 @@ public class AllInjectorsGenerator {
generateInjectorForJvmCodegen();
generateInjectorForJetTypeMapper();
generateInjectorForLazyResolve();
generateInjectorForBodyResolve();
}
private static void generateInjectorForLazyResolve() throws IOException {
@@ -71,6 +72,7 @@ public class AllInjectorsGenerator {
generateInjectorForTopDownAnalyzerCommon(generator);
generator.addParameter(ModuleConfiguration.class);
generator.addField(DependencyClassByQualifiedNameResolverDummyImpl.class);
generator.addField(NamespaceFactoryImpl.class);
generator.generate("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerBasic");
}
@@ -79,6 +81,7 @@ public class AllInjectorsGenerator {
generateInjectorForTopDownAnalyzerCommon(generator);
generator.addParameter(ModuleConfiguration.class);
generator.addField(DependencyClassByQualifiedNameResolverDummyImpl.class);
generator.addField(NamespaceFactoryImpl.class);
generator.generate("js/js.translator/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJs");
}
@@ -190,4 +193,16 @@ public class AllInjectorsGenerator {
generator.generate("compiler/backend/src", "org.jetbrains.jet.di", "InjectorForJetTypeMapper");
}
private static void generateInjectorForBodyResolve() throws IOException {
DependencyInjectorGenerator generator = new DependencyInjectorGenerator(false);
// Fields
generator.addPublicField(BodyResolver.class);
// Parameters
generator.addPublicParameter(Project.class);
generator.addPublicParameter(TopDownAnalysisParameters.class);
generator.addPublicParameter(BindingTrace.class);
generator.generate("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForBodyResolve");
}
}