org.eclipse.ocl.examples.debug.evaluator
Class OCLAbstractTracingEvaluationVisitor
java.lang.Object
org.eclipse.ocl.examples.pivot.util.AbstractVisitor<R,C>
org.eclipse.ocl.examples.pivot.util.AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
org.eclipse.ocl.examples.pivot.evaluation.AbstractEvaluationVisitorDecorator<IOCLVMEvaluationVisitor>
org.eclipse.ocl.examples.debug.evaluator.OCLVMEvaluationVisitorDecorator
org.eclipse.ocl.examples.debug.evaluator.OCLAbstractTracingEvaluationVisitor
- All Implemented Interfaces:
- IOCLVMEvaluationVisitor, IVMEvaluationVisitor<ExpressionInOCL>, DomainEvaluator, EvaluationVisitor, Visitor<java.lang.Object>
- Direct Known Subclasses:
- OCLTracingEvaluationVisitor
public abstract class OCLAbstractTracingEvaluationVisitor
- extends OCLVMEvaluationVisitorDecorator
The Class OCLAbstractTracingEvaluationVisitor 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. |
protected static org.apache.log4j.Logger |
logger
|
protected static int |
verboseLevel
The verbose level. |
Method Summary |
protected java.lang.String |
getIndent()
Gets the indent. |
java.util.regex.Pattern |
getRegexPattern(java.lang.String regex)
Return a cached matcher for a give regular expression. |
int |
getVerboseLevel()
Gets the verbose level. |
protected java.lang.String |
prettyPrint(java.lang.Object object)
Pretty print Objects. |
protected java.lang.String |
prettyPrintUnident(java.lang.Object object)
|
protected java.lang.String |
safePrint(Element element)
Safe print. |
void |
setVerboseLevel(int verboseLevel)
Sets the verbose level. |
Methods inherited from class org.eclipse.ocl.examples.debug.evaluator.OCLVMEvaluationVisitorDecorator |
createNestedEvaluator, 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 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, 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 |
logger
protected static org.apache.log4j.Logger logger
DEFAULT_INDENT
protected static final java.lang.String DEFAULT_INDENT
- The Constant DEFAULT_INDENT.
- See Also:
- Constant Field Values
verboseLevel
protected static int verboseLevel
- The verbose level.
OCLAbstractTracingEvaluationVisitor
public OCLAbstractTracingEvaluationVisitor(@NonNull
IOCLVMEvaluationVisitor decorated)
- Instantiates a new OCL tracing evaluation visitor.
- Parameters:
decorated
- the decorated
OCLAbstractTracingEvaluationVisitor
protected OCLAbstractTracingEvaluationVisitor(@NonNull
IOCLVMEvaluationVisitor decorated,
int indentLevel)
- Instantiates a new OCL tracing evaluation visitor.
- Parameters:
decorated
- the decoratedindentLevel
- the indent level
getVerboseLevel
public int getVerboseLevel()
- Gets the verbose level.
- Returns:
- the verbose level
setVerboseLevel
public void setVerboseLevel(int verboseLevel)
- Sets the verbose level.
- Parameters:
verboseLevel
- the new verbose level
getIndent
@NonNull
protected java.lang.String getIndent()
- Gets the indent.
- Returns:
- the indent
getRegexPattern
@NonNull
public java.util.regex.Pattern getRegexPattern(@NonNull
java.lang.String regex)
- Description copied from interface:
DomainEvaluator
- Return a cached matcher for a give regular expression.
safePrint
@NonNull
protected java.lang.String safePrint(@Nullable
Element element)
- Safe print.
- Parameters:
element
- the element
- Returns:
- the string
prettyPrint
protected java.lang.String prettyPrint(java.lang.Object object)
- Pretty print Objects. EObjects are printed at 1 level depth (i.e. no
navigation through associations). Other objects are printed as Strings
- Parameters:
object
- the object
- Returns:
- the string
prettyPrintUnident
protected java.lang.String prettyPrintUnident(java.lang.Object object)