ValDefModule
Methods of the module object val ValDef
- Source:
- Quotes.scala
Value members
Abstract methods
Create a value definition val x
, var x
or lazy val x
with the signature defined in the symbol.
Create a value definition val x
, var x
or lazy val x
with the signature defined in the symbol.
The rhs
should return be Some
containing the implementation of the method.
Returns None
the method has no implementation.
Any definition directly inside the implementation should have symbol
as owner.
Use Symbol.asQuotes
to create the rhs using quoted code.
See also: Tree.changeOwner
- Source:
- Quotes.scala
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`
}
}
- Source:
- Quotes.scala
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 =>
...
}
- Source:
- Quotes.scala