ValDefModule (original) (raw)
scala.quoted.Quotes.reflectModule.ValDefModule
Methods of the module object val ValDef
Attributes
Source
Graph
Supertypes
Self type
Members list
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 Some
containing the implementation of the method, or None
if 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
Attributes
Source
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`
}
}
Attributes
Source
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 =>
...
}
Attributes
Source
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`
}
}
Attributes
Source
In this article