org.eclipse.ocl.examples.codegen.analyzer
Class AS2CGVisitor
java.lang.Object
org.eclipse.ocl.examples.pivot.util.AbstractVisitor<R,C>
org.eclipse.ocl.examples.pivot.util.AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
org.eclipse.ocl.examples.codegen.analyzer.AS2CGVisitor
- All Implemented Interfaces:
- Visitor<CGNamedElement>
- Direct Known Subclasses:
- AutoAS2CGVisitor, OCLinEcoreAS2CGVisitor
public class AS2CGVisitor
- extends AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
The AS2CGVisitor performs the first stage of code generation by converting the Pivot AST to the CG AST.
| Methods inherited from class org.eclipse.ocl.examples.pivot.util.AbstractExtendingVisitor |
visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBehavior, visitCallExp, visitCallOperationAction, visitCollectionLiteralPart, visitCollectionType, visitComment, visitConnectionPointReference, visitDataType, visitDetail, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitFeature, visitFeatureCallExp, visitFinalState, visitImport, visitInvalidType, visitIteration, visitLambdaType, visitLibrary, visitLiteralExp, visitLoopExp, visitMessageExp, visitMessageType, visitMetaclass, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNumericLiteralExp, visitOCLExpression, visitOpaqueExpression, visitOperationTemplateParameter, visitOrderedSetType, visitPackageableElement, visitParameter, visitParameterableElement, visitPrecedence, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitPseudostate, visitRegion, visitRoot, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitState, visitStateMachine, visitStereotype, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateParameterType, visitTemplateSignature, visitTransition, visitTrigger, visitTupleType, visitType, visitTypedElement, visitTypedMultiplicityElement, visitTypeExtension, visitTypeTemplateParameter, visitUnspecifiedType, visitValueSpecification, visitVariable, visitVariableDeclaration, visitVertex, visitVoidType |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.eclipse.ocl.examples.pivot.util.Visitor |
getAdapter |
codeGenerator
@NonNull
protected final CodeGenerator codeGenerator
metaModelManager
@NonNull
protected final MetaModelManager metaModelManager
genModelHelper
@NonNull
protected final GenModelHelper genModelHelper
AS2CGVisitor
public AS2CGVisitor(@NonNull
CodeGenAnalyzer analyzer)
addParameter
protected void addParameter(@NonNull
Variable aParameter,
@NonNull
CGParameter cgParameter)
basicGetParameter
@Nullable
public CGVariable basicGetParameter(@NonNull
Variable aParameter)
createCGVariable
@NonNull
public CGVariable createCGVariable(@NonNull
Variable asVariable)
createCGVariable
protected CGVariable createCGVariable(@NonNull
Variable contextVariable,
@NonNull
OCLExpression source)
doVisit
@NonNull
public <T extends CGElement> T doVisit(@NonNull
java.lang.Class<T> requiredClass,
@Nullable
Element pElement)
getAnalyzer
@NonNull
public CodeGenAnalyzer getAnalyzer()
getIterator
@NonNull
public CGIterator getIterator(@NonNull
VariableDeclaration asVariable)
getLocalVariable
@NonNull
public CGVariable getLocalVariable(@NonNull
VariableDeclaration asVariable)
getParameter
@NonNull
public CGParameter getParameter(@NonNull
Variable aParameter)
getSelfParameter
@NonNull
public CGParameter getSelfParameter(@NonNull
Variable aParameter)
getVariable
@NonNull
public CGVariable getVariable(@NonNull
VariableDeclaration asVariable)
getVariablesStack
@NonNull
public AS2CGVisitor.Variables getVariablesStack()
inlineOperationCall
@Nullable
protected CGValuedElement inlineOperationCall(@NonNull
OperationCallExp callExp,
@NonNull
OpaqueExpression bodyExpression)
isEcoreProperty
protected boolean isEcoreProperty(@NonNull
LibraryProperty libraryProperty)
setAst
protected void setAst(@NonNull
CGNamedElement cgElement,
@NonNull
NamedElement asElement)
setAst
protected void setAst(@NonNull
CGTypedElement cgElement,
@NonNull
TypedElement asElement)
visitBooleanLiteralExp
@Nullable
public CGConstantExp visitBooleanLiteralExp(@NonNull
BooleanLiteralExp element)
- Specified by:
visitBooleanLiteralExp in interface Visitor<CGNamedElement>- Overrides:
visitBooleanLiteralExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitClass
@Nullable
public CGClass visitClass(@NonNull
Class element)
- Specified by:
visitClass in interface Visitor<CGNamedElement>- Overrides:
visitClass in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitCollectionItem
@Nullable
public CGCollectionPart visitCollectionItem(@NonNull
CollectionItem element)
- Specified by:
visitCollectionItem in interface Visitor<CGNamedElement>- Overrides:
visitCollectionItem in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitCollectionLiteralExp
@Nullable
public CGCollectionExp visitCollectionLiteralExp(@NonNull
CollectionLiteralExp element)
- Specified by:
visitCollectionLiteralExp in interface Visitor<CGNamedElement>- Overrides:
visitCollectionLiteralExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitCollectionRange
@Nullable
public CGCollectionPart visitCollectionRange(@NonNull
CollectionRange element)
- Specified by:
visitCollectionRange in interface Visitor<CGNamedElement>- Overrides:
visitCollectionRange in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitConstraint
@Nullable
public CGConstraint visitConstraint(@NonNull
Constraint element)
- Specified by:
visitConstraint in interface Visitor<CGNamedElement>- Overrides:
visitConstraint in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitConstructorExp
@Nullable
public CGConstructorExp visitConstructorExp(@NonNull
ConstructorExp element)
- Specified by:
visitConstructorExp in interface Visitor<CGNamedElement>- Overrides:
visitConstructorExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitConstructorPart
@Nullable
public CGConstructorPart visitConstructorPart(@NonNull
ConstructorPart element)
- Specified by:
visitConstructorPart in interface Visitor<CGNamedElement>- Overrides:
visitConstructorPart in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitEnumLiteralExp
@Nullable
public CGConstantExp visitEnumLiteralExp(@NonNull
EnumLiteralExp element)
- Specified by:
visitEnumLiteralExp in interface Visitor<CGNamedElement>- Overrides:
visitEnumLiteralExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitExpressionInOCL
@NonNull
public CGValuedElement visitExpressionInOCL(@NonNull
ExpressionInOCL element)
- Specified by:
visitExpressionInOCL in interface Visitor<CGNamedElement>- Overrides:
visitExpressionInOCL in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitIfExp
@NonNull
public CGIfExp visitIfExp(@NonNull
IfExp element)
- Specified by:
visitIfExp in interface Visitor<CGNamedElement>- Overrides:
visitIfExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitIntegerLiteralExp
@Nullable
public CGConstantExp visitIntegerLiteralExp(@NonNull
IntegerLiteralExp element)
- Specified by:
visitIntegerLiteralExp in interface Visitor<CGNamedElement>- Overrides:
visitIntegerLiteralExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitInvalidLiteralExp
@Nullable
public CGConstantExp visitInvalidLiteralExp(@NonNull
InvalidLiteralExp element)
- Specified by:
visitInvalidLiteralExp in interface Visitor<CGNamedElement>- Overrides:
visitInvalidLiteralExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitIterateExp
@NonNull
public CGIterationCallExp visitIterateExp(@NonNull
IterateExp element)
- Specified by:
visitIterateExp in interface Visitor<CGNamedElement>- Overrides:
visitIterateExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitIteratorExp
@NonNull
public CGIterationCallExp visitIteratorExp(@NonNull
IteratorExp element)
- Specified by:
visitIteratorExp in interface Visitor<CGNamedElement>- Overrides:
visitIteratorExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitLetExp
@Nullable
public CGLetExp visitLetExp(@NonNull
LetExp element)
- Specified by:
visitLetExp in interface Visitor<CGNamedElement>- Overrides:
visitLetExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitNullLiteralExp
@Nullable
public CGConstantExp visitNullLiteralExp(@NonNull
NullLiteralExp element)
- Specified by:
visitNullLiteralExp in interface Visitor<CGNamedElement>- Overrides:
visitNullLiteralExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitOperation
@Nullable
public CGOperation visitOperation(@NonNull
Operation element)
- Specified by:
visitOperation in interface Visitor<CGNamedElement>- Overrides:
visitOperation in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitOperationCallExp
@NonNull
public CGValuedElement visitOperationCallExp(@NonNull
OperationCallExp element)
- Specified by:
visitOperationCallExp in interface Visitor<CGNamedElement>- Overrides:
visitOperationCallExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitOppositePropertyCallExp
@NonNull
public CGValuedElement visitOppositePropertyCallExp(@NonNull
OppositePropertyCallExp element)
- Specified by:
visitOppositePropertyCallExp in interface Visitor<CGNamedElement>- Overrides:
visitOppositePropertyCallExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitPackage
@Nullable
public CGPackage visitPackage(@NonNull
Package element)
- Specified by:
visitPackage in interface Visitor<CGNamedElement>- Overrides:
visitPackage in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitProperty
@Nullable
public CGProperty visitProperty(@NonNull
Property element)
- Specified by:
visitProperty in interface Visitor<CGNamedElement>- Overrides:
visitProperty in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitPropertyCallExp
@NonNull
public CGValuedElement visitPropertyCallExp(@NonNull
PropertyCallExp element)
- Specified by:
visitPropertyCallExp in interface Visitor<CGNamedElement>- Overrides:
visitPropertyCallExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitRealLiteralExp
@Nullable
public CGConstantExp visitRealLiteralExp(@NonNull
RealLiteralExp element)
- Specified by:
visitRealLiteralExp in interface Visitor<CGNamedElement>- Overrides:
visitRealLiteralExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitStateExp
@Nullable
public CGNamedElement visitStateExp(@NonNull
StateExp element)
- Specified by:
visitStateExp in interface Visitor<CGNamedElement>- Overrides:
visitStateExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitStringLiteralExp
@Nullable
public CGConstantExp visitStringLiteralExp(@NonNull
StringLiteralExp element)
- Specified by:
visitStringLiteralExp in interface Visitor<CGNamedElement>- Overrides:
visitStringLiteralExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitTupleLiteralExp
@Nullable
public CGTupleExp visitTupleLiteralExp(@NonNull
TupleLiteralExp element)
- Specified by:
visitTupleLiteralExp in interface Visitor<CGNamedElement>- Overrides:
visitTupleLiteralExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitTupleLiteralPart
@Nullable
public CGTuplePart visitTupleLiteralPart(@NonNull
TupleLiteralPart element)
- Specified by:
visitTupleLiteralPart in interface Visitor<CGNamedElement>- Overrides:
visitTupleLiteralPart in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitTypeExp
@Nullable
public CGTypeExp visitTypeExp(@NonNull
TypeExp pTypeExp)
- Specified by:
visitTypeExp in interface Visitor<CGNamedElement>- Overrides:
visitTypeExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitUnlimitedNaturalLiteralExp
@Nullable
public CGConstantExp visitUnlimitedNaturalLiteralExp(@NonNull
UnlimitedNaturalLiteralExp element)
- Specified by:
visitUnlimitedNaturalLiteralExp in interface Visitor<CGNamedElement>- Overrides:
visitUnlimitedNaturalLiteralExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitUnspecifiedValueExp
@Nullable
public CGNamedElement visitUnspecifiedValueExp(@NonNull
UnspecifiedValueExp element)
- Specified by:
visitUnspecifiedValueExp in interface Visitor<CGNamedElement>- Overrides:
visitUnspecifiedValueExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visitVariableExp
@Nullable
public CGValuedElement visitVariableExp(@NonNull
VariableExp asVariableExp)
- Specified by:
visitVariableExp in interface Visitor<CGNamedElement>- Overrides:
visitVariableExp in class AbstractExtendingVisitor<CGNamedElement,CodeGenAnalyzer>
visiting
@Nullable
public CGValuedElement visiting(@NonNull
Visitable visitable)
- Description copied from interface:
Visitor
- Return the result of visiting a visitable for which no more specific pivot type method
is available.