CasePatMatchParser

class CasePatMatchParser(val rootParse: Parser)(using x$2: Quotes) extends Parser with PatternMatchingValues
trait Parser
class Object
trait Matchable
class Any

Type members

Inherited classlikes

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

Value members

Concrete methods

def attempt: History => PartialFunction[Expr[_], Ast]
def nestedIfs(clauses: List[PatMatchClause]): Ast

Inherited methods

def apply(input: Expr[_])(using History): Ast
Inherited from
Parser
protected
def betaReduceTupleFields(using Quotes, History)(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
override
def existsEncoderFor(using Quotes)(tpe: TypeRepr): Boolean
Definition Classes
Inherited from
QuatMaking

Concrete fields