OrderingParser

case class OrderingParser(root: Parser[Ast])(qctx: Quotes) extends Clause[Ordering] with PatternMatchingValues
trait Serializable
trait Product
trait Equals
class Clause[Ordering]
trait Idents
trait Delegated[Ordering]
trait PartialFunction[Expr[_], Ordering]
trait Expr[_] => Ordering
class Object
trait Matchable
class Any

Type members

Inherited classlikes

object InferQuat
Inherited from
QuatMakingBase
enum PatMatch
Inherited from
PatternMatchingValues
case class PatMatchClause(body: Ast, guard: Ast)
Inherited from
PatternMatchingValues
object PatMatchTerm
Inherited from
PatternMatchingValues
object ValDefTerm
Inherited from
PatternMatchingValues

Value members

Concrete methods

def delegate: PartialFunction[Expr[_], Ordering]
def reparent(newRoot: Parser[Ast]): Clause[Ordering]

Inherited methods

def andThen[C](k: PartialFunction[Ordering, C]): PartialFunction[Expr[_], C]
Inherited from
PartialFunction
override def andThen[C](k: Ordering => C): PartialFunction[Expr[_], C]
Definition Classes
PartialFunction -> Function1
Inherited from
PartialFunction
override def apply(expr: Expr[_]): Ordering
Definition Classes
Delegated -> Function1
Inherited from
Delegated
def applyOrElse[A1 <: Expr[_], B1 >: Ordering](x: A1, default: A1 => B1): B1
Inherited from
PartialFunction
def astParse: () => Ast
Inherited from
Clause
protected def betaReduceTupleFields(tupleTree: Term, fieldsTree: Tree, messageExpr: Option[Term])(bodyTree: Term): Ast

Beta-reduces out tuple members that have been pattern matched to their corresponding components For example: given: ptups := people.map(p => (p.name, p.age)) ptups.map { case (name, age) => fun(name, age) } becomes reduced to: ptups.map { x => fun(x.name, x.age) }

Beta-reduces out tuple members that have been pattern matched to their corresponding components For example: given: ptups := people.map(p => (p.name, p.age)) ptups.map { case (name, age) => fun(name, age) } becomes reduced to: ptups.map { x => fun(x.name, x.age) }

Inherited from
PatternMatchingValues
def cleanIdent(name: String, tpe: TypeRepr): Ident
Inherited from
Idents
def cleanIdent(name: String, quat: Quat): Ident
Inherited from
Idents
def compose[R](k: PartialFunction[R, Expr[_]]): PartialFunction[R, Ordering]
Inherited from
PartialFunction
@unspecialized
def compose[A](g: A => Expr[_]): A => Ordering
Inherited from
Function1
def elementWise: ElementWiseExtractor[Expr[_], Ordering]
Inherited from
PartialFunction
override def existsEncoderFor(tpe: TypeRepr): Boolean
Definition Classes
Inherited from
QuatMaking
def isDefinedAt(expr: Expr[_]): Boolean
Inherited from
Delegated
def lift: Expr[_] => Option[Ordering]
Inherited from
PartialFunction
def orElse[A1 <: Expr[_], B1 >: Ordering](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]
Inherited from
PartialFunction
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
def runWith[U](action: Ordering => U): Expr[_] => Boolean
Inherited from
PartialFunction
override def toString(): String
Definition Classes
Function1 -> Any
Inherited from
Function1
def unapply(a: Expr[_]): Option[Ordering]
Inherited from
PartialFunction

Implicits

Implicits

implicit override val qctx: Quotes