Methods of the module objectval ValDef
Create a value definitionval x,var x orlazy val x with the signature defined in the symbol.
Create a value definitionval x,var x orlazy val x with the signature defined in the symbol.
Therhs should returnSome containing the implementation of the method, orNone if the method has no implementation. Any definition directly inside the implementation should havesymbol as owner.
UseSymbol.asQuotes to create the rhs using quoted code.
See also:Tree.changeOwner
Creates a block{ val <name> = <rhs: Term>; <body(x): Term> }
Creates a block{ val <name> = <rhs: Term>; <body(x): Term> }
Usage:
ValDef.let(owner, "x", rhs1) { x => ValDef.let(x.symbol.owner, "y", rhs2) { y => // use `x` and `y` }}Creates a block{ val x1 = <terms(0): Term>; ...; val xn = <terms(n-1): Term>; <body(List(x1, ..., xn)): Term> }
Creates a block{ val x1 = <terms(0): Term>; ...; val xn = <terms(n-1): Term>; <body(List(x1, ..., xn)): Term> }
Usage:
ValDef.let(owner, rhsList) { xs => ...}Creates a block{ val x = <rhs: Term>; <body(x): Term> }
Creates a block{ val x = <rhs: Term>; <body(x): Term> }
Usage:
ValDef.let(owner, rhs1) { x => ValDef.let(owner, rhs2) { y => // use `x` and `y` }}