org.eclipse.ocl.examples.pivot.evaluation
Class TracingEvaluationVisitor

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<EvaluationVisitor>
              extended by org.eclipse.ocl.examples.pivot.evaluation.EvaluationVisitorDecorator
                  extended by org.eclipse.ocl.examples.pivot.evaluation.TracingEvaluationVisitor
All Implemented Interfaces:
DomainEvaluator, EvaluationVisitor, Visitor<java.lang.Object>

public class TracingEvaluationVisitor
extends EvaluationVisitorDecorator

A decorator for evaluation visitors that is installed when evaluation tracing is enabled, to trace interim evaluation results to the console.


Field Summary
 
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
TracingEvaluationVisitor(EvaluationVisitor decorated)
          Initializes me with the visitor whose evaluation I trace to the console.
 
Method Summary
 EvaluationVisitor createNestedEvaluator()
          Delegates to my decorated visitor.
 void dispose()
           
 java.lang.Object evaluate(DomainExpression body)
           
 java.lang.Object evaluate(ExpressionInOCL expressionInOCL)
           
 EvaluationVisitor getEvaluator()
           
 IdResolver getIdResolver()
           
 DomainLogger getLogger()
          Return the logger handling oclLog() invocations or null for none.
 MetaModelManager getMetaModelManager()
           
 org.eclipse.emf.common.util.Monitor getMonitor()
           
 java.util.regex.Pattern getRegexPattern(java.lang.String regex)
          Return a cached matcher for a give regular expression.
 DomainStandardLibrary getStandardLibrary()
           
 DomainType getStaticTypeOf(java.lang.Object value)
           
 DomainType getStaticTypeOf(java.lang.Object value, java.lang.Iterable<?> values)
           
 DomainType getStaticTypeOf(java.lang.Object value, java.lang.Object... values)
           
 boolean isCanceled()
          Return true if the evaluation has been canceled.
 void setCanceled(boolean isCanceled)
          Request cancelation of the current the evaluation, or reset the request for a new evaluation.
 void setLogger(DomainLogger logger)
          Specify the logger to handle oclLog() invocations or null for none.
 void setMonitor(org.eclipse.emf.common.util.Monitor monitor)
           
protected  java.lang.Object trace(Element expression, java.lang.Object value)
           
 java.lang.Object visitAssociationClassCallExp(AssociationClassCallExp callExp)
          Delegates to my decorated visitor.
 java.lang.Object visitBooleanLiteralExp(BooleanLiteralExp literalExp)
          Delegates to my decorated visitor.
 java.lang.Object visitCollectionItem(CollectionItem item)
          Delegates to my decorated visitor.
 java.lang.Object visitCollectionLiteralExp(CollectionLiteralExp literalExp)
          Delegates to my decorated visitor.
 java.lang.Object visitCollectionRange(CollectionRange range)
          Delegates to my decorated visitor.
 java.lang.Object visitConstraint(Constraint constraint)
          Delegates to my decorated visitor.
 java.lang.Object visitConstructorExp(ConstructorExp constraint)
          Delegates to my decorated visitor.
 java.lang.Object visitEnumLiteralExp(EnumLiteralExp literalExp)
          Delegates to my decorated visitor.
 java.lang.Object visitExpressionInOCL(ExpressionInOCL expression)
          Delegates to my decorated visitor.
 java.lang.Object visitIfExp(IfExp ifExp)
          Delegates to my decorated visitor.
 java.lang.Object visitIntegerLiteralExp(IntegerLiteralExp literalExp)
          Delegates to my decorated visitor.
 java.lang.Object visitInvalidLiteralExp(InvalidLiteralExp literalExp)
          Delegates to my decorated visitor.
 java.lang.Object visitLetExp(LetExp letExp)
          Delegates to my decorated visitor.
 java.lang.Object visitMessageExp(MessageExp messageExp)
          Delegates to my decorated visitor.
 java.lang.Object visitNullLiteralExp(NullLiteralExp literalExp)
          Delegates to my decorated visitor.
 java.lang.Object visitOperationCallExp(OperationCallExp callExp)
          Delegates to my decorated visitor.
 java.lang.Object visitOppositePropertyCallExp(OppositePropertyCallExp callExp)
          Delegates to my decorated visitor.
 java.lang.Object visitPropertyCallExp(PropertyCallExp callExp)
          Delegates to my decorated visitor.
 java.lang.Object visitRealLiteralExp(RealLiteralExp literalExp)
          Delegates to my decorated visitor.
 java.lang.Object visitStateExp(StateExp stateExp)
          Delegates to my decorated visitor.
 java.lang.Object visitStringLiteralExp(StringLiteralExp literalExp)
          Delegates to my decorated visitor.
 java.lang.Object visitTupleLiteralExp(TupleLiteralExp literalExp)
          Delegates to my decorated visitor.
 java.lang.Object visitTupleLiteralPart(TupleLiteralPart part)
          Delegates to my decorated visitor.
 java.lang.Object visitTypeExp(TypeExp typeExp)
          Delegates to my decorated visitor.
 java.lang.Object visitUnlimitedNaturalLiteralExp(UnlimitedNaturalLiteralExp literalExp)
          Delegates to my decorated visitor.
 java.lang.Object visitUnspecifiedValueExp(UnspecifiedValueExp unspecExp)
          Delegates to my decorated visitor.
 java.lang.Object visitVariable(Variable variable)
          Delegates to my decorated visitor.
 java.lang.Object visitVariableExp(VariableExp variableExp)
          Delegates to my decorated visitor.
 
Methods inherited from class org.eclipse.ocl.examples.pivot.evaluation.AbstractEvaluationVisitorDecorator
getDelegate, getEnvironment, getEvaluationEnvironment, getModelManager, setUndecoratedVisitor, visiting
 
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, safeVisit, 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.util.Visitor
getAdapter, 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
 

Constructor Detail

TracingEvaluationVisitor

public TracingEvaluationVisitor(@NonNull
                                EvaluationVisitor decorated)
Initializes me with the visitor whose evaluation I trace to the console.

Parameters:
decorated - a real evaluation visitor
Method Detail

createNestedEvaluator

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

Specified by:
createNestedEvaluator in interface DomainEvaluator
Specified by:
createNestedEvaluator in interface EvaluationVisitor
Overrides:
createNestedEvaluator in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

dispose

public void dispose()

evaluate

@Nullable
public java.lang.Object evaluate(@NonNull
                                          DomainExpression body)

evaluate

@Nullable
public java.lang.Object evaluate(@NonNull
                                          ExpressionInOCL expressionInOCL)

getEvaluator

@NonNull
public EvaluationVisitor getEvaluator()

getIdResolver

@NonNull
public IdResolver getIdResolver()

getLogger

@Nullable
public DomainLogger getLogger()
Description copied from interface: DomainEvaluator
Return the logger handling oclLog() invocations or null for none.


getMetaModelManager

@NonNull
public MetaModelManager getMetaModelManager()

getMonitor

@Nullable
public org.eclipse.emf.common.util.Monitor getMonitor()

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.


getStandardLibrary

@NonNull
public DomainStandardLibrary getStandardLibrary()

getStaticTypeOf

@NonNull
public DomainType getStaticTypeOf(@Nullable
                                          java.lang.Object value)

getStaticTypeOf

@NonNull
public DomainType getStaticTypeOf(@Nullable
                                          java.lang.Object value,
                                          @NonNull
                                          java.lang.Object... values)

getStaticTypeOf

@NonNull
public DomainType getStaticTypeOf(@Nullable
                                          java.lang.Object value,
                                          @NonNull
                                          java.lang.Iterable<?> values)

isCanceled

public boolean isCanceled()
Description copied from interface: DomainEvaluator
Return true if the evaluation has been canceled.


setCanceled

public void setCanceled(boolean isCanceled)
Description copied from interface: DomainEvaluator
Request cancelation of the current the evaluation, or reset the request for a new evaluation. Cancelation occurs by throwing an EvaluationHaltedException when #getValuefactory() is next invoked.


setLogger

public void setLogger(@Nullable
                      DomainLogger logger)
Description copied from interface: DomainEvaluator
Specify the logger to handle oclLog() invocations or null for none.


setMonitor

public void setMonitor(@Nullable
                       org.eclipse.emf.common.util.Monitor monitor)

trace

@Nullable
protected java.lang.Object trace(@NonNull
                                          Element expression,
                                          @Nullable
                                          java.lang.Object value)

visitAssociationClassCallExp

@Nullable
public java.lang.Object visitAssociationClassCallExp(@NonNull
                                                              AssociationClassCallExp callExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitAssociationClassCallExp in interface Visitor<java.lang.Object>
Overrides:
visitAssociationClassCallExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitBooleanLiteralExp

@Nullable
public java.lang.Object visitBooleanLiteralExp(@NonNull
                                                        BooleanLiteralExp literalExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitBooleanLiteralExp in interface Visitor<java.lang.Object>
Overrides:
visitBooleanLiteralExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitCollectionItem

@Nullable
public java.lang.Object visitCollectionItem(@NonNull
                                                     CollectionItem item)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitCollectionItem in interface Visitor<java.lang.Object>
Overrides:
visitCollectionItem in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitCollectionLiteralExp

@Nullable
public java.lang.Object visitCollectionLiteralExp(@NonNull
                                                           CollectionLiteralExp literalExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitCollectionLiteralExp in interface Visitor<java.lang.Object>
Overrides:
visitCollectionLiteralExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitCollectionRange

@Nullable
public java.lang.Object visitCollectionRange(@NonNull
                                                      CollectionRange range)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitCollectionRange in interface Visitor<java.lang.Object>
Overrides:
visitCollectionRange in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitConstraint

@Nullable
public java.lang.Object visitConstraint(@NonNull
                                                 Constraint constraint)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitConstraint in interface Visitor<java.lang.Object>
Overrides:
visitConstraint in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitConstructorExp

@Nullable
public java.lang.Object visitConstructorExp(@NonNull
                                                     ConstructorExp constraint)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitConstructorExp in interface Visitor<java.lang.Object>
Overrides:
visitConstructorExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitEnumLiteralExp

@Nullable
public java.lang.Object visitEnumLiteralExp(@NonNull
                                                     EnumLiteralExp literalExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitEnumLiteralExp in interface Visitor<java.lang.Object>
Overrides:
visitEnumLiteralExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitExpressionInOCL

@Nullable
public java.lang.Object visitExpressionInOCL(@NonNull
                                                      ExpressionInOCL expression)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitExpressionInOCL in interface Visitor<java.lang.Object>
Overrides:
visitExpressionInOCL in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitIfExp

@Nullable
public java.lang.Object visitIfExp(@NonNull
                                            IfExp ifExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitIfExp in interface Visitor<java.lang.Object>
Overrides:
visitIfExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitIntegerLiteralExp

@Nullable
public java.lang.Object visitIntegerLiteralExp(@NonNull
                                                        IntegerLiteralExp literalExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitIntegerLiteralExp in interface Visitor<java.lang.Object>
Overrides:
visitIntegerLiteralExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitInvalidLiteralExp

@Nullable
public java.lang.Object visitInvalidLiteralExp(@NonNull
                                                        InvalidLiteralExp literalExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitInvalidLiteralExp in interface Visitor<java.lang.Object>
Overrides:
visitInvalidLiteralExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitLetExp

@Nullable
public java.lang.Object visitLetExp(@NonNull
                                             LetExp letExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitLetExp in interface Visitor<java.lang.Object>
Overrides:
visitLetExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitMessageExp

@Nullable
public java.lang.Object visitMessageExp(@NonNull
                                                 MessageExp messageExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitMessageExp in interface Visitor<java.lang.Object>
Overrides:
visitMessageExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitNullLiteralExp

@Nullable
public java.lang.Object visitNullLiteralExp(@NonNull
                                                     NullLiteralExp literalExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitNullLiteralExp in interface Visitor<java.lang.Object>
Overrides:
visitNullLiteralExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitOperationCallExp

@Nullable
public java.lang.Object visitOperationCallExp(@NonNull
                                                       OperationCallExp callExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitOperationCallExp in interface Visitor<java.lang.Object>
Overrides:
visitOperationCallExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitOppositePropertyCallExp

@Nullable
public java.lang.Object visitOppositePropertyCallExp(@NonNull
                                                              OppositePropertyCallExp callExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitOppositePropertyCallExp in interface Visitor<java.lang.Object>
Overrides:
visitOppositePropertyCallExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitPropertyCallExp

@Nullable
public java.lang.Object visitPropertyCallExp(@NonNull
                                                      PropertyCallExp callExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitPropertyCallExp in interface Visitor<java.lang.Object>
Overrides:
visitPropertyCallExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitRealLiteralExp

@Nullable
public java.lang.Object visitRealLiteralExp(@NonNull
                                                     RealLiteralExp literalExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitRealLiteralExp in interface Visitor<java.lang.Object>
Overrides:
visitRealLiteralExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitStateExp

@Nullable
public java.lang.Object visitStateExp(@NonNull
                                               StateExp stateExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitStateExp in interface Visitor<java.lang.Object>
Overrides:
visitStateExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitStringLiteralExp

@Nullable
public java.lang.Object visitStringLiteralExp(@NonNull
                                                       StringLiteralExp literalExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitStringLiteralExp in interface Visitor<java.lang.Object>
Overrides:
visitStringLiteralExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitTupleLiteralExp

@Nullable
public java.lang.Object visitTupleLiteralExp(@NonNull
                                                      TupleLiteralExp literalExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitTupleLiteralExp in interface Visitor<java.lang.Object>
Overrides:
visitTupleLiteralExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitTupleLiteralPart

@Nullable
public java.lang.Object visitTupleLiteralPart(@NonNull
                                                       TupleLiteralPart part)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitTupleLiteralPart in interface Visitor<java.lang.Object>
Overrides:
visitTupleLiteralPart in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitTypeExp

@Nullable
public java.lang.Object visitTypeExp(@NonNull
                                              TypeExp typeExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitTypeExp in interface Visitor<java.lang.Object>
Overrides:
visitTypeExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitUnlimitedNaturalLiteralExp

@Nullable
public java.lang.Object visitUnlimitedNaturalLiteralExp(@NonNull
                                                                 UnlimitedNaturalLiteralExp literalExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitUnlimitedNaturalLiteralExp in interface Visitor<java.lang.Object>
Overrides:
visitUnlimitedNaturalLiteralExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitUnspecifiedValueExp

@Nullable
public java.lang.Object visitUnspecifiedValueExp(@NonNull
                                                          UnspecifiedValueExp unspecExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitUnspecifiedValueExp in interface Visitor<java.lang.Object>
Overrides:
visitUnspecifiedValueExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitVariable

@Nullable
public java.lang.Object visitVariable(@NonNull
                                               Variable variable)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitVariable in interface Visitor<java.lang.Object>
Overrides:
visitVariable in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>

visitVariableExp

@Nullable
public java.lang.Object visitVariableExp(@NonNull
                                                  VariableExp variableExp)
Description copied from class: AbstractEvaluationVisitorDecorator
Delegates to my decorated visitor.

Specified by:
visitVariableExp in interface Visitor<java.lang.Object>
Overrides:
visitVariableExp in class AbstractEvaluationVisitorDecorator<EvaluationVisitor>