public abstract class AutoCodeGenerator extends JavaCodeGenerator
Modifier and Type | Field and Description |
---|---|
protected Package |
asPackage |
protected Package |
asSuperPackage |
protected java.lang.String |
baseProjectPrefix |
protected java.lang.String |
baseVisitorPackage |
protected AutoAnalyzer |
cgAnalyzer |
protected java.util.Map<java.lang.String,CGPackage> |
externalPackages |
protected org.eclipse.emf.codegen.ecore.genmodel.GenModel |
genModel |
protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage |
genPackage |
protected java.lang.String |
projectName |
protected java.lang.String |
projectPrefix |
protected java.lang.String |
superManualVisitorPackage |
protected java.lang.String |
superProjectPrefix |
protected java.lang.String |
superVisitorClass |
protected java.lang.String |
visitableClass |
protected java.lang.String |
visitorClass |
protected java.lang.String |
visitorPackage |
javaPrimitiveClasses, javaPrimitiveNames, knownClasses
environmentFactory, genModelHelper, metamodelManager, nameManager, ORG_ECLIPSE_JDT_ANNOTATION_NON_NULL, ORG_ECLIPSE_JDT_ANNOTATION_NULLABLE
Constructor and Description |
---|
AutoCodeGenerator(EnvironmentFactoryInternal environmentFactory,
Package asPackage,
Package asSuperPackage,
org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage,
java.lang.String projectPrefix,
java.lang.String projectName,
java.lang.String visitorPackage,
java.lang.String visitorClass,
java.lang.String visitableClass,
java.lang.String superProjectPrefix,
java.lang.String superManualVisitorPackage,
java.lang.String superVisitorClass,
java.lang.String baseProjectPrefix,
java.lang.String baseVisitorPackage) |
createCommonSubexpressionEliminator, createGenModelHelper, createId2BoxedDescriptorVisitor, createId2EClassVisitor, createNameManager, getBoxedDescriptor, getConstantsClass, getGlobalContext, getGlobalPlace, getId2BoxedDescriptorVisitor, getId2EClassVisitor, getIsNonNull, getIterationHelper, getLeastDerivedMethod, getTypeDescriptor, getUnboxedDescriptor, initPrimitive, isNonNull, isNonNull, maybePrimitive, optimize, prepareGlobals
addProblem, getDefaultIndent, getEnvironmentFactory, getGenModelHelper, getNameManager, isFinal
@NonNull protected final AutoAnalyzer cgAnalyzer
@NonNull protected final org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel
@NonNull protected final org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage
@NonNull protected final java.util.Map<java.lang.String,CGPackage> externalPackages
@NonNull protected final java.lang.String projectPrefix
@NonNull protected final java.lang.String projectName
@NonNull protected final java.lang.String visitorPackage
@NonNull protected final java.lang.String visitorClass
@NonNull protected final java.lang.String visitableClass
@Nullable protected final java.lang.String superProjectPrefix
@Nullable protected final java.lang.String superManualVisitorPackage
@Nullable protected final java.lang.String superVisitorClass
@NonNull protected final java.lang.String baseProjectPrefix
@NonNull protected final java.lang.String baseVisitorPackage
public AutoCodeGenerator(@NonNull EnvironmentFactoryInternal environmentFactory, @NonNull Package asPackage, @Nullable Package asSuperPackage, @NonNull org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage, @NonNull java.lang.String projectPrefix, @NonNull java.lang.String projectName, @NonNull java.lang.String visitorPackage, @NonNull java.lang.String visitorClass, @NonNull java.lang.String visitableClass, @Nullable java.lang.String superProjectPrefix, @Nullable java.lang.String superManualVisitorPackage, @Nullable java.lang.String superVisitorClass, @Nullable java.lang.String baseProjectPrefix, @Nullable java.lang.String baseVisitorPackage)
@NonNull protected AS2CGVisitor createAS2CGVisitor()
@NonNull public AnalysisVisitor createAnalysisVisitor()
createAnalysisVisitor
in interface CodeGenerator
createAnalysisVisitor
in class AbstractCodeGenerator
@NonNull public BoxingAnalyzer createBoxingAnalyzer()
createBoxingAnalyzer
in interface CodeGenerator
createBoxingAnalyzer
in class JavaCodeGenerator
@NonNull public abstract CG2JavaPreVisitor createCG2JavaPreVisitor()
createCG2JavaPreVisitor
in class JavaCodeGenerator
@NonNull protected abstract AutoCG2JavaVisitor<? extends AutoCodeGenerator> createCG2JavaVisitor(@NonNull CGPackage cgPackage, @Nullable java.util.List<CGValuedElement> sortedGlobals)
@NonNull protected abstract CGPackage createCGPackage() throws ParserException
ParserException
@NonNull public AutoCGModelResourceFactory getCGResourceFactory()
getCGResourceFactory
in class JavaCodeGenerator
@NonNull public DependencyVisitor createDependencyVisitor()
createDependencyVisitor
in interface CodeGenerator
createDependencyVisitor
in class JavaCodeGenerator
@NonNull public FieldingAnalyzer createFieldingAnalyzer()
createFieldingAnalyzer
in interface CodeGenerator
createFieldingAnalyzer
in class JavaCodeGenerator
@NonNull protected AutoCodeGenOptions createOptions()
createOptions
in class AbstractCodeGenerator
@NonNull public ReferencesVisitor createReferencesVisitor()
createReferencesVisitor
in interface CodeGenerator
createReferencesVisitor
in class JavaCodeGenerator
@NonNull public java.lang.String generateClassFile() throws ParserException
ParserException
@NonNull public AutoAnalyzer getAnalyzer()
@NonNull protected abstract java.lang.String getAutoVisitorClassName(@NonNull java.lang.String prefix)
@NonNull protected CGClass getExternalClass(@NonNull java.lang.Class<?> javaClass, CGClass... javaGenerics)
@NonNull protected CGClass getExternalClass(@Nullable java.lang.String packageName, @NonNull java.lang.String className, boolean isInterface)
@NonNull public org.eclipse.emf.codegen.ecore.genmodel.GenPackage getGenPackage()
@NonNull protected abstract java.lang.String getManualVisitorClassName(@NonNull java.lang.String prefix)
@NonNull public AutoCodeGenOptions getOptions()
getOptions
in interface CodeGenerator
getOptions
in class AbstractCodeGenerator
@NonNull public java.lang.String getQualifiedName()
@NonNull public java.lang.String getSourceFileName()
@NonNull public java.lang.Class<?> getVisitableClass()
@NonNull protected abstract java.lang.String getVisitorPackageName(@NonNull java.lang.String visitorsPackageName)
@NonNull public java.lang.Class<?> getVisitorResultClass()
public void saveSourceFile()