Lifter

case class Lifter(serializeQuat: SerializeQuat, serializeAst: SerializeAst) extends LifterProxy

Convert constructs of Quill Ast into Expr[Ast]. This allows them to be passed back an fourth between inline Quotation blocks during compile-time which should eventually be bassed into a run-call-site where they will be evaluated into SQL.

Convert constructs of Quill Ast into Expr[Ast]. This allows them to be passed back an fourth between inline Quotation blocks during compile-time which should eventually be bassed into a run-call-site where they will be evaluated into SQL.

Note that liftable List is already taken care of by the Dotty implicits

Companion
object
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Type members

Classlikes

trait NiceLiftable[T] extends ToExpr[T]

Value members

Concrete methods

def tryToSerialize[T <: Ast](ast: Ast)(`evidence$3`: Type[T], Quotes): Expr[T]

Inherited methods

def action(ast: Action): Quotes => Expr[Action]
Inherited from
LifterProxy
def apply(ast: Ast): Quotes => Expr[Ast]
Inherited from
LifterProxy
def assignment(ast: Assignment): Quotes => Expr[Assignment]
Inherited from
LifterProxy
def caseClass(ast: CaseClass): Quotes => Expr[CaseClass]
Inherited from
LifterProxy
def entity(ast: Entity): Quotes => Expr[Entity]
Inherited from
LifterProxy
def ident(ast: Ident): Quotes => Expr[Ident]
Inherited from
LifterProxy
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
def quat(quat: Quat): Quotes => Expr[Quat]
Inherited from
LifterProxy
def returnAction(returnAction: ReturnAction): Quotes => Expr[ReturnAction]
Inherited from
LifterProxy
def tuple(ast: Tuple): Quotes => Expr[Tuple]
Inherited from
LifterProxy

Concrete fields

Givens

Givens

given liftOperator: NiceLiftable[Operator]
given liftPropertyAlias: NiceLiftable[PropertyAlias]
given liftRenameable: NiceLiftable[Renameable]
given liftVisbility: NiceLiftable[Visibility]
given liftableAggregation: NiceLiftable[AggregationOperator]
given liftableAssignment: NiceLiftable[Assignment]
given liftableAssignmentDual: NiceLiftable[AssignmentDual]
given liftableCaseClass: NiceLiftable[CaseClass]
given liftableJoinType: NiceLiftable[JoinType]
given liftableOptionOperation: NiceLiftable[OptionOperation]
given liftableProperty: NiceLiftable[Property]
given liftableReturnAction: NiceLiftable[ReturnAction]
given liftableTraversableOperation: NiceLiftable[IterableOperation]
given orderingLiftable: NiceLiftable[Ordering]

Extensions

Extensions

extension (list: List[T])
def spliceVarargs[T](`evidence$2`: Type[T], ToExpr[T], Quotes): Expr[Seq[T]]
extension (t: T)
def expr[T](using ToExpr[T], Quotes): Expr[T]