public final class WhenClause<T extends GoloElement<?>> extends GoloElement<WhenClause<T>>
Modifier and Type | Method and Description |
---|---|
java.lang.Object[] |
__$$_destruct(int number,
boolean substruct,
java.lang.Object[] toSkip)
New style destructuring helper.
|
void |
accept(GoloIrVisitor visitor)
Accept the visitor.
|
T |
action() |
java.util.List<GoloElement<?>> |
children()
Returns a list of all the direct children of this node.
|
ExpressionStatement<?> |
condition() |
Tuple |
destruct()
Deprecated.
This method should not be called directly and is no more used by new style destructuring.
|
protected void |
replaceElement(GoloElement<?> original,
GoloElement<?> newElement)
Replace a child.
|
protected WhenClause<T> |
self() |
WhenClause<T> |
then(T action) |
java.lang.String |
toString() |
ancestor, ancestor, ancestorOfType, cantConvert, cantReplace, cantReplace, children, children, descendants, descendants, descendants, documentation, documentation, doesNotContain, enclosingModule, getLocalReferenceTable, hasParent, hasPosition, inheritedMetadata, makeParentOf, metadata, metadata, next, next, next, ofAST, parent, positionInSourceCode, positionInSourceCode, previous, previous, previous, replaceInParentBy, walk
protected WhenClause<T> self()
self
in class GoloElement<WhenClause<T extends GoloElement<?>>>
public ExpressionStatement<?> condition()
public WhenClause<T> then(T action)
public java.lang.String toString()
toString
in class java.lang.Object
protected void replaceElement(GoloElement<?> original, GoloElement<?> newElement)
Replace original
with newElement
if original
is a child of this node
and type matches.
replaceElement
in class GoloElement<WhenClause<T extends GoloElement<?>>>
original
- the original value to replace. Must be a child of this nodenewElement
- the element to replace with. Type must match.GoloElement.cantReplace()
,
GoloElement.cantReplace(GoloElement, GoloElement)
,
GoloElement.doesNotContain(GoloElement)
,
GoloElement.cantConvert(String, Object)
public void accept(GoloIrVisitor visitor)
This method should only call the visitor visitXXXX
method.
The children of this node will be visited by the
GoloElement.walk(GoloIrVisitor)
method.
accept
in class GoloElement<WhenClause<T extends GoloElement<?>>>
public java.util.List<GoloElement<?>> children()
children
in class GoloElement<WhenClause<T extends GoloElement<?>>>
@Deprecated public Tuple destruct()
public java.lang.Object[] __$$_destruct(int number, boolean substruct, java.lang.Object[] toSkip)
The destructuring must be to exactly two values. No remainer syntax is allowed.
The destructured values are the condition and the action.
number
- number of variable that will be affected.substruct
- whether the destructuring is complete or should contains a sub structure.toSkip
- a boolean array indicating the elements to skip.