A spread argument.
Used in argument lists to “spread” a sequential value over multiple arguments.
(The spread “operator” *
looks like a prefix unary operator,
but because it produces multiple values, not just one, a spread argument is not an expression.)
Examples:
*args *values.collect(Object.string) *[]
Anything
Object
SpreadArgument
Node
Object
Anything
no subtypes hierarchy
Initializer |
SpreadArgument(UnioningExpression argument) Parameters:
|
Attributes | |
argument | shared UnioningExpression argument The expression being spread. (Note that even though the spread operator is no true operator, it has the same precedence as the product operator, whose symbol it shares.) |
children | shared actual [UnioningExpression] children The child nodes of this node. Refines Node.children |
hash | shared actual Integer hash The hash value of the value, which allows the value to be an element of a hash-based set or key of a hash-based map. Implementations must respect the constraint that:
Therefore, a class which refines In general, Note that when executing on a Java Virtual Machine, the
64-bit Refines Object.hash |
Inherited Attributes |
Attributes inherited from: Node |
Attributes inherited from: Object hash , string |
Methods | |
copy | shared SpreadArgument copy(UnioningExpression argument = ...) Parameters:
|
equals | shared actual Boolean equals(Object that) Determine if two values are equal. Implementations should respect the constraints that:
Furthermore it is recommended that implementations
ensure that if A class which explicitly refines Note that an implementation of Refines Object.equals |
transform | shared actual Result transform<out Result>(Transformer<Result> transformer) Transform this node with the given If you have a Refines Node.transform |
visit | shared actual void visit(Visitor visitor) Visit this node with the given Refines Node.visit |
Inherited Methods |
Methods inherited from: Node |
Methods inherited from: Object equals |