Either an assignment or a named argument.
Documented definition, eliminated by analyzer
A locator for trees with given positions.
Substitute symbols in 'from' with symbols in 'to'.
A synthetic term holding an arbitrary type.
emitted by typer, eliminated by refchecks
Block factory that flattens directly nested blocks.
Block factory that flattens directly nested blocks.
casedef shorthand
casedef shorthand
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.
the class symbol
the implementation template
the class symbol
the implementation template
Factory method for object creation new tpt(args_1)...(args_n)
A New(t, as)
is expanded to: (new t).<init>(as)
Factory method for object creation new tpt(args_1)...(args_n)
A New(t, as)
is expanded to: (new t).<init>(as)
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 }
A TypeDef node which defines abstract type or type parameter for given sym'
A TypeDef node which defines abstract type or type parameter for given sym'
A TypeDef node which defines given sym' with given tight hand side
rhs'.
A TypeDef node which defines given sym' with given tight hand side
rhs'.
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 or assigning TransparentPositions
to some of the nodes in tree
.
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 ResetAttrsTraverse
resets symbol and tpe fields in a tree, @see ResetAttrsTraverse
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.
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.