An operator expression.
Operations combine Primaries, as well as other operations, depending on precedence.
Operator precedence and associativity is represented in the AST through the child types of the nodes;
an AST that would violate associativity (for example, using a sum expression as the direct child of a
product expression – without wrapping it in a GroupedExpression
) isn’t well-typed.
This class is called Operation
rather than OperatorExpression
to avoid overly long names
of the subtypes; for the same reason, subtypes are only suffixed -Operation
rather than -BinaryOperation
or -UnaryOperation
.
The specification also lists expressions like "Hello"[...3]
under operators;
in ceylon.ast
, they are called ElementOrSubrangeExpression
,
and primaries.
Anything
Operation
ValueExpression
Expression
Node
Object
Anything
Initializer |
Operation() |
Attributes | |
children | Source Codeshared formal <Expression|Type|Bound>[] children The child nodes of this node. |
operator | Source Codeshared formal String operator The text of the operator. |
Inherited Attributes |
Attributes inherited from: Expression |
Attributes inherited from: Node |
Attributes inherited from: Object hash , string |
Inherited Methods |
Methods inherited from: Node |
Methods inherited from: Object equals |