Class

gopher.channels

FoldSelectorBuilderImpl

Related Doc: package channels

Permalink

class FoldSelectorBuilderImpl extends SelectorBuilderImpl

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FoldSelectorBuilderImpl
  2. SelectorBuilderImpl
  3. ASTUtilImpl
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new FoldSelectorBuilderImpl(c: Context)

    Permalink

Type Members

  1. trait ActionGenerator extends AnyRef

    Permalink
    Definition Classes
    SelectorBuilderImpl
  2. class DefaultActionGenerator extends ActionGenerator

    Permalink
    Definition Classes
    SelectorBuilderImpl
  3. class FoldActionGenerator extends ActionGenerator

    Permalink
  4. case class FoldParse(stateVal: scala.reflect.macros.Universe.ValDef, stateSelectRole: SelectRole, projections: List[FoldParseProjection], selectValName: scala.reflect.macros.blackbox.Context.TermName, selectCases: List[scala.reflect.macros.Universe.CaseDef]) extends Product with Serializable

    Permalink
  5. case class FoldParseProjection(sym: scala.reflect.macros.blackbox.Context.Symbol, selectRole: SelectRole) extends Product with Serializable

    Permalink
  6. trait SelectCaseDefAcceptor[A, B] extends AnyRef

    Permalink
    Definition Classes
    SelectorBuilderImpl
  7. sealed trait SelectRole extends AnyRef

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object SelectRole

    Permalink
  5. def acceptSelectCaseDefPattern[A, B](caseDef: scala.reflect.macros.Universe.CaseDef, a: A, acceptor: SelectCaseDefAcceptor[A, B]): B

    Permalink
    Definition Classes
    SelectorBuilderImpl
  6. def afold[S](s: scala.reflect.macros.blackbox.Context.Expr[S])(op: scala.reflect.macros.blackbox.Context.Expr[(S, FoldSelect[S]) ⇒ S])(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[S]): scala.reflect.macros.blackbox.Context.Expr[Future[S]]

    Permalink

    selector.afold(s0) { (s, selector) => selector match { case x1: in1.read => f1 case x2: in2.read => f2 case x3: out3.write if (x3==v) => f3 case _ : in,d case _ => f4 } } will be transformed to

    selector.afold(s0) { (s, selector) => selector match { case x1: in1.read => f1 case x2: in2.read => f2 case x3: out3.write if (x3==v) => f3 case _ : in,d case _ => f4 } } will be transformed to

    var s = s0
    val bn = new FoldSelector(3)
    bn.reading(in1)(x1 => f1 map {s=_; s })
    bn.reading(in2)(x2 => f2 map {s=_; s })
    bn.writing(out3,v)(x2 => f2 map {s=_; s})
    bn.idle(f4 map {s=_; s})

    also supported partial function syntax:

    selector.afold((0,1)){
       case ((x,y),s) => s match {
         case x1: in1.read => f1
         case x2: in2.read => f2
         case x3: out3.write if (x3==v) => f3
         case _  => f4
       }

    will be transformed to:

    var s = s0
    val bn = new FoldSelector(3)
    bn.reading(in1)(x1 => async{ val x = s._1;
                                 val y = s._2;
                                 s = f1;  s} })
    bn.reading(in2)(x2 => { val x = s._1;
                            val y = s._2;
                            s=f2; s} })
    bn.writing(out3,v[x/s._1;y/s._2])
                        (x2 => s=f2; s})

    Using channels as part of fold state:

    selector.afold(ch){ case (ch,s) =>
      s match {
         case x: ch.read => generated.write(x)
                            ch.filter(_ % x == 0)
      }
    }

    will be transformed to

    var s = ch
    val bn = new FoldSelector
    //val ef = new FoldSelectorEffectedInput(()=>s)
    bn.readingFoldEffected(0)(x => async{ generated.write(x)
                               s.filter(_ % x == 0)})
  7. def apply[T](f: scala.reflect.macros.blackbox.Context.Expr[PartialFunction[Any, T]]): scala.reflect.macros.blackbox.Context.Expr[Future[T]]

    Permalink
    Definition Classes
    SelectorBuilderImpl
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def beforeRefresh(foldSelect: scala.reflect.macros.Universe.TermName): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  10. def builder[T](f: scala.reflect.macros.blackbox.Context.Expr[PartialFunction[Any, T]]): scala.reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SelectorBuilderImpl
  11. val c: Context

    Permalink
  12. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. val defaultActionGenerator: DefaultActionGenerator

    Permalink
    Definition Classes
    SelectorBuilderImpl
  14. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def fold[S](s: scala.reflect.macros.blackbox.Context.Expr[S])(op: scala.reflect.macros.blackbox.Context.Expr[(S, FoldSelect[S]) ⇒ S])(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[S]): scala.reflect.macros.blackbox.Context.Expr[S]

    Permalink
  18. def foreach[T](f: scala.reflect.macros.blackbox.Context.Expr[(Any) ⇒ T]): scala.reflect.macros.blackbox.Context.Expr[T]

    Permalink
    Definition Classes
    SelectorBuilderImpl
  19. def foreachBuildMatch(cases: List[scala.reflect.macros.Universe.CaseDef]): scala.reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SelectorBuilderImpl
  20. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  21. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. def input[T](f: scala.reflect.macros.blackbox.Context.Expr[PartialFunction[Any, T]])(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[Input[T]]

    Permalink
    Definition Classes
    SelectorBuilderImpl
  23. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  24. def loop[T](f: scala.reflect.macros.blackbox.Context.Expr[PartialFunction[Any, T]]): scala.reflect.macros.blackbox.Context.Expr[Unit]

    Permalink

    processor: loop => just add waiters to this selector.

    processor: loop => just add waiters to this selector.

    Definition Classes
    SelectorBuilderImpl
  25. def makeProj(name: scala.reflect.macros.Universe.TermName, n: Int): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  26. def map[T](f: scala.reflect.macros.blackbox.Context.Expr[(Any) ⇒ T])(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[CloseableInput[T]]

    Permalink
    Definition Classes
    SelectorBuilderImpl
  27. def mapBuildMatch[T](cases: List[scala.reflect.macros.Universe.CaseDef], actionGenerator: ActionGenerator)(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SelectorBuilderImpl
  28. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  29. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  31. def parseFold[S](op: scala.reflect.macros.blackbox.Context.Expr[(S, FoldSelect[S]) ⇒ S]): FoldParse

    Permalink
  32. def parseGuardInSelectorCaseDef(name: scala.reflect.macros.blackbox.Context.TermName, guard: scala.reflect.macros.blackbox.Context.Tree): scala.reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    ASTUtilImpl
  33. def preTransformCaseDef(fp: FoldParse, foldSelect: scala.reflect.macros.Universe.TermName, cd: scala.reflect.macros.Universe.CaseDef, stableName: scala.reflect.macros.Universe.TermName): scala.reflect.macros.Universe.CaseDef

    Permalink
  34. def preTransformCaseDefBody(fp: FoldParse, foldSelect: scala.reflect.macros.Universe.TermName, patSymbol: scala.reflect.macros.Universe.Symbol, body: scala.reflect.macros.blackbox.Context.Tree): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  35. def readingFoldEffected[A, B, S](ch: scala.reflect.macros.blackbox.Context.Expr[Input[A]], projIndex: scala.reflect.macros.blackbox.Context.Expr[Int])(f: scala.reflect.macros.blackbox.Context.Expr[(A) ⇒ B])(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[B]): scala.reflect.macros.blackbox.Context.Expr[S]

    Permalink
  36. def refreshEffected(fp: FoldParse, foldSelect: scala.reflect.macros.Universe.TermName): List[scala.reflect.macros.blackbox.Context.Tree]

    Permalink
  37. def substProj(foldParse: FoldParse, newName: scala.reflect.macros.blackbox.Context.TermName, body: scala.reflect.macros.blackbox.Context.Tree, substEffected: Boolean, debug: Boolean): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  38. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  39. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  40. def transformSelectCaseDef(builderName: scala.reflect.macros.blackbox.Context.TermName, caseDef: scala.reflect.macros.Universe.CaseDef, caseDefIndex: Int, actionGenerator: ActionGenerator): scala.reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SelectorBuilderImpl
  41. def transformSelectMatch(bn: scala.reflect.macros.Universe.TermName, cases: List[scala.reflect.macros.Universe.CaseDef], actionGenerator: ActionGenerator): List[scala.reflect.macros.blackbox.Context.Tree]

    Permalink
    Definition Classes
    SelectorBuilderImpl
  42. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. def withProjAssignments(fp: FoldParse, patSymbol: scala.reflect.macros.Universe.Symbol, body: scala.reflect.macros.blackbox.Context.Tree): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  46. def writingFoldEffected[A, T, S](ch: scala.reflect.macros.blackbox.Context.Expr[Output[A]], projIndex: scala.reflect.macros.blackbox.Context.Expr[Int], x: scala.reflect.macros.blackbox.Context.Expr[A])(f: scala.reflect.macros.blackbox.Context.Expr[(A) ⇒ T])(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[S]

    Permalink

Inherited from SelectorBuilderImpl

Inherited from ASTUtilImpl

Inherited from AnyRef

Inherited from Any

Ungrouped