public class AS2CGVisitor extends AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
Modifier and Type | Class and Description |
---|---|
static class |
AS2CGVisitor.CGTuplePartNameComparator |
protected static class |
AS2CGVisitor.Variables |
Modifier and Type | Field and Description |
---|---|
protected CodeGenerator |
codeGenerator |
protected EnvironmentFactoryInternal |
environmentFactory |
protected GenModelHelper |
genModelHelper |
protected PivotMetamodelManager |
metamodelManager |
context
Constructor and Description |
---|
AS2CGVisitor(CodeGenAnalyzer analyzer) |
visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBehavior, visitCallExp, visitCallOperationAction, visitCollectionLiteralPart, visitCollectionType, visitComment, visitCompleteClass, visitCompleteEnvironment, visitCompleteModel, visitCompletePackage, visitConnectionPointReference, visitDataType, visitDetail, visitDynamicBehavior, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitDynamicValueSpecification, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitFeature, visitFeatureCallExp, visitFinalState, visitImport, visitInstanceSpecification, visitInvalidType, visitIteration, visitLambdaType, visitLanguageExpression, visitLibrary, visitLiteralExp, visitLoopExp, visitMapType, visitMessageExp, visitMessageType, visitModel, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNumericLiteralExp, visitOCLExpression, visitOrderedSetType, visitOrphanCompletePackage, visitParameter, visitPrecedence, visitPrimitiveCompletePackage, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitPseudostate, visitRegion, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitSlot, visitStandardLibrary, visitState, visitStateMachine, visitStereotype, visitStereotypeExtender, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateSignature, visitTransition, visitTrigger, visitTupleType, visitType, visitTypedElement, visitValueSpecification, visitVariable, visitVariableDeclaration, visitVertex, visitVoidType, visitWildcardType
getAdapter, safeVisit, visit
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAdapter
@NonNull protected final CodeGenerator codeGenerator
@NonNull protected final EnvironmentFactoryInternal environmentFactory
@NonNull protected final PivotMetamodelManager metamodelManager
@NonNull protected final GenModelHelper genModelHelper
public AS2CGVisitor(@NonNull CodeGenAnalyzer analyzer)
protected void addParameter(@NonNull Variable aParameter, @NonNull CGParameter cgParameter)
@Nullable public CGVariable basicGetParameter(@NonNull Variable aParameter)
@NonNull protected CGLetExp createCGLetExp(@NonNull TypedElement element, @NonNull CGFinalVariable cgVariable, @NonNull CGValuedElement cgIn)
@NonNull public CGVariable createCGVariable(@NonNull Variable asVariable)
protected CGVariable createCGVariable(@NonNull Variable contextVariable, @NonNull OCLExpression source)
public CGVariableExp createCGVariableExp(@NonNull VariableExp asVariableExp, @Nullable VariableDeclaration referredVariable)
@NonNull protected <T extends org.eclipse.emf.ecore.EObject> T createCopy(@NonNull T anEObject)
@NonNull protected OCLExpression createLetExp(@Nullable Variable asVariable, @Nullable OCLExpression asInit, @NonNull OCLExpression asIn)
protected void createParameters(@NonNull CGOperation cgOperation, @NonNull ExpressionInOCL expressionInOCL)
@NonNull public <T extends CGElement> T doVisit(@NonNull java.lang.Class<T> requiredClass, @Nullable Element pElement)
@NonNull protected CGIterationCallExp generateIterateExp(@NonNull CGValuedElement cgSource, @NonNull IterateExp element)
@NonNull protected CGIterationCallExp generateIteratorExp(@NonNull CGValuedElement cgSource, @NonNull IteratorExp element)
@NonNull protected CGValuedElement generateOperationCallExp(@Nullable CGValuedElement cgSource, @NonNull OperationCallExp element)
@NonNull protected CGValuedElement generateOppositePropertyCallExp(@NonNull CGValuedElement cgSource, @NonNull OppositePropertyCallExp element)
@NonNull protected CGValuedElement generatePropertyCallExp(@NonNull CGValuedElement cgSource, @NonNull PropertyCallExp element)
@NonNull protected CGValuedElement generateSafeExclusion(@NonNull CallExp callExp, @NonNull CGValuedElement cgSource)
@NonNull protected CGValuedElement generateSafeNavigationGuard(@NonNull CallExp callExp, @NonNull CGFinalVariable cgVariable, @NonNull CGValuedElement cgUnsafeExp)
@NonNull protected CGFinalVariable generateSafeVariable(@NonNull CGValuedElement cgSource, java.lang.String nameHint)
@NonNull protected CGVariableExp generateSafeVariableExp(@NonNull OCLExpression element, @NonNull CGFinalVariable cgVariable)
@NonNull public CodeGenAnalyzer getAnalyzer()
@NonNull public CGIterator getIterator(@NonNull VariableDeclaration asVariable)
@NonNull public CGVariable getLocalVariable(@NonNull VariableDeclaration asVariable)
@Deprecated @NonNull public CGParameter getParameter(@NonNull Variable aParameter)
@NonNull public CGParameter getParameter(@NonNull Variable aParameter, @Nullable java.lang.String explicitName)
@Nullable protected java.util.Set<Operation> getReferencedFinalOperations(@NonNull FinalAnalysis finalAnalysis, @NonNull LanguageExpression specification)
@Deprecated @NonNull public CGParameter getSelfParameter(@NonNull Variable aParameter)
protected void getTransitivelyReferencedFinalOperations(@NonNull java.util.Set<Operation> alreadyReferencedFinalOperations, @NonNull FinalAnalysis finalAnalysis, @NonNull LanguageExpression expressionInOCL)
@NonNull public CGVariable getVariable(@NonNull VariableDeclaration asVariable)
@NonNull public AS2CGVisitor.Variables getVariablesStack()
@Nullable protected CGValuedElement inlineOperationCall(@NonNull OperationCallExp callExp, @NonNull LanguageExpression specification)
protected boolean isEcoreProperty(@NonNull LibraryProperty libraryProperty)
@NonNull protected CGValuedElement nativeOperationCall(@NonNull OperationCallExp element, @NonNull CGClass currentClass, CGValuedElement cgSource, @NonNull Operation finalOperation)
protected void popCurrentClass(@NonNull CGClass cgClass)
protected void pushCurrentClass(@NonNull CGClass cgClass)
protected void setAst(@NonNull CGNamedElement cgElement, @NonNull Element asElement)
protected void setAst(@NonNull CGNamedElement cgElement, @NonNull NamedElement asElement)
protected void setAst(@NonNull CGTypedElement cgElement, @NonNull TypeId typeId, java.lang.String symbolName)
protected void setAst(@NonNull CGTypedElement cgElement, @NonNull TypedElement asElement)
@Nullable public CGConstantExp visitBooleanLiteralExp(@NonNull BooleanLiteralExp element)
visitBooleanLiteralExp
in interface Visitor<CGNamedElement>
visitBooleanLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGClass visitClass(Class element)
visitClass
in interface Visitor<CGNamedElement>
visitClass
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGCollectionPart visitCollectionItem(@NonNull CollectionItem element)
visitCollectionItem
in interface Visitor<CGNamedElement>
visitCollectionItem
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGCollectionExp visitCollectionLiteralExp(@NonNull CollectionLiteralExp element)
visitCollectionLiteralExp
in interface Visitor<CGNamedElement>
visitCollectionLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGCollectionPart visitCollectionRange(@NonNull CollectionRange element)
visitCollectionRange
in interface Visitor<CGNamedElement>
visitCollectionRange
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGConstraint visitConstraint(@NonNull Constraint element)
visitConstraint
in interface Visitor<CGNamedElement>
visitConstraint
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGConstantExp visitEnumLiteralExp(@NonNull EnumLiteralExp element)
visitEnumLiteralExp
in interface Visitor<CGNamedElement>
visitEnumLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGValuedElement visitExpressionInOCL(@NonNull ExpressionInOCL query)
visitExpressionInOCL
in interface Visitor<CGNamedElement>
visitExpressionInOCL
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@NonNull public CGIfExp visitIfExp(@NonNull IfExp element)
visitIfExp
in interface Visitor<CGNamedElement>
visitIfExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGConstantExp visitIntegerLiteralExp(@NonNull IntegerLiteralExp element)
visitIntegerLiteralExp
in interface Visitor<CGNamedElement>
visitIntegerLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGConstantExp visitInvalidLiteralExp(@NonNull InvalidLiteralExp element)
visitInvalidLiteralExp
in interface Visitor<CGNamedElement>
visitInvalidLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@NonNull public final CGValuedElement visitIterateExp(@NonNull IterateExp element)
visitIterateExp
in interface Visitor<CGNamedElement>
visitIterateExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@NonNull public final CGValuedElement visitIteratorExp(@NonNull IteratorExp element)
visitIteratorExp
in interface Visitor<CGNamedElement>
visitIteratorExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGLetExp visitLetExp(@NonNull LetExp element)
visitLetExp
in interface Visitor<CGNamedElement>
visitLetExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGNamedElement visitMapLiteralExp(@NonNull MapLiteralExp element)
visitMapLiteralExp
in interface Visitor<CGNamedElement>
visitMapLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGNamedElement visitMapLiteralPart(@NonNull MapLiteralPart element)
visitMapLiteralPart
in interface Visitor<CGNamedElement>
visitMapLiteralPart
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGConstantExp visitNullLiteralExp(@NonNull NullLiteralExp element)
visitNullLiteralExp
in interface Visitor<CGNamedElement>
visitNullLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGOperation visitOperation(@NonNull Operation element)
visitOperation
in interface Visitor<CGNamedElement>
visitOperation
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@NonNull public final CGValuedElement visitOperationCallExp(@NonNull OperationCallExp element)
visitOperationCallExp
in interface Visitor<CGNamedElement>
visitOperationCallExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@NonNull public final CGValuedElement visitOppositePropertyCallExp(@NonNull OppositePropertyCallExp element)
visitOppositePropertyCallExp
in interface Visitor<CGNamedElement>
visitOppositePropertyCallExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGPackage visitPackage(Package element)
visitPackage
in interface Visitor<CGNamedElement>
visitPackage
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGProperty visitProperty(@NonNull Property element)
visitProperty
in interface Visitor<CGNamedElement>
visitProperty
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@NonNull public final CGValuedElement visitPropertyCallExp(@NonNull PropertyCallExp element)
visitPropertyCallExp
in interface Visitor<CGNamedElement>
visitPropertyCallExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGConstantExp visitRealLiteralExp(@NonNull RealLiteralExp element)
visitRealLiteralExp
in interface Visitor<CGNamedElement>
visitRealLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGShadowExp visitShadowExp(@NonNull ShadowExp element)
visitShadowExp
in interface Visitor<CGNamedElement>
visitShadowExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGShadowPart visitShadowPart(@NonNull ShadowPart element)
visitShadowPart
in interface Visitor<CGNamedElement>
visitShadowPart
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGNamedElement visitStateExp(@NonNull StateExp element)
visitStateExp
in interface Visitor<CGNamedElement>
visitStateExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGConstantExp visitStringLiteralExp(@NonNull StringLiteralExp element)
visitStringLiteralExp
in interface Visitor<CGNamedElement>
visitStringLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGTupleExp visitTupleLiteralExp(@NonNull TupleLiteralExp element)
visitTupleLiteralExp
in interface Visitor<CGNamedElement>
visitTupleLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGTuplePart visitTupleLiteralPart(@NonNull TupleLiteralPart element)
visitTupleLiteralPart
in interface Visitor<CGNamedElement>
visitTupleLiteralPart
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGTypeExp visitTypeExp(@NonNull TypeExp pTypeExp)
visitTypeExp
in interface Visitor<CGNamedElement>
visitTypeExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGConstantExp visitUnlimitedNaturalLiteralExp(@NonNull UnlimitedNaturalLiteralExp element)
visitUnlimitedNaturalLiteralExp
in interface Visitor<CGNamedElement>
visitUnlimitedNaturalLiteralExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGNamedElement visitUnspecifiedValueExp(@NonNull UnspecifiedValueExp element)
visitUnspecifiedValueExp
in interface Visitor<CGNamedElement>
visitUnspecifiedValueExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGValuedElement visitVariableExp(@NonNull VariableExp asVariableExp)
visitVariableExp
in interface Visitor<CGNamedElement>
visitVariableExp
in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
@Nullable public CGValuedElement visiting(@NonNull Visitable visitable)
Visitor