public class EvaluationVisitorImpl<PK,C,O,P,EL,PM,S,COA,SSA,CT,CLS,E> extends AbstractEvaluationVisitor<PK,C,O,P,EL,PM,S,COA,SSA,CT,CLS,E>
result
Constructor and Description |
---|
EvaluationVisitorImpl(Environment<PK,C,O,P,EL,PM,S,COA,SSA,CT,CLS,E> env,
EvaluationEnvironment<C,O,P,CLS,E> evalEnv,
java.util.Map<? extends CLS,? extends java.util.Set<? extends E>> extentMap)
Constructor
|
Modifier and Type | Method and Description |
---|---|
protected java.util.Map<java.lang.String,java.util.regex.Matcher> |
createRegexCache()
Creates (on demand) the regular-expression matcher cache.
|
protected TypeChecker.Cached<C,O,P> |
createTypeChecker()
Create the TypeChecker used to facilitate dynamic dispatch.
|
protected java.util.regex.Matcher |
getRegexMatcher(java.lang.String regex,
java.lang.String stringToMatch)
Obtains a cached matcher for the given
regex initialized to a
string to match. |
java.lang.Object |
visitAssociationClassCallExp(AssociationClassCallExp<C,P> ae)
Callback for an AssociationClassCallExp visit.
|
java.lang.Object |
visitBooleanLiteralExp(BooleanLiteralExp<C> bl)
Callback for a BooleanLiteralExp visit.
|
java.lang.Object |
visitCollectionLiteralExp(CollectionLiteralExp<C> cl)
Callback for a CollectionLiteralExp visit.
|
java.lang.Object |
visitEnumLiteralExp(EnumLiteralExp<C,EL> el)
Callback for an EnumLiteralExp visit.
|
java.lang.Object |
visitIfExp(IfExp<C> ie)
Callback for an IfExp visit.
|
java.lang.Object |
visitIntegerLiteralExp(IntegerLiteralExp<C> il)
Callback for an IntegerLiteralExp visit.
|
java.lang.Object |
visitInvalidLiteralExp(InvalidLiteralExp<C> il)
Simply returns
AbstractVisitor.result . |
java.lang.Object |
visitIterateExp(IterateExp<C,PM> ie)
Callback for an IterateExp visit.
|
java.lang.Object |
visitIteratorExp(IteratorExp<C,PM> ie)
Callback for an IteratorExp visit.
|
java.lang.Object |
visitLetExp(LetExp<C,PM> l)
Callback for LetExp visit.
|
java.lang.Object |
visitMessageExp(MessageExp<C,COA,SSA> m)
Visits the message expression's target and then its arguments.
|
java.lang.Object |
visitNullLiteralExp(NullLiteralExp<C> il)
Simply returns
AbstractVisitor.result . |
java.lang.Object |
visitOperationCallExp(OperationCallExp<C,O> oc)
Callback for an OperationCallExp visit.
|
java.lang.Object |
visitPropertyCallExp(PropertyCallExp<C,P> pc)
Callback for a PropertyCallExp visit.
|
java.lang.Object |
visitRealLiteralExp(RealLiteralExp<C> rl)
Callback for a RealLiteralExp visit.
|
java.lang.Object |
visitStateExp(StateExp<C,S> s)
Simply returns
AbstractVisitor.result . |
java.lang.Object |
visitStringLiteralExp(StringLiteralExp<C> sl)
Callback for a StringLiteralExp visit.
|
java.lang.Object |
visitTupleLiteralExp(TupleLiteralExp<C,P> tl)
Callback for a TupleLiteralExp visit.
|
java.lang.Object |
visitTupleLiteralPart(TupleLiteralPart<C,P> tp)
Visits the tuple literal part's value, if any.
|
java.lang.Object |
visitTypeExp(TypeExp<C> t)
Callback for a TypeExp visiy.
|
java.lang.Object |
visitUnlimitedNaturalLiteralExp(UnlimitedNaturalLiteralExp<C> literalExp)
Callback for an UnlimitedNaturalLiteralExp visit.
|
java.lang.Object |
visitUnspecifiedValueExp(UnspecifiedValueExp<C> uv)
Callback for an UnspecifiedValueExp visit.
|
java.lang.Object |
visitVariable(Variable<C,PM> vd)
Callback for a VariableDeclaration visit.
|
java.lang.Object |
visitVariableExp(VariableExp<C,PM> v)
Callback for a VariableExp visit.
|
call, coerceNumber, getBoolean, getEnvironment, getEvaluationEnvironment, getExtentMap, getInteger, getInvalid, getName, getOperationBody, getPropertyBody, getReal, getSpecification, getStandardLibrary, getString, getUMLReflection, getUnlimitedNatural, getVisitor, higherPrecisionNumber, isLaxNullHandling, isUndefined, navigate, oclIsKindOf, oclIsTypeOf, safeVisitExpression, setEvaluationEnvironment, toString, visitConstraint, visitExpression
handleAssociationClassCallExp, handleCollectionItem, handleCollectionLiteralExp, handleCollectionRange, handleConstraint, handleExpressionInOCL, handleIfExp, handleIterateExp, handleIteratorExp, handleLetExp, handleMessageExp, handleOperationCallExp, handlePropertyCallExp, handleTupleLiteralExp, handleTupleLiteralPart, handleVariable, safeVisit, visitCollectionItem, visitCollectionRange, visitExpressionInOCL
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
visitCollectionItem, visitCollectionRange, visitExpressionInOCL
public EvaluationVisitorImpl(Environment<PK,C,O,P,EL,PM,S,COA,SSA,CT,CLS,E> env, EvaluationEnvironment<C,O,P,CLS,E> evalEnv, java.util.Map<? extends CLS,? extends java.util.Set<? extends E>> extentMap)
env
- an evaluation environment (map of variable names to values)extentMap
- a map of classes to their instance listsprotected TypeChecker.Cached<C,O,P> createTypeChecker()
public java.lang.Object visitOperationCallExp(OperationCallExp<C,O> oc)
public java.lang.Object visitIterateExp(IterateExp<C,PM> ie)
public java.lang.Object visitIteratorExp(IteratorExp<C,PM> ie)
public java.lang.Object visitEnumLiteralExp(EnumLiteralExp<C,EL> el)
public java.lang.Object visitVariableExp(VariableExp<C,PM> v)
public java.lang.Object visitPropertyCallExp(PropertyCallExp<C,P> pc)
public java.lang.Object visitAssociationClassCallExp(AssociationClassCallExp<C,P> ae)
public java.lang.Object visitVariable(Variable<C,PM> vd)
public java.lang.Object visitStateExp(StateExp<C,S> s)
AbstractVisitor
AbstractVisitor.result
.public java.lang.Object visitMessageExp(MessageExp<C,COA,SSA> m)
AbstractVisitor
AbstractVisitor.handleMessageExp(MessageExp, Object, List)
.public java.lang.Object visitUnspecifiedValueExp(UnspecifiedValueExp<C> uv)
public java.lang.Object visitIntegerLiteralExp(IntegerLiteralExp<C> il)
public java.lang.Object visitUnlimitedNaturalLiteralExp(UnlimitedNaturalLiteralExp<C> literalExp)
public java.lang.Object visitRealLiteralExp(RealLiteralExp<C> rl)
public java.lang.Object visitStringLiteralExp(StringLiteralExp<C> sl)
public java.lang.Object visitBooleanLiteralExp(BooleanLiteralExp<C> bl)
public java.lang.Object visitInvalidLiteralExp(InvalidLiteralExp<C> il)
AbstractVisitor
AbstractVisitor.result
.public java.lang.Object visitNullLiteralExp(NullLiteralExp<C> il)
AbstractVisitor
AbstractVisitor.result
.public java.lang.Object visitCollectionLiteralExp(CollectionLiteralExp<C> cl)
public java.lang.Object visitTupleLiteralExp(TupleLiteralExp<C,P> tl)
public java.lang.Object visitTupleLiteralPart(TupleLiteralPart<C,P> tp)
AbstractVisitor
AbstractVisitor.handleTupleLiteralPart(TupleLiteralPart, Object)
.protected java.util.regex.Matcher getRegexMatcher(java.lang.String regex, java.lang.String stringToMatch)
regex
initialized to a
string to match.regex
- a regular expression to get from (or create in) the cachestringToMatch
- the search string with which to (re-)initialize the matchernull
(failure to parse the
regex raises an exception)createRegexCache()
protected java.util.Map<java.lang.String,java.util.regex.Matcher> createRegexCache()
getRegexMatcher(String, String)