Injector for bare JavaDescriptorResolver

This commit is contained in:
Andrey Breslav
2012-07-04 19:09:50 +04:00
parent 2a1fd7e7d6
commit 4d220fb980
2 changed files with 153 additions and 0 deletions
@@ -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;
}
}