BlockParser

case class BlockParser(root: Parser[Ast])(qctx: Quotes) extends Clause[Ast] with PatternMatchingValues
trait Serializable
trait Product
trait Equals
class Clause[Ast]
trait Idents
trait Delegated[Ast]
trait PartialFunction[Expr[_], Ast]
trait Expr[_] => Ast
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[_], Ast]
def reparent(newRoot: Parser[Ast]): Clause[Ast]

Inherited methods

def andThen[C](k: PartialFunction[Ast, C]): PartialFunction[Expr[_], C]
Inherited from
PartialFunction
override def andThen[C](k: Ast => C): PartialFunction[Expr[_], C]
Definition Classes
PartialFunction -> Function1
Inherited from
PartialFunction
override def apply(expr: Expr[_]): Ast
Definition Classes
Delegated -> Function1
Inherited from
Delegated
def applyOrElse[A1 <: Expr[_], B1 >: Ast](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, Ast]
Inherited from
PartialFunction
@unspecialized
def compose[A](g: A => Expr[_]): A => Ast
Inherited from
Function1
def elementWise: ElementWiseExtractor[Expr[_], Ast]
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[Ast]
Inherited from
PartialFunction
def orElse[A1 <: Expr[_], B1 >: Ast](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: Ast => U): Expr[_] => Boolean
Inherited from
PartialFunction
override def toString(): String
Definition Classes
Function1 -> Any
Inherited from
Function1
def unapply(a: Expr[_]): Option[Ast]
Inherited from
PartialFunction

Implicits

Implicits

implicit override val qctx: Quotes