public class BasicEvaluationVisitor extends AbstractEvaluationVisitor
EvaluationVisitor.EvaluationVisitorExtension
completeEnvironment, environmentFactory, evaluationEnvironment, idResolver, metamodelManager, modelManager, monitor, standardLibrary, undecoratedVisitor
context
Constructor and Description |
---|
BasicEvaluationVisitor(ExecutorInternal executor)
Constructor
|
Modifier and Type | Method and Description |
---|---|
EvaluationVisitor |
createNestedEvaluator()
Deprecated.
Evaluator no longer nests
|
void |
dispose()
Deprecated.
Evaluator no longer nest and so no longer dispose
|
java.lang.Object |
evaluate(OCLExpression body) |
static boolean |
isSimpleRange(CollectionLiteralExp cl) |
LibraryFeature |
lookupImplementation(Class dynamicType,
Operation staticOperation) |
java.lang.Object |
safeVisit(Visitable v)
A null-safe visitation of the specified visitable.
|
java.lang.Object |
visitBooleanLiteralExp(BooleanLiteralExp booleanLiteralExp)
Callback for a BooleanLiteralExp visit.
|
java.lang.Object |
visitCollectionItem(CollectionItem item) |
java.lang.Object |
visitCollectionLiteralExp(CollectionLiteralExp cl)
Callback for a CollectionLiteralExp visit.
|
java.lang.Object |
visitCollectionRange(CollectionRange range) |
java.lang.Object |
visitEnumLiteralExp(EnumLiteralExp el)
Callback for an EnumLiteralExp visit.
|
java.lang.Object |
visitExpressionInOCL(ExpressionInOCL expression) |
java.lang.Object |
visitIfExp(IfExp ifExp)
Callback for an IfExp visit.
|
java.lang.Object |
visiting(Visitable visitable)
Return the result of visiting a visitable for which no more specific pivot type method
is available.
|
java.lang.Object |
visitIntegerLiteralExp(IntegerLiteralExp integerLiteralExp)
Callback for an IntegerLiteralExp visit.
|
java.lang.Object |
visitInvalidLiteralExp(InvalidLiteralExp invalidLiteralExp) |
java.lang.Object |
visitIterateExp(IterateExp iterateExp)
Callback for an IterateExp visit.
|
java.lang.Object |
visitIteratorExp(IteratorExp iteratorExp)
Callback for an IteratorExp visit.
|
java.lang.Object |
visitLetExp(LetExp letExp)
Callback for LetExp visit.
|
java.lang.Object |
visitMapLiteralExp(MapLiteralExp mapLiteralExp)
Callback for a CollectionLiteralExp visit.
|
java.lang.Object |
visitMessageExp(MessageExp m) |
java.lang.Object |
visitNullLiteralExp(NullLiteralExp nullLiteralExp) |
java.lang.Object |
visitOperationCallExp(OperationCallExp operationCallExp)
Callback for an OperationCallExp visit.
|
java.lang.Object |
visitOppositePropertyCallExp(OppositePropertyCallExp oppositePropertyCallExp)
Callback for an OppositePropertyCallExp visit.
|
java.lang.Object |
visitPropertyCallExp(PropertyCallExp propertyCallExp)
Callback for a PropertyCallExp visit.
|
java.lang.Object |
visitRealLiteralExp(RealLiteralExp realLiteralExp)
Callback for a RealLiteralExp visit.
|
java.lang.Object |
visitShadowExp(ShadowExp ce) |
java.lang.Object |
visitStateExp(StateExp s) |
java.lang.Object |
visitStringLiteralExp(StringLiteralExp stringLiteralExp)
Callback for a StringLiteralExp visit.
|
java.lang.Object |
visitTupleLiteralExp(TupleLiteralExp tl)
Callback for a TupleLiteralExp visit.
|
java.lang.Object |
visitTupleLiteralPart(TupleLiteralPart tp) |
java.lang.Object |
visitTypeExp(TypeExp t)
Callback for a TypeExp visit.
|
java.lang.Object |
visitUnlimitedNaturalLiteralExp(UnlimitedNaturalLiteralExp unlimitedNaturalLiteralExp)
Callback for an UnlimitedNaturalLiteralExp visit.
|
java.lang.Object |
visitUnspecifiedValueExp(UnspecifiedValueExp uv)
Callback for an UnspecifiedValueExp visit.
|
java.lang.Object |
visitVariable(Variable variable)
Callback for a Variable visit.
|
java.lang.Object |
visitVariableExp(VariableExp variableExp)
Callback for a VariableExp visit.
|
createRegexCache, getCompleteEnvironment, getDiagnosticSeverity, getEnvironmentFactory, getEvaluationEnvironment, getEvaluator, getExecutor, getIdResolver, getLogger, getMetamodelManager, getModelManager, getMonitor, getRegexPattern, getSeverity, getStandardLibrary, getStaticTypeOf, getStaticTypeOf, getStaticTypeOf, getUndecoratedVisitor, isCanceled, setCanceled, setLogger, setMonitor, setUndecoratedVisitor, toString, visit, visitConstraint
visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBehavior, visitCallExp, visitCallOperationAction, visitClass, 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, visitMapLiteralPart, visitMapType, visitMessageType, visitModel, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNumericLiteralExp, visitOCLExpression, visitOperation, visitOrderedSetType, visitOrphanCompletePackage, visitPackage, visitParameter, visitPrecedence, visitPrimitiveCompletePackage, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitProperty, visitPseudostate, visitRegion, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitShadowPart, visitSignal, visitSlot, visitStandardLibrary, visitState, visitStateMachine, visitStereotype, visitStereotypeExtender, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateSignature, visitTransition, visitTrigger, visitTupleType, visitType, visitTypedElement, visitValueSpecification, visitVariableDeclaration, visitVertex, visitVoidType, visitWildcardType
getAdapter
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getAdapter, visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBehavior, visitCallExp, visitCallOperationAction, visitClass, 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, visitMapLiteralPart, visitMapType, visitMessageType, visitModel, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNumericLiteralExp, visitOCLExpression, visitOperation, visitOrderedSetType, visitOrphanCompletePackage, visitPackage, visitParameter, visitPrecedence, visitPrimitiveCompletePackage, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitProperty, visitPseudostate, visitRegion, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitShadowPart, visitSignal, visitSlot, visitStandardLibrary, visitState, visitStateMachine, visitStereotype, visitStereotypeExtender, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateSignature, visitTransition, visitTrigger, visitTupleType, visitType, visitTypedElement, visitValueSpecification, visitVariableDeclaration, visitVertex, visitVoidType, visitWildcardType
public BasicEvaluationVisitor(@NonNull ExecutorInternal executor)
evalEnv
- an evaluation environment (map of variable names to values)public static boolean isSimpleRange(@NonNull CollectionLiteralExp cl)
@Deprecated @NonNull public EvaluationVisitor createNestedEvaluator()
@Deprecated public void dispose()
@Nullable public java.lang.Object evaluate(@NonNull OCLExpression body)
@NonNull public LibraryFeature lookupImplementation(Class dynamicType, @NonNull Operation staticOperation)
public java.lang.Object safeVisit(@Nullable Visitable v)
AbstractVisitor
safeVisit
in class AbstractVisitor<java.lang.Object,ExecutorInternal>
v
- a visitable, or null
null
if the visitable is null
;
otherwise, the result of visiting itpublic java.lang.Object visitBooleanLiteralExp(@NonNull BooleanLiteralExp booleanLiteralExp)
visitBooleanLiteralExp
in interface Visitor<java.lang.Object>
visitBooleanLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitCollectionItem(@NonNull CollectionItem item)
visitCollectionItem
in interface Visitor<java.lang.Object>
visitCollectionItem
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitCollectionLiteralExp(@NonNull CollectionLiteralExp cl)
visitCollectionLiteralExp
in interface Visitor<java.lang.Object>
visitCollectionLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitCollectionRange(@NonNull CollectionRange range)
visitCollectionRange
in interface Visitor<java.lang.Object>
visitCollectionRange
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitEnumLiteralExp(@NonNull EnumLiteralExp el)
visitEnumLiteralExp
in interface Visitor<java.lang.Object>
visitEnumLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
el
- the enumeration literal expresionpublic java.lang.Object visitExpressionInOCL(@NonNull ExpressionInOCL expression)
visitExpressionInOCL
in interface Visitor<java.lang.Object>
visitExpressionInOCL
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitIfExp(@NonNull IfExp ifExp)
visitIfExp
in interface Visitor<java.lang.Object>
visitIfExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitIntegerLiteralExp(@NonNull IntegerLiteralExp integerLiteralExp)
visitIntegerLiteralExp
in interface Visitor<java.lang.Object>
visitIntegerLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitInvalidLiteralExp(@NonNull InvalidLiteralExp invalidLiteralExp)
visitInvalidLiteralExp
in interface Visitor<java.lang.Object>
visitInvalidLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitIterateExp(@NonNull IterateExp iterateExp)
visitIterateExp
in interface Visitor<java.lang.Object>
visitIterateExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitIteratorExp(@NonNull IteratorExp iteratorExp)
visitIteratorExp
in interface Visitor<java.lang.Object>
visitIteratorExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitLetExp(@NonNull LetExp letExp)
visitLetExp
in interface Visitor<java.lang.Object>
visitLetExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitMapLiteralExp(@NonNull MapLiteralExp mapLiteralExp)
visitMapLiteralExp
in interface Visitor<java.lang.Object>
visitMapLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitMessageExp(@NonNull MessageExp m)
visitMessageExp
in interface Visitor<java.lang.Object>
visitMessageExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitNullLiteralExp(@NonNull NullLiteralExp nullLiteralExp)
visitNullLiteralExp
in interface Visitor<java.lang.Object>
visitNullLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitOperationCallExp(@NonNull OperationCallExp operationCallExp)
visitOperationCallExp
in interface Visitor<java.lang.Object>
visitOperationCallExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitOppositePropertyCallExp(@NonNull OppositePropertyCallExp oppositePropertyCallExp)
visitOppositePropertyCallExp
in interface Visitor<java.lang.Object>
visitOppositePropertyCallExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitPropertyCallExp(@NonNull PropertyCallExp propertyCallExp)
visitPropertyCallExp
in interface Visitor<java.lang.Object>
visitPropertyCallExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitRealLiteralExp(@NonNull RealLiteralExp realLiteralExp)
visitRealLiteralExp
in interface Visitor<java.lang.Object>
visitRealLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitShadowExp(@NonNull ShadowExp ce)
visitShadowExp
in interface Visitor<java.lang.Object>
visitShadowExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitStateExp(@NonNull StateExp s)
visitStateExp
in interface Visitor<java.lang.Object>
visitStateExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitStringLiteralExp(@NonNull StringLiteralExp stringLiteralExp)
visitStringLiteralExp
in interface Visitor<java.lang.Object>
visitStringLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitTupleLiteralExp(@NonNull TupleLiteralExp tl)
visitTupleLiteralExp
in interface Visitor<java.lang.Object>
visitTupleLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
tl
- tuple literal expressionpublic java.lang.Object visitTupleLiteralPart(@NonNull TupleLiteralPart tp)
visitTupleLiteralPart
in interface Visitor<java.lang.Object>
visitTupleLiteralPart
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitTypeExp(@NonNull TypeExp t)
visitTypeExp
in interface Visitor<java.lang.Object>
visitTypeExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitUnlimitedNaturalLiteralExp(@NonNull UnlimitedNaturalLiteralExp unlimitedNaturalLiteralExp)
visitUnlimitedNaturalLiteralExp
in interface Visitor<java.lang.Object>
visitUnlimitedNaturalLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitUnspecifiedValueExp(@NonNull UnspecifiedValueExp uv)
visitUnspecifiedValueExp
in interface Visitor<java.lang.Object>
visitUnspecifiedValueExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitVariable(@NonNull Variable variable)
visitVariable
in interface Visitor<java.lang.Object>
visitVariable
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
public java.lang.Object visitVariableExp(@NonNull VariableExp variableExp)
visitVariableExp
in interface Visitor<java.lang.Object>
visitVariableExp
in class AbstractExtendingVisitor<java.lang.Object,ExecutorInternal>
variableExp
- the variable expression