Remove useless InjectorForJvmCodegen

This commit is contained in:
Pavel V. Talanov
2014-02-12 15:32:45 +04:00
parent b37c57cf2b
commit 73dd8a051a
3 changed files with 8 additions and 132 deletions
@@ -19,10 +19,12 @@ package org.jetbrains.jet.codegen.state;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.codegen.*;
import org.jetbrains.jet.codegen.ClassBuilderFactory;
import org.jetbrains.jet.codegen.ClassBuilderMode;
import org.jetbrains.jet.codegen.ClassFileFactory;
import org.jetbrains.jet.codegen.SamWrapperClasses;
import org.jetbrains.jet.codegen.binding.CodegenBinding;
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods;
import org.jetbrains.jet.di.InjectorForJvmCodegen;
import org.jetbrains.jet.lang.descriptors.ScriptDescriptor;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.BindingContext;
@@ -107,10 +109,10 @@ public class GenerationState {
this.typeMapper = new JetTypeMapper(bindingTrace, classBuilderMode);
InjectorForJvmCodegen injector = new InjectorForJvmCodegen(typeMapper, this, builderFactory, project);
this.intrinsics = injector.getIntrinsics();
this.classFileFactory = injector.getClassFileFactory();
this.intrinsics = new IntrinsicMethods();
this.classFileFactory = new ClassFileFactory(this);
this.classFileFactory.setBuilderFactory(builderFactory);
this.intrinsics.init();
this.generateNotNullAssertions = generateNotNullAssertions;
this.generateNotNullParamAssertions = generateNotNullParamAssertions;
@@ -1,94 +0,0 @@
/*
* Copyright 2010-2014 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 org.jetbrains.jet.codegen.state.JetTypeMapper;
import org.jetbrains.jet.codegen.state.GenerationState;
import org.jetbrains.jet.codegen.ClassBuilderFactory;
import com.intellij.openapi.project.Project;
import org.jetbrains.jet.context.GlobalContext;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.codegen.ClassBuilderMode;
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods;
import org.jetbrains.jet.codegen.ClassFileFactory;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.generators.injectors.GenerateInjectors. DO NOT EDIT! */
@SuppressWarnings("ALL")
public class InjectorForJvmCodegen {
private final JetTypeMapper jetTypeMapper;
private final GenerationState generationState;
private final ClassBuilderFactory classBuilderFactory;
private final Project project;
private final GlobalContext globalContext;
private final BindingTrace bindingTrace;
private final BindingContext bindingContext;
private final ClassBuilderMode classBuilderMode;
private final IntrinsicMethods intrinsics;
private final ClassFileFactory classFileFactory;
public InjectorForJvmCodegen(
@NotNull JetTypeMapper jetTypeMapper,
@NotNull GenerationState generationState,
@NotNull ClassBuilderFactory classBuilderFactory,
@NotNull Project project
) {
this.jetTypeMapper = jetTypeMapper;
this.generationState = generationState;
this.classBuilderFactory = classBuilderFactory;
this.project = project;
this.globalContext = org.jetbrains.jet.context.ContextPackage.GlobalContext();
this.bindingTrace = jetTypeMapper.getBindingTrace();
this.bindingContext = bindingTrace.getBindingContext();
this.classBuilderMode = classBuilderFactory.getClassBuilderMode();
this.intrinsics = new IntrinsicMethods();
this.classFileFactory = new ClassFileFactory(getGenerationState());
this.classFileFactory.setBuilderFactory(classBuilderFactory);
intrinsics.init();
}
@PreDestroy
public void destroy() {
}
public JetTypeMapper getJetTypeMapper() {
return this.jetTypeMapper;
}
public GenerationState getGenerationState() {
return this.generationState;
}
public Project getProject() {
return this.project;
}
public IntrinsicMethods getIntrinsics() {
return this.intrinsics;
}
public ClassFileFactory getClassFileFactory() {
return this.classFileFactory;
}
}
@@ -17,12 +17,6 @@
package org.jetbrains.jet.generators.injectors;
import com.intellij.openapi.project.Project;
import org.jetbrains.jet.codegen.ClassBuilderFactory;
import org.jetbrains.jet.codegen.ClassBuilderMode;
import org.jetbrains.jet.codegen.ClassFileFactory;
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.context.GlobalContext;
import org.jetbrains.jet.context.GlobalContextImpl;
import org.jetbrains.jet.di.DependencyInjectorGenerator;
@@ -77,7 +71,6 @@ public class GenerateInjectors {
generateInjectorForTopDownAnalyzerForJs(),
generateMacroInjector(),
generateTestInjector(),
generateInjectorForJvmCodegen(),
generateInjectorForLazyResolve(),
generateInjectorForBodyResolve()
);
@@ -230,31 +223,6 @@ public class GenerateInjectors {
return generator;
}
private static DependencyInjectorGenerator generateInjectorForJvmCodegen() throws IOException {
DependencyInjectorGenerator generator = new DependencyInjectorGenerator();
// Parameters
generator.addPublicParameter(JetTypeMapper.class);
generator.addPublicParameter(GenerationState.class);
generator.addParameter(ClassBuilderFactory.class);
generator.addPublicParameter(Project.class);
// Fields
generator.addField(false, GlobalContext.class, null,
new GivenExpression("org.jetbrains.jet.context.ContextPackage.GlobalContext()"));
generator.addField(false, BindingTrace.class, "bindingTrace",
new GivenExpression("jetTypeMapper.getBindingTrace()"));
generator.addField(false, BindingContext.class, "bindingContext",
new GivenExpression("bindingTrace.getBindingContext()"));
generator.addField(false, ClassBuilderMode.class, "classBuilderMode",
new GivenExpression("classBuilderFactory.getClassBuilderMode()"));
generator.addField(true, IntrinsicMethods.class, "intrinsics", null);
generator.addPublicField(ClassFileFactory.class);
generator.configure("compiler/backend/src", "org.jetbrains.jet.di", "InjectorForJvmCodegen", GenerateInjectors.class);
return generator;
}
private static DependencyInjectorGenerator generateInjectorForBodyResolve() throws IOException {
DependencyInjectorGenerator generator = new DependencyInjectorGenerator();
// Fields