SelectMacro

class Object
trait Matchable
class Any

Type members

Classlikes

case
class DoneExression[F[_], A, S, R](ch: Expr[ReadChannel[F, A]], f: Expr[Unit => S])(implicit evidence$15: Type[F], evidence$16: Type[A], evidence$17: Type[S], evidence$18: Type[R]) extends SelectorCaseExpr[F, S, R]
case
class ReadExpression[F[_], A, S, R](ch: Expr[ReadChannel[F, A]], f: Expr[A => S], isDone: Boolean)(implicit evidence$4: Type[F], evidence$5: Type[A], evidence$6: Type[S], evidence$7: Type[R]) extends SelectorCaseExpr[F, S, R]
sealed
trait SelectGroupExpr[F[_], S, R]
sealed
trait SelectorCaseExpr[F[_], S, R]
case
class TimeoutExpression[F[_], S, R](t: Expr[FiniteDuration], f: Expr[FiniteDuration => S])(implicit evidence$12: Type[F], evidence$13: Type[S], evidence$14: Type[R]) extends SelectorCaseExpr[F, S, R]
case
class WriteExpression[F[_], A, S, R](ch: Expr[WriteChannel[F, A]], a: Expr[A], f: Expr[A => S])(implicit evidence$8: Type[F], evidence$9: Type[A], evidence$10: Type[S], evidence$11: Type[R]) extends SelectorCaseExpr[F, S, R]

Value members

Concrete methods

def aforeverImpl[F[_] : Type](pf: Expr[PartialFunction[Any, Unit]], api: Expr[Gopher[F]])(implicit evidence$35: Type[F], Quotes): Expr[F[Unit]]
def buildSelectListenerRun[F[_] : Type, S : Type, R : Type, L <: SelectListeners[F, S, R] : Type](constructor: Expr[L], caseDefs: List[SelectorCaseExpr[F, S, R]], api: Expr[Gopher[F]])(implicit evidence$23: Type[F], evidence$24: Type[S], evidence$25: Type[R], evidence$26: Type[L], Quotes): Expr[R]
def buildSelectListenerRunAsync[F[_] : Type, S : Type, R : Type, L <: SelectListeners[F, S, R] : Type](constructor: Expr[L], caseDefs: List[SelectorCaseExpr[F, S, R]], api: Expr[Gopher[F]])(implicit evidence$27: Type[F], evidence$28: Type[S], evidence$29: Type[R], evidence$30: Type[L], Quotes): Expr[F[R]]
def foreverImpl[F[_] : Type](pf: Expr[PartialFunction[Any, Unit]], api: Expr[Gopher[F]])(implicit evidence$34: Type[F], Quotes): Expr[Unit]
def loopImpl[F[_] : Type](pf: Expr[PartialFunction[Any, Boolean]], api: Expr[Gopher[F]])(implicit evidence$33: Type[F], Quotes): Expr[Unit]
def makeLambda(using Quotes)(argName: String, argType: TypeRepr, oldArgSymbol: Symbol, body: Term): Term
def onceImpl[F[_] : Type, A : Type](pf: Expr[PartialFunction[Any, A]], api: Expr[Gopher[F]])(implicit evidence$31: Type[F], evidence$32: Type[A], Quotes): Expr[A]
def parseCaseDef[F[_] : Type, S : Type, R : Type](using Quotes)(caseDef: CaseDef): SelectorCaseExpr[F, S, R]
def parseCaseDefGuard(using Quotes)(caseDef: CaseDef): Map[String, Term]
def parseSelectCondition(using Quotes)(condition: Term, entries: Map[String, Term]): Map[String, Term]
def reportError(message: String, posExpr: Expr[_])(using Quotes): Nothing
def runImpl[F[_] : Type, A : Type, B : Type](builder: List[SelectorCaseExpr[F, A, B]] => Expr[B], pf: Expr[PartialFunction[Any, A]])(implicit evidence$36: Type[F], evidence$37: Type[A], evidence$38: Type[B], Quotes): Expr[B]
def runImplTree[F[_] : Type, A : Type, B : Type, C : Type](using Quotes)(builder: List[SelectorCaseExpr[F, A, B]] => Expr[C], pf: Term): Expr[C]
def selectListenerBuilder[F[_] : Type, S : Type, R : Type, L <: SelectListeners[F, S, R] : Type](constructor: Expr[L], caseDefs: List[SelectorCaseExpr[F, S, R]])(implicit evidence$19: Type[F], evidence$20: Type[S], evidence$21: Type[R], evidence$22: Type[L], Quotes): Expr[L]
def substIdent(using Quotes)(term: Term, fromSym: Symbol, toTerm: Term, owner: Symbol): Term