Renamed & moved AllInjectorsGenerator.

This commit is contained in:
Evgeny Gerashchenko
2012-11-12 17:23:03 +04:00
parent 47dd399cdd
commit 8d7e79c806
17 changed files with 43 additions and 30 deletions
+1 -1
View File
@@ -91,7 +91,7 @@
</target>
<target name="generateInjectors" depends="injectorsGenerator">
<java classname="org.jetbrains.jet.di.AllInjectorsGenerator" failonerror="true">
<java classname="org.jetbrains.jet.generators.GenerateInjectors" failonerror="true">
<classpath refid="classpath"/>
<classpath path="${output}/classes/injectorsGenerator"/>
</java>
@@ -33,7 +33,7 @@ import org.jetbrains.jet.codegen.ClassFileFactory;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
/* This file is generated by org.jetbrains.jet.generators.GenerateInjectors. DO NOT EDIT! */
public class InjectorForJvmCodegen {
private final JetTypeMapper jetTypeMapper;
@@ -40,7 +40,7 @@ import org.jetbrains.jet.lang.resolve.java.resolver.JavaPropertyResolver;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
/* This file is generated by org.jetbrains.jet.generators.GenerateInjectors. DO NOT EDIT! */
public class InjectorForJavaDescriptorResolver {
private final Project project;
@@ -40,7 +40,7 @@ import org.jetbrains.jet.lang.resolve.java.resolver.JavaPropertyResolver;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
/* This file is generated by org.jetbrains.jet.generators.GenerateInjectors. DO NOT EDIT! */
public class InjectorForJavaSemanticServices {
private JavaSemanticServices javaSemanticServices;
@@ -62,7 +62,7 @@ import org.jetbrains.jet.lang.resolve.java.resolver.JavaPropertyResolver;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
/* This file is generated by org.jetbrains.jet.generators.GenerateInjectors. DO NOT EDIT! */
public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnalyzer {
private TopDownAnalyzer topDownAnalyzer;
@@ -124,9 +124,9 @@ class TypeTransformingVisitor extends JetVisitor<JetType, Void> {
TypeProjection argument = arguments.get(i);
JetType alternativeType = computeType(argumentAlternativeTypeElement, argument.getType(), originalToAltTypeParameters);
Variance variance = argument.getProjectionKind();
Variance altVariance;
if (type instanceof JetUserType) {
JetTypeProjection typeProjection = ((JetUserType) type).getTypeArguments().get(i);
Variance altVariance = Variance.INVARIANT;
switch (typeProjection.getProjectionKind()) {
case IN:
altVariance = Variance.IN_VARIANCE;
@@ -137,12 +137,16 @@ class TypeTransformingVisitor extends JetVisitor<JetType, Void> {
case STAR:
throw new AlternativeSignatureMismatchException("Star projection is not available in alternative signatures");
default:
altVariance = Variance.INVARIANT;
}
if (altVariance != variance && variance != Variance.INVARIANT) {
throw new AlternativeSignatureMismatchException("Variance mismatch, actual: %s, in alternative signature: %s", variance, altVariance);
}
}
altArguments.add(new TypeProjection(variance, alternativeType));
else {
altVariance = variance;
}
altArguments.add(new TypeProjection(altVariance, alternativeType));
}
TypeConstructor typeConstructor;
@@ -37,7 +37,7 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
/* This file is generated by org.jetbrains.jet.generators.GenerateInjectors. DO NOT EDIT! */
public class InjectorForBodyResolve {
private BodyResolver bodyResolver;
@@ -32,7 +32,7 @@ import org.jetbrains.jet.lang.resolve.calls.CandidateResolver;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
/* This file is generated by org.jetbrains.jet.generators.GenerateInjectors. DO NOT EDIT! */
public class InjectorForLazyResolve {
private final Project project;
@@ -29,7 +29,7 @@ import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
/* This file is generated by org.jetbrains.jet.generators.GenerateInjectors. DO NOT EDIT! */
public class InjectorForMacros {
private ExpressionTypingServices expressionTypingServices;
@@ -46,7 +46,7 @@ import org.jetbrains.jet.lang.resolve.ScriptBodyResolver;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
/* This file is generated by org.jetbrains.jet.generators.GenerateInjectors. DO NOT EDIT! */
public class InjectorForTopDownAnalyzerBasic {
private TopDownAnalyzer topDownAnalyzer;
@@ -30,7 +30,7 @@ import org.jetbrains.jet.lang.resolve.calls.CandidateResolver;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
/* This file is generated by org.jetbrains.jet.generators.GenerateInjectors. DO NOT EDIT! */
public class InjectorForTests {
private DescriptorResolver descriptorResolver;
+4
View File
@@ -10,6 +10,10 @@
<orderEntry type="module" module-name="idea" scope="TEST" />
<orderEntry type="module" module-name="compiler-tests" scope="TEST" />
<orderEntry type="library" scope="TEST" name="idea-full" level="project" />
<orderEntry type="module" module-name="backend" scope="TEST" />
<orderEntry type="module" module-name="frontend" scope="TEST" />
<orderEntry type="module" module-name="frontend.java" scope="TEST" />
<orderEntry type="module" module-name="injector-generator" scope="TEST" />
</component>
</module>
@@ -14,13 +14,14 @@
* limitations under the License.
*/
package org.jetbrains.jet.di;
package org.jetbrains.jet.generators;
import com.intellij.openapi.project.Project;
import org.jetbrains.jet.codegen.*;
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.di.*;
import org.jetbrains.jet.lang.ModuleConfiguration;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.psi.JetFile;
@@ -43,9 +44,9 @@ import java.io.IOException;
*/
// NOTE: After making changes, you need to re-generate the injectors.
// To do that, you can run either this class, or /build.xml/generateInjectors task
public class AllInjectorsGenerator {
public class GenerateInjectors {
private AllInjectorsGenerator() {
private GenerateInjectors() {
}
public static void main(String[] args) throws IOException {
@@ -73,7 +74,7 @@ public class AllInjectorsGenerator {
generator.addPublicField(ScopeProvider.class);
generator.addPublicField(AnnotationResolver.class);
generator.addPublicField(QualifiedExpressionResolver.class);
generator.generate("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForLazyResolve");
generator.generate("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForLazyResolve", GenerateInjectors.class);
}
private static void generateInjectorForTopDownAnalyzerBasic() throws IOException {
@@ -82,7 +83,7 @@ public class AllInjectorsGenerator {
generator.addParameter(ModuleConfiguration.class);
generator.addField(DependencyClassByQualifiedNameResolverDummyImpl.class);
generator.addField(NamespaceFactoryImpl.class);
generator.generate("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerBasic");
generator.generate("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerBasic", GenerateInjectors.class);
}
private static void generateInjectorForTopDownAnalyzerForJs() throws IOException {
@@ -91,7 +92,7 @@ public class AllInjectorsGenerator {
generator.addPublicParameter(ModuleConfiguration.class);
generator.addField(DependencyClassByQualifiedNameResolverDummyImpl.class);
generator.addField(NamespaceFactoryImpl.class);
generator.generate("js/js.translator/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJs");
generator.generate("js/js.translator/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJs", GenerateInjectors.class);
}
private static void generateInjectorForTopDownAnalyzerForJvm() throws IOException {
@@ -102,7 +103,8 @@ public class AllInjectorsGenerator {
generator.addField(JavaDescriptorResolver.class);
generator.addField(PsiClassFinderImpl.class);
generator.addPublicField(NamespaceFactoryImpl.class);
generator.generate("compiler/frontend.java/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJvm");
generator.generate("compiler/frontend.java/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJvm",
GenerateInjectors.class);
}
private static void generateInjectorForJavaDescriptorResolver() throws IOException {
@@ -119,7 +121,8 @@ public class AllInjectorsGenerator {
generator.addPublicField(JavaDescriptorResolver.class);
generator.addPublicField(PsiClassFinderImpl.class);
generator.generate("compiler/frontend.java/src", "org.jetbrains.jet.di", "InjectorForJavaDescriptorResolver");
generator.generate("compiler/frontend.java/src", "org.jetbrains.jet.di", "InjectorForJavaDescriptorResolver",
GenerateInjectors.class);
}
private static void generateInjectorForTopDownAnalyzerCommon(DependencyInjectorGenerator generator) {
@@ -148,7 +151,7 @@ public class AllInjectorsGenerator {
generator.addPublicParameter(Project.class);
generator.addParameter(ModuleConfiguration.class);
generator.generate("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForMacros");
generator.generate("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForMacros", GenerateInjectors.class);
}
private static void generateTestInjector() throws IOException {
@@ -165,7 +168,7 @@ public class AllInjectorsGenerator {
// Parameters
generator.addPublicParameter(Project.class);
generator.generate("compiler/tests", "org.jetbrains.jet.di", "InjectorForTests");
generator.generate("compiler/tests", "org.jetbrains.jet.di", "InjectorForTests", GenerateInjectors.class);
}
private static void generateInjectorForJavaSemanticServices() throws IOException {
@@ -185,7 +188,8 @@ public class AllInjectorsGenerator {
// Parameters
generator.addPublicParameter(Project.class);
generator.generate("compiler/frontend.java/src", "org.jetbrains.jet.di", "InjectorForJavaSemanticServices");
generator.generate("compiler/frontend.java/src", "org.jetbrains.jet.di", "InjectorForJavaSemanticServices",
GenerateInjectors.class);
}
private static void generateInjectorForJvmCodegen() throws IOException {
@@ -210,7 +214,7 @@ public class AllInjectorsGenerator {
generator.addField(true, IntrinsicMethods.class, "intrinsics", null);
generator.addPublicField(ClassFileFactory.class);
generator.generate("compiler/backend/src", "org.jetbrains.jet.di", "InjectorForJvmCodegen");
generator.generate("compiler/backend/src", "org.jetbrains.jet.di", "InjectorForJvmCodegen", GenerateInjectors.class);
}
private static void generateInjectorForBodyResolve() throws IOException {
@@ -224,6 +228,6 @@ public class AllInjectorsGenerator {
generator.addPublicParameter(BindingTrace.class);
generator.addPublicParameter(BodiesResolveContext.class);
generator.addParameter(ModuleConfiguration.class);
generator.generate("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForBodyResolve");
generator.generate("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForBodyResolve", GenerateInjectors.class);
}
}
@@ -62,7 +62,8 @@ public class DependencyInjectorGenerator {
this.lazy = lazy;
}
public void generate(String targetSourceRoot, String injectorPackageName, String injectorClassName) throws IOException {
public void generate(String targetSourceRoot, String injectorPackageName, String injectorClassName, Class<?> generatorClass)
throws IOException {
String outputFileName = targetSourceRoot + "/" + injectorPackageName.replace(".", "/") + "/" + injectorClassName + ".java";
File file = new File(outputFileName);
@@ -101,7 +102,7 @@ public class DependencyInjectorGenerator {
generateImports(out, injectorPackageName);
out.println();
out.println("/* This file is generated by " + AllInjectorsGenerator.class.getName() + ". DO NOT EDIT! */");
out.println("/* This file is generated by " + generatorClass.getName() + ". DO NOT EDIT! */");
out.print("public class " + injectorClassName);
generateImplementsList(out);
out.println(" {");
@@ -29,7 +29,7 @@ import java.util.List;
/**
* @author Stepan Koltsov
*/
class DiType {
public class DiType {
@NotNull
private final Class<?> clazz;
@NotNull
@@ -26,7 +26,7 @@ import java.util.Collections;
/**
* @author abreslav
*/
class GivenExpression implements Expression {
public class GivenExpression implements Expression {
private final String expression;
private final Collection<DiType> typesToImport;
@@ -46,7 +46,7 @@ import org.jetbrains.jet.lang.resolve.ScriptBodyResolver;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
/* This file is generated by org.jetbrains.jet.generators.GenerateInjectors. DO NOT EDIT! */
public class InjectorForTopDownAnalyzerForJs {
private TopDownAnalyzer topDownAnalyzer;