A Transformer
with the default operation to narrow the type of the visited subject;
all methods for abstract node types have a default implementation while those for
concrete node types remain formal.
There are two ways to perform this narrowing:
transform
(Node.transform
) method on the subject, ortransformX
method
on the transformer.It should be possible to use them interchangeably (swap out the satisfying type of your implementing class without any effect), and since the immediate version is faster (it’s only a virtual method lookup instead of a series of calls and type checks), you should probably use that.
no type hierarchy
Inherited Attributes |
Attributes inherited from: Object hash , string |
Methods | |
transformAddingExpression | shared formal Result transformAddingExpression(AddingExpression that) |
transformAssigningExpression | shared formal Result transformAssigningExpression(AssigningExpression that) |
transformComparingExpression | shared formal Result transformComparingExpression(ComparingExpression that) |
transformConjoiningExpression | shared formal Result transformConjoiningExpression(ConjoiningExpression that) |
transformDisjoiningExpression | shared formal Result transformDisjoiningExpression(DisjoiningExpression that) |
transformEquatingExpression | shared formal Result transformEquatingExpression(EquatingExpression that) |
transformExistsNonemptyExpression | shared formal Result transformExistsNonemptyExpression(ExistsNonemptyExpression that) |
transformExponentiatingExpression | shared formal Result transformExponentiatingExpression(ExponentiatingExpression that) |
transformIntersectingExpression | shared formal Result transformIntersectingExpression(IntersectingExpression that) |
transformInvertingExpression | shared formal Result transformInvertingExpression(InvertingExpression that) |
transformMultiplyingExpression | shared formal Result transformMultiplyingExpression(MultiplyingExpression that) |
transformNegatingExpression | shared formal Result transformNegatingExpression(NegatingExpression that) |
transformPrePostfixingExpression | shared formal Result transformPrePostfixingExpression(PrePostfixingExpression that) |
transformScalingExpression | shared formal Result transformScalingExpression(ScalingExpression that) |
transformSpanningExpression | shared formal Result transformSpanningExpression(SpanningExpression that) |
transformStructureExpression | shared formal Result transformStructureExpression(StructureExpression that) |
transformThenElseExpression | shared formal Result transformThenElseExpression(ThenElseExpression that) |
transformUnioningExpression | shared formal Result transformUnioningExpression(UnioningExpression that) |