Documented definition, eliminated by analyzer
Derived value class injection (equivalent to: new C(arg)
after erasure); only used during erasure.
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 }
resets symbol and tpe fields in a tree, @see ResetAttrs
(trees: StringAdd).self
(trees: StringFormat).self
(Since version 2.10.0) Moved to tree.duplicate
(trees: ArrowAssoc[Trees]).x
(Since version 2.10.0) Use leftOfArrow
instead
(trees: Ensuring[Trees]).x
(Since version 2.10.0) Use resultOfEnsuring
instead