diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java b/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java index 9ff8a236a56..637d987317c 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java @@ -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; diff --git a/compiler/backend/src/org/jetbrains/jet/di/InjectorForJvmCodegen.java b/compiler/backend/src/org/jetbrains/jet/di/InjectorForJvmCodegen.java deleted file mode 100644 index 6f90139a281..00000000000 --- a/compiler/backend/src/org/jetbrains/jet/di/InjectorForJvmCodegen.java +++ /dev/null @@ -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; - } - -} diff --git a/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.java b/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.java index b865c0f62cd..968369b5176 100644 --- a/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.java +++ b/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.java @@ -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