Packages

c

gopher.channels

FoldSelectorBuilderImpl

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. Protected

Instance Constructors

  1. new FoldSelectorBuilderImpl(c: Context)

Type Members

  1. class FoldActionGenerator extends ActionGenerator
  2. 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
  3. case class FoldParseProjection(sym: scala.reflect.macros.blackbox.Context.Symbol, selectRole: SelectRole) extends Product with Serializable
  4. sealed trait SelectRole extends AnyRef
  5. trait ActionGenerator extends AnyRef
    Definition Classes
    SelectorBuilderImpl
  6. class DefaultActionGenerator extends ActionGenerator
    Definition Classes
    SelectorBuilderImpl
  7. trait SelectCaseDefAcceptor[A, B] extends AnyRef
    Definition Classes
    SelectorBuilderImpl

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def acceptSelectCaseDefPattern[A, B](caseDef: scala.reflect.macros.Universe.CaseDef, a: A, acceptor: SelectCaseDefAcceptor[A, B]): B
    Definition Classes
    SelectorBuilderImpl
  5. 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]]

    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)})
  6. def apply[T](f: scala.reflect.macros.blackbox.Context.Expr[PartialFunction[Any, T]]): scala.reflect.macros.blackbox.Context.Expr[Future[T]]
    Definition Classes
    SelectorBuilderImpl
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def beforeRefresh(foldSelect: scala.reflect.macros.Universe.TermName): scala.reflect.macros.blackbox.Context.Tree
  9. def builder[T](f: scala.reflect.macros.blackbox.Context.Expr[PartialFunction[Any, T]]): scala.reflect.macros.blackbox.Context.Tree
    Definition Classes
    SelectorBuilderImpl
  10. val c: Context
  11. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  12. val defaultActionGenerator: DefaultActionGenerator
    Definition Classes
    SelectorBuilderImpl
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. 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]
  16. def foreach[T](f: scala.reflect.macros.blackbox.Context.Expr[(Any) => T]): scala.reflect.macros.blackbox.Context.Expr[T]
    Definition Classes
    SelectorBuilderImpl
  17. def foreachBuildMatch(cases: List[scala.reflect.macros.Universe.CaseDef]): scala.reflect.macros.blackbox.Context.Tree
    Definition Classes
    SelectorBuilderImpl
  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. 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]]
    Definition Classes
    SelectorBuilderImpl
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. def loop[T](f: scala.reflect.macros.blackbox.Context.Expr[PartialFunction[Any, T]]): scala.reflect.macros.blackbox.Context.Expr[Unit]

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

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

    Definition Classes
    SelectorBuilderImpl
  23. def makeProj(name: scala.reflect.macros.Universe.TermName, n: Int): scala.reflect.macros.blackbox.Context.Tree
  24. 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]]
    Definition Classes
    SelectorBuilderImpl
  25. 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
    Definition Classes
    SelectorBuilderImpl
  26. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  28. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  29. def parseFold[S](op: scala.reflect.macros.blackbox.Context.Expr[(S, FoldSelect[S]) => S]): FoldParse
  30. def parseGuardInSelectorCaseDef(name: scala.reflect.macros.blackbox.Context.TermName, guard: scala.reflect.macros.blackbox.Context.Tree): scala.reflect.macros.blackbox.Context.Tree
    Definition Classes
    ASTUtilImpl
  31. 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
  32. 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
  33. 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]
  34. def refreshEffected(fp: FoldParse, foldSelect: scala.reflect.macros.Universe.TermName): List[scala.reflect.macros.blackbox.Context.Tree]
  35. 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
  36. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  37. def toString(): String
    Definition Classes
    AnyRef → Any
  38. 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
    Definition Classes
    SelectorBuilderImpl
  39. def transformSelectMatch(bn: scala.reflect.macros.Universe.TermName, cases: List[scala.reflect.macros.Universe.CaseDef], actionGenerator: ActionGenerator): List[scala.reflect.macros.blackbox.Context.Tree]
    Definition Classes
    SelectorBuilderImpl
  40. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  41. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  42. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  43. def withProjAssignments(fp: FoldParse, patSymbol: scala.reflect.macros.Universe.Symbol, body: scala.reflect.macros.blackbox.Context.Tree): scala.reflect.macros.blackbox.Context.Tree
  44. 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]
  45. object SelectRole

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from SelectorBuilderImpl

Inherited from ASTUtilImpl

Inherited from AnyRef

Inherited from Any

Ungrouped