scala.tools.nsc.matching.ParallelMatching

MatchMatrix

abstract class MatchMatrix extends MatchMatrixOptimizer with MatrixExhaustiveness

The umbrella matrix class. *

Source
ParallelMatching.scala
Linear Supertypes
MatrixExhaustiveness, MatchMatrixOptimizer, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. MatchMatrix
  2. MatrixExhaustiveness
  3. MatchMatrixOptimizer
  4. AnyRef
  5. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MatchMatrix(context: MatrixContext)

Type Members

  1. case class FinalState(bx: Int, params: List[Symbol], body: Tree) extends State with Product with Serializable

  2. case class LiteralState(bx: Int, params: List[Symbol], body: Tree) extends State with Product with Serializable

  3. class MixEquals extends RuleApplication

  4. class MixLiteralInts extends RuleApplication

  5. sealed class MixSequence extends RuleApplication

    Handle Sequence patterns (including Star patterns.

  6. class MixTypes extends RuleApplication

    Mixture rule for type tests.

  7. class MixUnapply extends RuleApplication

    mixture rule for unapply pattern

  8. case class PatternMatch(scrut: Scrutinee, ps: List[Pattern]) extends Product with Serializable

  9. class PatternSwitch extends PatternMatch

  10. case class Rep(tvars: PatternVarGroup, rows: List[Row]) extends Product with Serializable

  11. case class Row(pats: List[Pattern], subst: Bindings, guard: Tree, bx: Int) extends Product with Serializable

    * States, Rows, Etc.

  12. sealed abstract class RuleApplication extends AnyRef

    *** Rule Applications ****

  13. class Scrutinee extends AnyRef

    Encapsulates a symbol being matched on.

  14. abstract class State extends AnyRef

  15. case class VariableRule(subst: Bindings, guard: Tree, guardedRest: Rep, bx: Int) extends RuleApplication with Product with Serializable

    VariableRule: The top-most rows has only variable (non-constructor) patterns.

Abstract Value Members

  1. abstract def data: MatrixInit

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def addOuterCondition(cond: Tree, tpe2test: Type, scrut: Tree): Tree

    adds a test comparing the dynamic outer to the static outer

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. lazy val cases: List[CaseDef]

  9. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  10. final def condition(tpe: Type, scrutTree: Tree, isBound: Boolean): Tree

  11. final def condition(tpe: Type, scrut: Scrutinee, isBound: Boolean): Tree

    returns the condition in "if (cond) k1 else k2"

  12. val context: MatrixContext

  13. def createLabelDef(namePrefix: String, body: Tree, params: List[Symbol] = Nil, restpe: Type = matchResultType): LabelDef

  14. final def createShortCut(theLabel: Symbol): Int

  15. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  17. final def expand(roots: List[PatternVar], cases: List[CaseDef]): List[(Row, Product with Serializable with State)]

    Expands the patterns recursively.

  18. lazy val expansion: Rep

  19. lazy val failTree: Tree

  20. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  21. final def getClass(): java.lang.Class[_]

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

    Definition Classes
    AnyRef → Any
  23. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  24. def isPatternSwitch(scrut: Scrutinee, ps: List[Pattern]): Option[PatternSwitch]

  25. final def make(roots1: PatternVarGroup, rows1: List[Row]): Rep

    This is the recursively focal point for translating the current list of pattern variables and a list of pattern match rows into a tree suitable for entering erasure.

    This is the recursively focal point for translating the current list of pattern variables and a list of pattern match rows into a tree suitable for entering erasure.

    The first time it is called, the variables are (copies of) the original pattern matcher roots, and the rows correspond to the original casedefs.

  26. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  27. final def notify(): Unit

    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  29. final def optimize(tree: Tree): Tree

    Definition Classes
    MatchMatrixOptimizer
  30. lazy val roots: List[PatternVar]

  31. lazy val rows: List[Row]

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

    Definition Classes
    AnyRef
  33. lazy val targets: List[Product with Serializable with State]

  34. def toString(): String

    Definition Classes
    MatchMatrix → AnyRef → Any
  35. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from MatrixExhaustiveness

Inherited from MatchMatrixOptimizer

Inherited from AnyRef

Inherited from Any