Renamed & moved AllInjectorsGenerator.
This commit is contained in:
@@ -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;
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+6
-2
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
+17
-13
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user