Documented definition, eliminated by analyzer
Derived value class injection (equivalent to: new C(arg)
after erasure); only used during erasure.
A locator for trees with given positions.
Only used during parsing
Array selection <qualifier> . <name>
only used during erasure
emitted by typer, eliminated by refchecks
Construct class definition with given class symbol, value parameters, supercall arguments and template body.
Construct class definition with given class symbol, value parameters, supercall arguments and template body.
the class symbol
the modifiers for the class constructor, i.e. as in class C private (...)
the value parameters -- if they have symbols they
should be owned by sym
the supercall arguments
the template statements without primary constructor and value parameter fields.
Generates a template with constructor corresponding to
Generates a template with constructor corresponding to
constrmods (vparams1_) ... (vparams_n) preSuper { presupers } extends superclass(args_1) ... (args_n) with mixins { self => body }
This gets translated to
extends superclass with mixins { self => presupers' // presupers without rhs vparamss // abstract fields corresponding to value parameters def <init>(vparamss) { presupers super.<init>(args) } body }
Position a tree.
Position a tree. This means: Set position of a node and position all its unpositioned children.
Ensure that given tree has no positions that overlap with
any of the positions of others
.
Ensure that given tree has no positions that overlap with
any of the positions of others
. This is done by
shortening the range, assigning TransparentPositions
to some of the nodes in tree
or focusing on the position.
Does given list of trees have mutually non-overlapping positions? pre: None of the trees is transparent
resets symbol and tpe fields in a tree, @see ResetAttrs
resets symbol and tpe fields in a tree, @see ResetAttrs
A position that wraps a non-empty set of trees.
A position that wraps a non-empty set of trees. The point of the wrapping position is the point of the first trees' position. If some of the trees are ranges, returns a range position enclosing all ranges Otherwise returns first tree's position.
A position that wraps a set of trees.
A position that wraps a set of trees. The point of the wrapping position is the point of the default position. If some of the trees are ranges, returns a range position enclosing all ranges Otherwise returns default position that is either focused or not.
(rangePositions: StringAdd).self
(rangePositions: StringFormat).self
(Since version 2.10.0) Moved to tree.duplicate
(rangePositions: ArrowAssoc[RangePositions]).x
(Since version 2.10.0) Use leftOfArrow
instead
(rangePositions: Ensuring[RangePositions]).x
(Since version 2.10.0) Use resultOfEnsuring
instead
Handling range positions atPos, the main method in this trait, will add positions to a tree, and will ensure the following properties:
Here, the solid descendant of a node are:
If the node has a TransparentPosition, the solid descendants of all its children Otherwise, the singleton consisting of the node itself.