C class

QuoteMatcher [QCtx]

extends Object

Supertypes

Object

Constructors

QuoteMatcher

( qctx0: QCtx )

Members

private object 

ClosedPatternTerm

private object 

IdentArgs

class 

SymBinding

private type 

Env

 = Map[Symbol,Symbol]

A map relating equivalent symbols from the scrutinee and the pattern For example in

A map relating equivalent symbols from the scrutinee and the pattern For example in

'{val a = 4; a * a} match case '{ val x = 4; x * x }

when matching a * a with x * x the environment will contain Map(a -> x).

private final val 

debug

: false

val 

qctx

: QCtx

val 

qctx0

: QCtx

private def 

extension_=?=

( scrutinees: List[Tree] ) ( patterns: List[Tree] ) ( implicit  x$2: Context x$3: Env ) : Matching

Check that all trees match with =?= and concatenate the results with &&&

Check that all trees match with =?= and concatenate the results with &&&

private def 

extension_=?=

( scrutinee0: Tree ) ( pattern0: Tree ) ( implicit  x$2: Context x$3: Env ) : Matching

Check that the trees match and return the contents from the pattern holes. Return None if the trees do not match otherwise return Some of a tuple conta...

Check that the trees match and return the contents from the pattern holes. Return None if the trees do not match otherwise return Some of a tuple containing all the contents in the holes.

private def 

hasFromAboveAnnotation

( sym: Symbol ) : Boolean

private def 

hasPatternTypeAnnotation

( sym: Symbol ) : Boolean

private def 

isFromAboveAnnotation

( tree: Tree ) : Boolean

private def 

isPatternTypeAnnotation

( tree: Tree ) : Boolean

private def 

isTypeBinding

( tree: Tree ) : Boolean

private def 

matchLists

[T] ( l1: List[T] l2: List[T] ) ( mtch: (T, T) => Matching ) : Matching

Check that all trees match with mtch and concatenate the results with &&&

Check that all trees match with mtch and concatenate the results with &&&

def 

termMatch

( scrutineeTerm: Term patternTerm: Term hasTypeSplices: Boolean ) : Option[Tuple]

private def 

treeOptMatches

( scrutinee: Option[Tree] pattern: Option[Tree] ) ( implicit  x$3: Context x$4: Env ) : Matching

def 

typeTreeMatch

( scrutineeTypeTree: TypeTree patternTypeTree: TypeTree hasTypeSplices: Boolean ) : Option[Tuple]

private inline def 

withEnv

[T] ( env: Env ) ( body: implicit Env => T ) : T