org.eclipse.ocl.examples.debug.evaluator
Class OCLTracingEvaluationVisitor

java.lang.Object
  extended by org.eclipse.ocl.examples.pivot.util.AbstractVisitor<R,C>
      extended by org.eclipse.ocl.examples.pivot.util.AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
          extended by org.eclipse.ocl.examples.pivot.evaluation.AbstractEvaluationVisitorDecorator<IOCLVMEvaluationVisitor>
              extended by org.eclipse.ocl.examples.debug.evaluator.OCLVMEvaluationVisitorDecorator
                  extended by org.eclipse.ocl.examples.debug.evaluator.OCLAbstractTracingEvaluationVisitor
                      extended by org.eclipse.ocl.examples.debug.evaluator.OCLTracingEvaluationVisitor
All Implemented Interfaces:
IOCLVMEvaluationVisitor, IVMEvaluationVisitor<ExpressionInOCL>, DomainEvaluator, EvaluationVisitor, Visitor<java.lang.Object>

public class OCLTracingEvaluationVisitor
extends OCLAbstractTracingEvaluationVisitor

The Class OCLTracingEvaluationVisitor is a decorator visitor that prints AST, variable values and other information useful for debugging.

Author:
Horacio Hoyos

Field Summary
protected static java.lang.String DEFAULT_INDENT
          The Constant DEFAULT_INDENT.
 
Fields inherited from class org.eclipse.ocl.examples.debug.evaluator.OCLAbstractTracingEvaluationVisitor
logger, verboseLevel
 
Fields inherited from class org.eclipse.ocl.examples.pivot.evaluation.AbstractEvaluationVisitorDecorator
delegate
 
Fields inherited from class org.eclipse.ocl.examples.pivot.util.AbstractVisitor
context
 
Constructor Summary
  OCLTracingEvaluationVisitor(IOCLVMEvaluationVisitor decorated)
          Instantiates a new OCL tracing evaluation visitor.
protected OCLTracingEvaluationVisitor(IOCLVMEvaluationVisitor decorated, int indentLevel)
          Instantiates a new OCL tracing evaluation visitor.
 
Method Summary
 IOCLVMEvaluationVisitor createNestedEvaluator()
          Delegates to my decorated visitor.
 
Methods inherited from class org.eclipse.ocl.examples.debug.evaluator.OCLAbstractTracingEvaluationVisitor
getIndent, getRegexPattern, getVerboseLevel, prettyPrint, prettyPrintUnident, safePrint, setVerboseLevel
 
Methods inherited from class org.eclipse.ocl.examples.debug.evaluator.OCLVMEvaluationVisitorDecorator
dispose, evaluate, evaluate, getClonedEvaluator, getEvaluator, getIdResolver, getLogger, getMetaModelManager, getMonitor, getPluginId, getStandardLibrary, getStaticTypeOf, getStaticTypeOf, getStaticTypeOf, isCanceled, safeVisit, setCanceled, setLogger, setMonitor, visiting
 
Methods inherited from class org.eclipse.ocl.examples.pivot.evaluation.AbstractEvaluationVisitorDecorator
getDelegate, getEnvironment, getEvaluationEnvironment, getModelManager, setUndecoratedVisitor, visitAssociationClassCallExp, visitBooleanLiteralExp, visitCollectionItem, visitCollectionLiteralExp, visitCollectionRange, visitConstraint, visitConstructorExp, visitEnumLiteralExp, visitExpressionInOCL, visitIfExp, visitIntegerLiteralExp, visitInvalidLiteralExp, visitLetExp, visitMessageExp, visitNullLiteralExp, visitOperationCallExp, visitOppositePropertyCallExp, visitPropertyCallExp, visitRealLiteralExp, visitStateExp, visitStringLiteralExp, visitTupleLiteralExp, visitTupleLiteralPart, visitTypeExp, visitUnlimitedNaturalLiteralExp, visitUnspecifiedValueExp, visitVariable, visitVariableExp
 
Methods inherited from class org.eclipse.ocl.examples.pivot.util.AbstractExtendingVisitor
visitAnnotation, visitAnyType, visitAssociationClass, visitBagType, visitBehavior, visitCallExp, visitCallOperationAction, visitClass, visitCollectionLiteralPart, visitCollectionType, visitComment, visitConnectionPointReference, visitConstructorPart, visitDataType, visitDetail, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitFeature, visitFeatureCallExp, visitFinalState, visitImport, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitLambdaType, visitLibrary, visitLiteralExp, visitLoopExp, visitMessageType, visitMetaclass, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNumericLiteralExp, visitOCLExpression, visitOpaqueExpression, visitOperation, visitOperationTemplateParameter, visitOrderedSetType, visitPackage, visitPackageableElement, visitParameter, visitParameterableElement, visitPrecedence, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitProperty, 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, visitVariableDeclaration, visitVertex, visitVoidType
 
Methods inherited from class org.eclipse.ocl.examples.pivot.util.AbstractVisitor
getAdapter, visit
 
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.evaluation.EvaluationVisitor
getEnvironment, getEvaluationEnvironment, getModelManager, 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, 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
 

Field Detail

DEFAULT_INDENT

protected static final java.lang.String DEFAULT_INDENT
The Constant DEFAULT_INDENT.

See Also:
Constant Field Values
Constructor Detail

OCLTracingEvaluationVisitor

public OCLTracingEvaluationVisitor(@NonNull
                                   IOCLVMEvaluationVisitor decorated)
Instantiates a new OCL tracing evaluation visitor.

Parameters:
decorated - the decorated

OCLTracingEvaluationVisitor

protected OCLTracingEvaluationVisitor(@NonNull
                                      IOCLVMEvaluationVisitor decorated,
                                      int indentLevel)
Instantiates a new OCL tracing evaluation visitor.

Parameters:
decorated - the decorated
indentLevel - the indent level
Method Detail

createNestedEvaluator

@NonNull
public IOCLVMEvaluationVisitor createNestedEvaluator()
Description copied from class: OCLVMEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
createNestedEvaluator in interface IOCLVMEvaluationVisitor
Specified by:
createNestedEvaluator in interface DomainEvaluator
Specified by:
createNestedEvaluator in interface EvaluationVisitor
Overrides:
createNestedEvaluator in class OCLVMEvaluationVisitorDecorator