public class ToStringVisitor<C,O,P,EL,PM,S,COA,SSA,CT> extends AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
NULL_PLACEHOLDER
Indicates where a required element in the AST was
null , so
that it is evident in the debugger that something was missing. |
result
Modifier | Constructor and Description |
---|---|
protected |
ToStringVisitor(Environment<?,C,O,P,EL,PM,S,COA,SSA,CT,?,?> env)
Initializes me with my environment.
|
Modifier and Type | Method and Description |
---|---|
protected java.util.List<? extends org.eclipse.emf.ecore.EObject> |
getConstrainedElements(CT constraint) |
static <C,O,P,EL,PM,S,COA,SSA,CT> |
getInstance(Environment<?,C,O,P,EL,PM,S,COA,SSA,CT,?,?> env)
Obtains an instance of the toString() visitor for the specified
environment.
|
static <C,O,P,EL,PM,S,COA,SSA,CT> |
getInstance(TypedElement<C> element)
Obtains an instance of the toString() visitor for the specified
expression or other typed element.
|
protected java.lang.String |
getName(java.lang.Object named)
Null-safe access to the name of a named element.
|
protected O |
getOperation(COA callOperationAction) |
protected java.util.List<PM> |
getParameters(O operation) |
protected java.lang.String |
getQualifiedName(java.lang.Object named)
Null-safe access to the qualified name of a named element.
|
protected C |
getSignal(SSA sendSignalAction) |
protected ExpressionInOCL<C,PM> |
getSpecification(CT constraint)
Overridden by subclasses interested in visiting constraints, to get the
constraint's specification.
|
protected java.lang.String |
getStereotype(CT constraint) |
protected C |
getType(java.lang.Object typedElement) |
protected java.lang.String |
handleAssociationClassCallExp(AssociationClassCallExp<C,P> ac,
java.lang.String sourceResult,
java.util.List<java.lang.String> qualifierResults)
Callback for an AssociationClassCallExp visit.
|
protected java.lang.String |
handleCollectionItem(CollectionItem<C> item,
java.lang.String itemResult)
Visits the specified collection item with the result of visiting
its item expression.
|
protected java.lang.String |
handleCollectionLiteralExp(CollectionLiteralExp<C> cl,
java.util.List<java.lang.String> partResults)
Callback for a CollectionLiteralExp visit.
|
protected java.lang.String |
handleCollectionRange(CollectionRange<C> range,
java.lang.String firstResult,
java.lang.String lastResult)
Visits the specified collection range with the results of visiting
its first and last expressions.
|
protected java.lang.String |
handleIfExp(IfExp<C> ifExp,
java.lang.String conditionResult,
java.lang.String thenResult,
java.lang.String elseResult)
Callback for an IfExp visit.
|
protected java.lang.String |
handleIterateExp(IterateExp<C,PM> callExp,
java.lang.String sourceResult,
java.util.List<java.lang.String> variableResults,
java.lang.String resultResult,
java.lang.String bodyResult)
Callback for an IterateExp visit.
|
protected java.lang.String |
handleIteratorExp(IteratorExp<C,PM> callExp,
java.lang.String sourceResult,
java.util.List<java.lang.String> variableResults,
java.lang.String bodyResult)
Callback for an IteratorExp visit.
|
protected java.lang.String |
handleLetExp(LetExp<C,PM> letExp,
java.lang.String variableResult,
java.lang.String inResult)
Callback for LetExp visit.
|
protected java.lang.String |
handleMessageExp(MessageExp<C,COA,SSA> messageExp,
java.lang.String targetResult,
java.util.List<java.lang.String> argumentResults)
Visits the specified message expression with the results of visiting
its target and arguments (if any).
|
protected java.lang.String |
handleOperationCallExp(OperationCallExp<C,O> oc,
java.lang.String sourceResult,
java.util.List<java.lang.String> argumentResults)
Callback for an OperationCallExp visit.
|
protected java.lang.String |
handlePropertyCallExp(PropertyCallExp<C,P> pc,
java.lang.String sourceResult,
java.util.List<java.lang.String> qualifierResults)
Callback for an AssociationEndCallExp visit.
|
protected java.lang.String |
handleTupleLiteralExp(TupleLiteralExp<C,P> literalExp,
java.util.List<java.lang.String> partResults)
Callback for a TupleLiteralExp visit.
|
protected java.lang.String |
handleTupleLiteralPart(TupleLiteralPart<C,P> part,
java.lang.String valueResult)
Visits the specified tuple literal part with the results of visiting
its value (if any).
|
protected java.lang.String |
handleVariable(Variable<C,PM> vd,
java.lang.String initResult)
Callback for the Variable visit.
|
protected java.lang.String |
initialLower(java.lang.String name) |
protected boolean |
isClassifier(java.lang.Object element) |
protected boolean |
isOperation(java.lang.Object element) |
protected boolean |
isProperty(java.lang.Object element) |
protected java.lang.String |
maybeAtPre(FeatureCallExp<C> mpc,
java.lang.String base) |
java.lang.String |
visitBooleanLiteralExp(BooleanLiteralExp<C> bl)
Callback for a BooleanLiteralExp visit.
|
java.lang.String |
visitConstraint(CT constraint)
Renders a constraint with its context and expression.
|
java.lang.String |
visitEnumLiteralExp(EnumLiteralExp<C,EL> el)
Callback for an EnumLiteralExp visit.
|
java.lang.String |
visitExpressionInOCL(ExpressionInOCL<C,PM> expression)
Renders an ExpressionInOcl with its context variables and body.
|
java.lang.String |
visitIntegerLiteralExp(IntegerLiteralExp<C> il)
Callback for an IntegerLiteralExp visit.
|
java.lang.String |
visitInvalidLiteralExp(InvalidLiteralExp<C> il)
Simply returns
AbstractVisitor.result . |
java.lang.String |
visitNullLiteralExp(NullLiteralExp<C> il)
Simply returns
AbstractVisitor.result . |
java.lang.String |
visitRealLiteralExp(RealLiteralExp<C> rl)
Callback for a RealLiteralExp visit.
|
java.lang.String |
visitStateExp(StateExp<C,S> s)
Simply returns
AbstractVisitor.result . |
java.lang.String |
visitStringLiteralExp(StringLiteralExp<C> sl)
Callback for a StringLiteralExp visit.
|
java.lang.String |
visitTypeExp(TypeExp<C> t)
Simply returns
AbstractVisitor.result . |
java.lang.String |
visitUnlimitedNaturalLiteralExp(UnlimitedNaturalLiteralExp<C> unl)
Callback for an UnlimitedNaturalLiteralExp visit.
|
java.lang.String |
visitUnspecifiedValueExp(UnspecifiedValueExp<C> uv)
Callback for an UnspecifiedValueExp visit.
|
java.lang.String |
visitVariableExp(VariableExp<C,PM> v)
Callback for a VariableExp visit.
|
handleConstraint, handleExpressionInOCL, safeVisit, visitAssociationClassCallExp, visitCollectionItem, visitCollectionLiteralExp, visitCollectionRange, visitIfExp, visitIterateExp, visitIteratorExp, visitLetExp, visitMessageExp, visitOperationCallExp, visitPropertyCallExp, visitTupleLiteralExp, visitTupleLiteralPart, visitVariable
protected static java.lang.String NULL_PLACEHOLDER
null
, so
that it is evident in the debugger that something was missing. We don't
want just "null"
because that would look like the OclVoid
literal.public static <C,O,P,EL,PM,S,COA,SSA,CT> ToStringVisitor<C,O,P,EL,PM,S,COA,SSA,CT> getInstance(Environment<?,C,O,P,EL,PM,S,COA,SSA,CT,?,?> env)
env
- an OCL environmentpublic static <C,O,P,EL,PM,S,COA,SSA,CT> ToStringVisitor<C,O,P,EL,PM,S,COA,SSA,CT> getInstance(TypedElement<C> element)
element
- an OCL expression or other typed element such as a variableprotected java.lang.String getName(java.lang.Object named)
named
- a named element or null
null
. i.e., null
is never returnedprotected java.lang.String getQualifiedName(java.lang.Object named)
named
- a named element or null
null
. i.e., null
is never
returnedprotected java.lang.String handleOperationCallExp(OperationCallExp<C,O> oc, java.lang.String sourceResult, java.util.List<java.lang.String> argumentResults)
handleOperationCallExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
oc
- the operation call expressionsourceResult
- the result of visiting the expression's sourceargumentResults
- the results of visiting the expression's
arguments, or an empty list if there are no argumentsAbstractVisitor.visitOperationCallExp(OperationCallExp)
public java.lang.String visitEnumLiteralExp(EnumLiteralExp<C,EL> el)
public java.lang.String visitVariableExp(VariableExp<C,PM> v)
protected java.lang.String handlePropertyCallExp(PropertyCallExp<C,P> pc, java.lang.String sourceResult, java.util.List<java.lang.String> qualifierResults)
handlePropertyCallExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
pc
- the property call expressionsourceResult
- the result of visiting the expression's sourcequalifierResults
- the results of visiting the expression's
qualifiers, or an empty list if there are no qualifiersAbstractVisitor.visitPropertyCallExp(PropertyCallExp)
protected java.lang.String handleAssociationClassCallExp(AssociationClassCallExp<C,P> ac, java.lang.String sourceResult, java.util.List<java.lang.String> qualifierResults)
handleAssociationClassCallExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
ac
- the association class expressionsourceResult
- the result of visiting the expression's sourcequalifierResults
- the results of visiting the expression's
qualifiers, or an empty list if there are no qualifiersAbstractVisitor.visitAssociationClassCallExp(AssociationClassCallExp)
protected java.lang.String initialLower(java.lang.String name)
protected java.lang.String handleVariable(Variable<C,PM> vd, java.lang.String initResult)
handleVariable
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
vd
- the variable declarationinitResult
- the result of visiting the expression's initializer,
or null
if it has noneAbstractVisitor.visitVariable(Variable)
protected java.lang.String handleIfExp(IfExp<C> ifExp, java.lang.String conditionResult, java.lang.String thenResult, java.lang.String elseResult)
handleIfExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
ifExp
- an IfExpconditionResult
- the result of visiting the expression's conditionthenResult
- the result of visiting the expression's thenelseResult
- the result of visiting the expression's elseAbstractVisitor.visitIfExp(IfExp)
public java.lang.String visitTypeExp(TypeExp<C> t)
AbstractVisitor
AbstractVisitor.result
.public java.lang.String visitStateExp(StateExp<C,S> s)
AbstractVisitor
AbstractVisitor.result
.public java.lang.String visitUnspecifiedValueExp(UnspecifiedValueExp<C> uv)
public java.lang.String visitIntegerLiteralExp(IntegerLiteralExp<C> il)
public java.lang.String visitUnlimitedNaturalLiteralExp(UnlimitedNaturalLiteralExp<C> unl)
public java.lang.String visitRealLiteralExp(RealLiteralExp<C> rl)
visitRealLiteralExp
in interface Visitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
visitRealLiteralExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
rl
- -- real literal expressionpublic java.lang.String visitStringLiteralExp(StringLiteralExp<C> sl)
visitStringLiteralExp
in interface Visitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
visitStringLiteralExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
sl
- -- string literal expressionpublic java.lang.String visitBooleanLiteralExp(BooleanLiteralExp<C> bl)
visitBooleanLiteralExp
in interface Visitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
visitBooleanLiteralExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
bl
- -- boolean literal expressionprotected java.lang.String handleLetExp(LetExp<C,PM> letExp, java.lang.String variableResult, java.lang.String inResult)
handleLetExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
letExp
- a let expressionvariableResult
- the result of visiting the expression's variableinResult
- the result of visiting the expression's in expressionAbstractVisitor.visitLetExp(LetExp)
protected java.lang.String handleIterateExp(IterateExp<C,PM> callExp, java.lang.String sourceResult, java.util.List<java.lang.String> variableResults, java.lang.String resultResult, java.lang.String bodyResult)
handleIterateExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
callExp
- an iterate expressionsourceResult
- the result of visiting the expression's sourcevariableResults
- the results of visiting the expression's
iterator variablesresultResult
- the result of visiting the expressions' result variablebodyResult
- the result of visiting the expression's bodyAbstractVisitor.visitIterateExp(IterateExp)
protected java.lang.String handleIteratorExp(IteratorExp<C,PM> callExp, java.lang.String sourceResult, java.util.List<java.lang.String> variableResults, java.lang.String bodyResult)
handleIteratorExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
callExp
- an iterator expressionsourceResult
- the result of visiting the expression's sourcevariableResults
- the results of visiting the expression's
iterator variablesbodyResult
- the result of visiting the expression's bodyAbstractVisitor.visitIteratorExp(IteratorExp)
protected java.lang.String handleCollectionLiteralExp(CollectionLiteralExp<C> cl, java.util.List<java.lang.String> partResults)
handleCollectionLiteralExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
cl
- collection literal expressionpartResults
- the results of visiting the expression's
parts, or an empty list if there are no partsAbstractVisitor.visitCollectionLiteralExp(CollectionLiteralExp)
protected java.lang.String handleCollectionItem(CollectionItem<C> item, java.lang.String itemResult)
AbstractVisitor
handleCollectionItem
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
item
- the collection itemitemResult
- the result of visiting the item's item expressionAbstractVisitor.result
, by defaultAbstractVisitor.visitCollectionItem(CollectionItem)
protected java.lang.String handleCollectionRange(CollectionRange<C> range, java.lang.String firstResult, java.lang.String lastResult)
AbstractVisitor
handleCollectionRange
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
range
- the collection rangefirstResult
- the result of visiting the range's first expressionlastResult
- the result of visiting the range's last expressionAbstractVisitor.result
, by defaultAbstractVisitor.visitCollectionRange(CollectionRange)
protected java.lang.String handleTupleLiteralExp(TupleLiteralExp<C,P> literalExp, java.util.List<java.lang.String> partResults)
handleTupleLiteralExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
literalExp
- tuple literal expressionpartResults
- the results of visiting the expression's
parts, or an empty list if there are no partsAbstractVisitor.visitTupleLiteralExp(TupleLiteralExp)
protected java.lang.String handleTupleLiteralPart(TupleLiteralPart<C,P> part, java.lang.String valueResult)
AbstractVisitor
handleTupleLiteralPart
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
part
- the tuple literal partvalueResult
- the result of visiting the expression's value, or
null
if it has no valueAbstractVisitor.result
, by defaultAbstractVisitor.visitTupleLiteralPart(TupleLiteralPart)
protected java.lang.String handleMessageExp(MessageExp<C,COA,SSA> messageExp, java.lang.String targetResult, java.util.List<java.lang.String> argumentResults)
AbstractVisitor
handleMessageExp
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
messageExp
- the message expressiontargetResult
- the result of visiting the expression's targetargumentResults
- the results of visiting the expression's
arguments, or an empty list if there are no argumentsAbstractVisitor.result
, by defaultAbstractVisitor.visitMessageExp(MessageExp)
public java.lang.String visitExpressionInOCL(ExpressionInOCL<C,PM> expression)
public java.lang.String visitConstraint(CT constraint)
protected boolean isClassifier(java.lang.Object element)
protected boolean isOperation(java.lang.Object element)
protected boolean isProperty(java.lang.Object element)
protected java.util.List<? extends org.eclipse.emf.ecore.EObject> getConstrainedElements(CT constraint)
protected java.lang.String getStereotype(CT constraint)
protected ExpressionInOCL<C,PM> getSpecification(CT constraint)
AbstractVisitor
getSpecification
in class AbstractVisitor<java.lang.String,C,O,P,EL,PM,S,COA,SSA,CT>
constraint
- a constraintAbstractVisitor.visitConstraint(Object)
protected C getType(java.lang.Object typedElement)
protected java.lang.String maybeAtPre(FeatureCallExp<C> mpc, java.lang.String base)
public java.lang.String visitInvalidLiteralExp(InvalidLiteralExp<C> il)
AbstractVisitor
AbstractVisitor.result
.public java.lang.String visitNullLiteralExp(NullLiteralExp<C> il)
AbstractVisitor
AbstractVisitor.result
.