Injector for bare JavaDescriptorResolver
This commit is contained in:
+133
@@ -0,0 +1,133 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2012 JetBrains s.r.o.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
package org.jetbrains.jet.di;
|
||||||
|
|
||||||
|
import com.intellij.openapi.project.Project;
|
||||||
|
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||||
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.CompilerDependencies;
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.PsiClassFinderForJvm;
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorSignatureResolver;
|
||||||
|
import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
|
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
|
||||||
|
public class InjectorForJavaDescriptorResolver {
|
||||||
|
|
||||||
|
private final Project project;
|
||||||
|
private final BindingTrace bindingTrace;
|
||||||
|
private final ModuleDescriptor moduleDescriptor;
|
||||||
|
private final CompilerDependencies compilerDependencies;
|
||||||
|
private JavaBridgeConfiguration javaBridgeConfiguration;
|
||||||
|
private CompilerSpecialMode compilerSpecialMode;
|
||||||
|
private JavaSemanticServices javaSemanticServices;
|
||||||
|
private JavaDescriptorResolver javaDescriptorResolver;
|
||||||
|
private PsiClassFinderForJvm psiClassFinderForJvm;
|
||||||
|
private JavaTypeTransformer javaTypeTransformer;
|
||||||
|
private JavaDescriptorSignatureResolver javaDescriptorSignatureResolver;
|
||||||
|
private NamespaceFactoryImpl namespaceFactory;
|
||||||
|
|
||||||
|
public InjectorForJavaDescriptorResolver(
|
||||||
|
@NotNull Project project,
|
||||||
|
@NotNull BindingTrace bindingTrace,
|
||||||
|
@NotNull ModuleDescriptor moduleDescriptor,
|
||||||
|
@NotNull CompilerDependencies compilerDependencies
|
||||||
|
) {
|
||||||
|
this.project = project;
|
||||||
|
this.bindingTrace = bindingTrace;
|
||||||
|
this.moduleDescriptor = moduleDescriptor;
|
||||||
|
this.compilerDependencies = compilerDependencies;
|
||||||
|
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
|
||||||
|
this.compilerSpecialMode = compilerDependencies.getCompilerSpecialMode();
|
||||||
|
this.javaSemanticServices = new JavaSemanticServices();
|
||||||
|
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
||||||
|
this.psiClassFinderForJvm = new PsiClassFinderForJvm();
|
||||||
|
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||||
|
this.javaDescriptorSignatureResolver = new JavaDescriptorSignatureResolver();
|
||||||
|
this.namespaceFactory = new NamespaceFactoryImpl();
|
||||||
|
|
||||||
|
javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
||||||
|
javaBridgeConfiguration.setMode(compilerSpecialMode);
|
||||||
|
javaBridgeConfiguration.setProject(project);
|
||||||
|
|
||||||
|
this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
||||||
|
this.javaSemanticServices.setPsiClassFinder(psiClassFinderForJvm);
|
||||||
|
this.javaSemanticServices.setTrace(bindingTrace);
|
||||||
|
this.javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||||
|
|
||||||
|
this.javaDescriptorResolver.setJavaDescriptorSignatureResolver(javaDescriptorSignatureResolver);
|
||||||
|
this.javaDescriptorResolver.setNamespaceFactory(namespaceFactory);
|
||||||
|
this.javaDescriptorResolver.setProject(project);
|
||||||
|
this.javaDescriptorResolver.setPsiClassFinder(psiClassFinderForJvm);
|
||||||
|
this.javaDescriptorResolver.setSemanticServices(javaSemanticServices);
|
||||||
|
this.javaDescriptorResolver.setTrace(bindingTrace);
|
||||||
|
|
||||||
|
this.psiClassFinderForJvm.setCompilerDependencies(compilerDependencies);
|
||||||
|
this.psiClassFinderForJvm.setProject(project);
|
||||||
|
|
||||||
|
javaTypeTransformer.setJavaSemanticServices(javaSemanticServices);
|
||||||
|
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||||
|
|
||||||
|
javaDescriptorSignatureResolver.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||||
|
javaDescriptorSignatureResolver.setJavaSemanticServices(javaSemanticServices);
|
||||||
|
|
||||||
|
namespaceFactory.setConfiguration(javaBridgeConfiguration);
|
||||||
|
namespaceFactory.setModuleDescriptor(moduleDescriptor);
|
||||||
|
namespaceFactory.setTrace(bindingTrace);
|
||||||
|
|
||||||
|
javaBridgeConfiguration.init();
|
||||||
|
|
||||||
|
psiClassFinderForJvm.initialize();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreDestroy
|
||||||
|
public void destroy() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Project getProject() {
|
||||||
|
return this.project;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BindingTrace getBindingTrace() {
|
||||||
|
return this.bindingTrace;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ModuleDescriptor getModuleDescriptor() {
|
||||||
|
return this.moduleDescriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JavaSemanticServices getJavaSemanticServices() {
|
||||||
|
return this.javaSemanticServices;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JavaDescriptorResolver getJavaDescriptorResolver() {
|
||||||
|
return this.javaDescriptorResolver;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PsiClassFinderForJvm getPsiClassFinderForJvm() {
|
||||||
|
return this.psiClassFinderForJvm;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -47,6 +47,7 @@ public class AllInjectorsGenerator {
|
|||||||
public static void main(String[] args) throws IOException {
|
public static void main(String[] args) throws IOException {
|
||||||
generateInjectorForTopDownAnalyzerBasic();
|
generateInjectorForTopDownAnalyzerBasic();
|
||||||
generateInjectorForTopDownAnalyzerForJvm();
|
generateInjectorForTopDownAnalyzerForJvm();
|
||||||
|
generateInjectorForJavaDescriptorResolver();
|
||||||
generateInjectorForTopDownAnalyzerForJs();
|
generateInjectorForTopDownAnalyzerForJs();
|
||||||
generateMacroInjector();
|
generateMacroInjector();
|
||||||
generateTestInjector();
|
generateTestInjector();
|
||||||
@@ -101,6 +102,25 @@ public class AllInjectorsGenerator {
|
|||||||
generator.generate("compiler/frontend.java/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJvm");
|
generator.generate("compiler/frontend.java/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJvm");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void generateInjectorForJavaDescriptorResolver() throws IOException {
|
||||||
|
DependencyInjectorGenerator generator = new DependencyInjectorGenerator(false);
|
||||||
|
|
||||||
|
// Parameters
|
||||||
|
generator.addPublicParameter(Project.class);
|
||||||
|
generator.addPublicParameter(BindingTrace.class);
|
||||||
|
generator.addPublicParameter(ModuleDescriptor.class);
|
||||||
|
generator.addParameter(CompilerDependencies.class);
|
||||||
|
|
||||||
|
// Fields
|
||||||
|
generator.addField(JavaBridgeConfiguration.class);
|
||||||
|
generator.addField(false, CompilerSpecialMode.class, null, new GivenExpression("compilerDependencies.getCompilerSpecialMode()"));
|
||||||
|
generator.addPublicField(JavaSemanticServices.class);
|
||||||
|
generator.addPublicField(JavaDescriptorResolver.class);
|
||||||
|
generator.addPublicField(PsiClassFinderForJvm.class);
|
||||||
|
|
||||||
|
generator.generate("compiler/frontend.java/src", "org.jetbrains.jet.di", "InjectorForJavaDescriptorResolver");
|
||||||
|
}
|
||||||
|
|
||||||
private static void generateInjectorForTopDownAnalyzerCommon(DependencyInjectorGenerator generator) {
|
private static void generateInjectorForTopDownAnalyzerCommon(DependencyInjectorGenerator generator) {
|
||||||
// Fields
|
// Fields
|
||||||
generator.addPublicField(TopDownAnalyzer.class);
|
generator.addPublicField(TopDownAnalyzer.class);
|
||||||
|
|||||||
Reference in New Issue
Block a user