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.

Initializer
Operation()
Attributes
childrenshared formal <Expression|Type|Bound>[] children

The child nodes of this node.

Refines Expression.children ultimately refines Node.children
operatorshared 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