org.eclipse.ocl.examples.debug.evaluator
Class OCLVMRootEvaluationVisitor
java.lang.Object
org.eclipse.ocl.examples.pivot.util.AbstractVisitor<R,C>
org.eclipse.ocl.examples.pivot.util.AbstractWrappingVisitor<java.lang.Object,java.lang.Object,IOCLVMEvaluationVisitor,Element>
org.eclipse.ocl.examples.debug.evaluator.OCLVMEvaluationVisitor
org.eclipse.ocl.examples.debug.evaluator.OCLVMRootEvaluationVisitor
- All Implemented Interfaces:
- IOCLVMEvaluationVisitor, IVMEvaluationVisitor<ExpressionInOCL>, IVMRootEvaluationVisitor<ExpressionInOCL>, DomainEvaluator, EvaluationVisitor, Visitor<java.lang.Object>
public class OCLVMRootEvaluationVisitor
- extends OCLVMEvaluationVisitor
- implements IVMRootEvaluationVisitor<ExpressionInOCL>
Method Summary |
protected java.lang.Object |
badVisit(IVMEvaluationEnvironment<?> evalEnv,
Element element,
java.lang.Object preState,
java.lang.Throwable e)
|
void |
dispose()
|
UnitLocation |
getCurrentLocation()
|
int |
getDepth()
|
IOCLVMEvaluationEnvironment |
getEvaluationEnvironment()
Obtains the evaluation environment that keeps track of variable values
and knows how to call operations, navigate properties, etc. |
java.util.List<UnitLocation> |
getLocationStack()
|
OCLVMRootEvaluationVisitor |
getRootEvaluationVisitor()
|
IStepperVisitor |
getStepperVisitor()
|
protected void |
handleLocationChanged(Element element,
UnitLocation location,
boolean isElementEnd)
|
protected boolean |
isLargerStackDepth(UnitLocation location)
Return true if a call (stack push) has occurred on location wrt the last displayed location. |
protected boolean |
isNewLine(UnitLocation location)
Return true if a line change has occurred on location wrt the last displayed location. |
protected boolean |
isNewLocation(UnitLocation location)
Return true if a position change has occurred on location wrrt the last displayed location. |
protected boolean |
isSmallerStackDepth(UnitLocation location)
Return true if a return (stack pop) has occurred on location wrt the last displayed location. |
void |
popVisitor(OCLVMNestedEvaluationVisitor evaluationVisitor)
|
void |
postIterate(LoopExp loopExp)
|
protected void |
postVisit(IVMEvaluationEnvironment<?> evalEnv,
Element element,
java.lang.Object result)
|
void |
preIterate(LoopExp loopExp)
|
protected Element |
preVisit(IVMEvaluationEnvironment<?> evalEnv,
Element element)
|
void |
pushVisitor(OCLVMEvaluationVisitor evaluationVisitor)
|
void |
start(boolean suspendOnStartup)
|
Methods inherited from class org.eclipse.ocl.examples.debug.evaluator.OCLVMEvaluationVisitor |
badVisit, createNestedEvaluator, evaluate, evaluate, getClonedEvaluator, getEnvironment, getEvaluator, getIdResolver, getLogger, getMetaModelManager, getModelManager, getMonitor, getPluginId, getRegexPattern, getStandardLibrary, getStaticTypeOf, getStaticTypeOf, getStaticTypeOf, isCanceled, postVisit, preVisit, processDeferredTasks, setCanceled, setCurrentEnvInstructionPointer, setLogger, setMonitor, setUndecoratedVisitor, superProcessDeferredTasks, toString, visitVariable |
Methods inherited from class org.eclipse.ocl.examples.pivot.util.AbstractWrappingVisitor |
getDelegate, visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBehavior, visitBooleanLiteralExp, visitCallExp, visitCallOperationAction, visitClass, visitCollectionItem, visitCollectionLiteralExp, visitCollectionLiteralPart, visitCollectionRange, visitCollectionType, visitComment, visitConnectionPointReference, visitConstraint, visitConstructorExp, visitConstructorPart, visitDataType, visitDetail, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitEnumLiteralExp, visitExpressionInOCL, visitFeature, visitFeatureCallExp, visitFinalState, visitIfExp, visitImport, visiting, visitIntegerLiteralExp, visitInvalidLiteralExp, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitLambdaType, visitLetExp, visitLibrary, visitLiteralExp, visitLoopExp, visitMessageExp, visitMessageType, visitMetaclass, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNullLiteralExp, visitNumericLiteralExp, visitOCLExpression, visitOpaqueExpression, visitOperation, visitOperationCallExp, visitOperationTemplateParameter, visitOppositePropertyCallExp, visitOrderedSetType, visitPackage, visitPackageableElement, visitParameter, visitParameterableElement, visitPrecedence, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitProperty, visitPropertyCallExp, visitPseudostate, visitRealLiteralExp, visitRegion, visitRoot, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitState, visitStateExp, visitStateMachine, visitStereotype, visitStringLiteralExp, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateParameterType, visitTemplateSignature, visitTransition, visitTrigger, visitTupleLiteralExp, visitTupleLiteralPart, visitTupleType, visitType, visitTypedElement, visitTypedMultiplicityElement, visitTypeExp, visitTypeExtension, visitTypeTemplateParameter, visitUnlimitedNaturalLiteralExp, visitUnspecifiedType, visitUnspecifiedValueExp, visitValueSpecification, visitVariableDeclaration, visitVariableExp, visitVertex, visitVoidType |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.ocl.examples.pivot.evaluation.EvaluationVisitor |
createNestedEvaluator, evaluate, evaluate, getEnvironment, getEvaluator, getMetaModelManager, getModelManager, getMonitor, getStandardLibrary, isCanceled, setCanceled, setMonitor, setUndecoratedVisitor |
Methods inherited from interface org.eclipse.ocl.examples.pivot.util.Visitor |
getAdapter, visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBehavior, visitBooleanLiteralExp, visitCallExp, visitCallOperationAction, visitClass, visitCollectionItem, visitCollectionLiteralExp, visitCollectionLiteralPart, visitCollectionRange, visitCollectionType, visitComment, visitConnectionPointReference, visitConstraint, visitConstructorExp, visitConstructorPart, visitDataType, visitDetail, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitEnumLiteralExp, visitExpressionInOCL, visitFeature, visitFeatureCallExp, visitFinalState, visitIfExp, visitImport, visiting, visitIntegerLiteralExp, visitInvalidLiteralExp, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitLambdaType, visitLetExp, visitLibrary, visitLiteralExp, visitLoopExp, visitMessageExp, visitMessageType, visitMetaclass, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNullLiteralExp, visitNumericLiteralExp, visitOCLExpression, visitOpaqueExpression, visitOperation, visitOperationCallExp, visitOperationTemplateParameter, visitOppositePropertyCallExp, visitOrderedSetType, visitPackage, visitPackageableElement, visitParameter, visitParameterableElement, visitPrecedence, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitProperty, visitPropertyCallExp, visitPseudostate, visitRealLiteralExp, visitRegion, visitRoot, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitState, visitStateExp, visitStateMachine, visitStereotype, visitStringLiteralExp, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateParameterType, visitTemplateSignature, visitTransition, visitTrigger, visitTupleLiteralExp, visitTupleLiteralPart, visitTupleType, visitType, visitTypedElement, visitTypedMultiplicityElement, visitTypeExp, visitTypeExtension, visitTypeTemplateParameter, visitUnlimitedNaturalLiteralExp, visitUnspecifiedType, visitUnspecifiedValueExp, visitValueSpecification, visitVariable, visitVariableDeclaration, visitVariableExp, visitVertex, visitVoidType |
OCLVMRootEvaluationVisitor
public OCLVMRootEvaluationVisitor(@NonNull
OCLVMEnvironment env,
@NonNull
IOCLVMEvaluationEnvironment evalEnv,
@NonNull
IVMDebuggerShell shell)
badVisit
@Nullable
protected java.lang.Object badVisit(@NonNull
IVMEvaluationEnvironment<?> evalEnv,
@NonNull
Element element,
java.lang.Object preState,
@NonNull
java.lang.Throwable e)
- Specified by:
badVisit
in class OCLVMEvaluationVisitor
dispose
public void dispose()
- Specified by:
dispose
in interface IOCLVMEvaluationVisitor
- Specified by:
dispose
in interface DomainEvaluator
getCurrentLocation
@NonNull
public UnitLocation getCurrentLocation()
- Specified by:
getCurrentLocation
in interface IVMRootEvaluationVisitor<ExpressionInOCL>
getDepth
public int getDepth()
- Specified by:
getDepth
in class OCLVMEvaluationVisitor
getEvaluationEnvironment
@NonNull
public IOCLVMEvaluationEnvironment getEvaluationEnvironment()
- Description copied from interface:
EvaluationVisitor
- Obtains the evaluation environment that keeps track of variable values
and knows how to call operations, navigate properties, etc.
- Specified by:
getEvaluationEnvironment
in interface IVMRootEvaluationVisitor<ExpressionInOCL>
- Specified by:
getEvaluationEnvironment
in interface DomainEvaluator
- Specified by:
getEvaluationEnvironment
in interface EvaluationVisitor
- Overrides:
getEvaluationEnvironment
in class OCLVMEvaluationVisitor
- Returns:
- the evaluation environment
getLocationStack
@NonNull
public java.util.List<UnitLocation> getLocationStack()
- Specified by:
getLocationStack
in interface IVMRootEvaluationVisitor<ExpressionInOCL>
getRootEvaluationVisitor
@NonNull
public OCLVMRootEvaluationVisitor getRootEvaluationVisitor()
- Specified by:
getRootEvaluationVisitor
in class OCLVMEvaluationVisitor
getStepperVisitor
@NonNull
public IStepperVisitor getStepperVisitor()
- Specified by:
getStepperVisitor
in interface IVMRootEvaluationVisitor<ExpressionInOCL>
handleLocationChanged
protected void handleLocationChanged(@NonNull
Element element,
@NonNull
UnitLocation location,
boolean isElementEnd)
isLargerStackDepth
protected boolean isLargerStackDepth(@NonNull
UnitLocation location)
- Return true if a call (stack push) has occurred on location wrt the last displayed location.
isNewLine
protected boolean isNewLine(@NonNull
UnitLocation location)
- Return true if a line change has occurred on location wrt the last displayed location.
isNewLocation
protected boolean isNewLocation(@NonNull
UnitLocation location)
- Return true if a position change has occurred on location wrrt the last displayed location.
isSmallerStackDepth
protected boolean isSmallerStackDepth(@NonNull
UnitLocation location)
- Return true if a return (stack pop) has occurred on location wrt the last displayed location.
popVisitor
public void popVisitor(@NonNull
OCLVMNestedEvaluationVisitor evaluationVisitor)
postIterate
public void postIterate(@NonNull
LoopExp loopExp)
- Specified by:
postIterate
in interface IVMRootEvaluationVisitor<ExpressionInOCL>
postVisit
protected void postVisit(@NonNull
IVMEvaluationEnvironment<?> evalEnv,
@NonNull
Element element,
@Nullable
java.lang.Object result)
- Specified by:
postVisit
in class OCLVMEvaluationVisitor
preIterate
public void preIterate(@NonNull
LoopExp loopExp)
- Specified by:
preIterate
in interface IVMRootEvaluationVisitor<ExpressionInOCL>
preVisit
@Nullable
protected Element preVisit(@NonNull
IVMEvaluationEnvironment<?> evalEnv,
@NonNull
Element element)
- Specified by:
preVisit
in class OCLVMEvaluationVisitor
pushVisitor
public void pushVisitor(@NonNull
OCLVMEvaluationVisitor evaluationVisitor)
start
public void start(boolean suspendOnStartup)