scala.tools.nsc.transform.patmat.MatchOptimization

MatchOptimizations

trait MatchOptimizations extends PatternMatching.CommonSubconditionElimination with PatternMatching.DeadCodeElimination with PatternMatching.SwitchEmission with PatternMatching.OptimizedCodegen with PatternMatching.SymbolicMatchAnalysis with PatternMatching.DPLLSolver

Self Type
PatternMatching.MatchOptimizations with PatternMatching.TreeMakers
Source
MatchOptimization.scala
Linear Supertypes
PatternMatching.DPLLSolver, PatternMatching.CNF, PatternMatching.SymbolicMatchAnalysis, PatternMatching.OptimizedCodegen, PatternMatching.CodegenCore, PatternMatching.SwitchEmission, PatternMatching.OptimizedMatchMonadInterface, PatternMatching.DeadCodeElimination, PatternMatching.CommonSubconditionElimination, PatternMatching.TreeMakerApproximation, PatternMatching.TreesAndTypesDomain, PatternMatching.CheckableTreeAndTypeAnalysis, PatternMatching.PropositionalLogic, PatternMatching.TreeMakers, PatternMatching.TypedSubstitution, PatternMatching.MatchMonadInterface, AnyRef, Any
Known Subclasses
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MatchOptimizations
  2. DPLLSolver
  3. CNF
  4. SymbolicMatchAnalysis
  5. OptimizedCodegen
  6. CodegenCore
  7. SwitchEmission
  8. OptimizedMatchMonadInterface
  9. DeadCodeElimination
  10. CommonSubconditionElimination
  11. TreeMakerApproximation
  12. TreesAndTypesDomain
  13. CheckableTreeAndTypeAnalysis
  14. PropositionalLogic
  15. TreeMakers
  16. TypedSubstitution
  17. MatchMonadInterface
  18. AnyRef
  19. Any
Implicitly
  1. by StringAdd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait AbsCodegen extends AnyRef

    Definition Classes
    CodegenCore
  2. trait AbsVar extends AnyRef

    Definition Classes
    PropositionalLogic
  3. case class AlternativesTreeMaker(prevBinder: Global.Symbol, altss: List[List[(TreeMakers.this)#TreeMaker]], pos: Position) extends (TreeMakers.this)#TreeMaker with (TreeMakers.this)#NoNewBinders with Product with Serializable

    Definition Classes
    TreeMakers
  4. case class And(a: Prop, b: Prop) extends Prop with Product with Serializable

    Definition Classes
    PropositionalLogic
  5. case class BodyTreeMaker(body: Global.Tree, matchPt: Global.Type) extends (TreeMakers.this)#TreeMaker with (TreeMakers.this)#NoNewBinders with Product with Serializable

    Definition Classes
    TreeMakers
  6. trait Casegen extends AbsCodegen

    Definition Classes
    CodegenCore
  7. type Clause = Set[(MatchOptimizations.this)#Lit]

    Definition Classes
    CNF
  8. abstract class CommonCodegen extends AbsCodegen

    Definition Classes
    CodegenCore
  9. abstract class CondTreeMaker extends (TreeMakers.this)#FunTreeMaker

    Definition Classes
    TreeMakers
  10. sealed abstract class Const extends AnyRef

    Definition Classes
    TreesAndTypesDomain
  11. case class ConstructorExample(cls: Global.Symbol, ctorArgs: List[(SymbolicMatchAnalysis.this)#CounterExample]) extends (SymbolicMatchAnalysis.this)#CounterExample with Product with Serializable

    Definition Classes
    SymbolicMatchAnalysis
  12. class CounterExample extends AnyRef

    Definition Classes
    SymbolicMatchAnalysis
  13. case class Eq(p: Var, q: Const) extends Prop with Product with Serializable

    Definition Classes
    PropositionalLogic
  14. case class EqualityTestTreeMaker(prevBinder: Global.Symbol, patTree: Global.Tree, pos: Position) extends (TreeMakers.this)#CondTreeMaker with Product with Serializable

    Definition Classes
    TreeMakers
  15. case class ExtractorTreeMaker(extractor: Global.Tree, extraCond: Option[Global.Tree], nextBinder: Global.Symbol)(subPatBinders: List[Global.Symbol], subPatRefs: List[Global.Tree], extractorReturnsBoolean: Boolean, checkedLength: Option[Int], prevBinder: Global.Symbol, ignoredSubPatBinders: Set[Global.Symbol]) extends (TreeMakers.this)#FunTreeMaker with (TreeMakers.this)#PreserveSubPatBinders with Product with Serializable

    Make a TreeMaker that will result in an extractor call specified by extractor the next TreeMaker (here, we don't know which it'll be) is chained after this one by flatMap'ing a function with binder nextBinder over our extractor's result the function's body is determined by the next TreeMaker (furthermore, the interpretation of flatMap depends on the codegen instance we're using).

  16. type Formula = ArrayBuffer[(MatchOptimizations.this)#Clause]

    Definition Classes
    CNFPropositionalLogic
  17. type FormulaBuilder = ArrayBuffer[(MatchOptimizations.this)#Clause]

    Definition Classes
    CNFPropositionalLogic
  18. abstract class FunTreeMaker extends (TreeMakers.this)#TreeMaker

    Definition Classes
    TreeMakers
  19. case class GuardTreeMaker(guardTree: Global.Tree) extends (TreeMakers.this)#TreeMaker with (TreeMakers.this)#NoNewBinders with Product with Serializable

    Definition Classes
    TreeMakers
  20. case class ListExample(ctorArgs: List[(SymbolicMatchAnalysis.this)#CounterExample]) extends (SymbolicMatchAnalysis.this)#CounterExample with Product with Serializable

    Definition Classes
    SymbolicMatchAnalysis
  21. class Lit extends AnyRef

    Definition Classes
    DPLLSolver
  22. type Model = Map[(MatchOptimizations.this)#Sym, Boolean]

    Definition Classes
    PropositionalLogic
  23. case class NegativeExample(eqTo: (SymbolicMatchAnalysis.this)#Const, nonTrivialNonEqualTo: List[(SymbolicMatchAnalysis.this)#Const]) extends (SymbolicMatchAnalysis.this)#CounterExample with Product with Serializable

    Definition Classes
    SymbolicMatchAnalysis
  24. trait NoNewBinders extends (TreeMakers.this)#TreeMaker

    Definition Classes
    TreeMakers
  25. case class Not(a: Prop) extends Prop with Product with Serializable

    Definition Classes
    PropositionalLogic
  26. case class Or(a: Prop, b: Prop) extends Prop with Product with Serializable

    Definition Classes
    PropositionalLogic
  27. trait PreserveSubPatBinders extends (TreeMakers.this)#TreeMaker

    Definition Classes
    TreeMakers
  28. case class ProductExtractorTreeMaker(prevBinder: Global.Symbol, extraCond: Option[Global.Tree])(subPatBinders: List[Global.Symbol], subPatRefs: List[Global.Tree], mutableBinders: List[Global.Symbol], binderKnownNonNull: Boolean, ignoredSubPatBinders: Set[Global.Symbol]) extends (TreeMakers.this)#FunTreeMaker with (TreeMakers.this)#PreserveSubPatBinders with Product with Serializable

    An optimized version of ExtractorTreeMaker for Products.

  29. class Prop extends AnyRef

    Definition Classes
    PropositionalLogic
  30. trait PropMap extends AnyRef

    Definition Classes
    PropositionalLogic
  31. trait PropTraverser extends AnyRef

    Definition Classes
    PropositionalLogic
  32. class RegularSwitchMaker extends (SwitchEmission.this)#SwitchMaker

    Definition Classes
    SwitchEmission
  33. class ReusedCondTreeMaker extends (CommonSubconditionElimination.this)#TreeMaker

  34. case class ReusingCondTreeMaker(sharedPrefix: List[(CommonSubconditionElimination.this)#Test], toReused: ((CommonSubconditionElimination.this)#TreeMaker) ⇒ (CommonSubconditionElimination.this)#TreeMaker) extends (CommonSubconditionElimination.this)#TreeMaker with Product with Serializable

  35. case class SubstOnlyTreeMaker(prevBinder: Global.Symbol, nextBinder: Global.Symbol) extends (TreeMakers.this)#TreeMaker with Product with Serializable

    Definition Classes
    TreeMakers
  36. class Substitution extends AnyRef

    Definition Classes
    TypedSubstitution
  37. abstract class SwitchMaker extends AnyRef

    Definition Classes
    SwitchEmission
  38. abstract case class Sym(variable: Var, const: Const) extends Prop with Product with Serializable

    Definition Classes
    PropositionalLogic
  39. case class Test(prop: (TreeMakerApproximation.this)#Prop, treeMaker: (TreeMakerApproximation.this)#TreeMaker) extends Product with Serializable

    Definition Classes
    TreeMakerApproximation
  40. type Tree = Global.Tree

  41. abstract class TreeMaker extends AnyRef

    Definition Classes
    TreeMakers
  42. class TreeMakersToProps extends AnyRef

    Definition Classes
    TreeMakerApproximation
  43. class TreeMakersToPropsIgnoreNullChecks extends (TreeMakerApproximation.this)#TreeMakersToProps

    Definition Classes
    TreeMakerApproximation
  44. case class TrivialTreeMaker(tree: Global.Tree) extends (TreeMakers.this)#TreeMaker with (TreeMakers.this)#NoNewBinders with Product with Serializable

    Definition Classes
    TreeMakers
  45. case class TupleExample(ctorArgs: List[(SymbolicMatchAnalysis.this)#CounterExample]) extends (SymbolicMatchAnalysis.this)#CounterExample with Product with Serializable

    Definition Classes
    SymbolicMatchAnalysis
  46. type Type = Global.Type

  47. sealed class TypeConst extends Const

    Definition Classes
    TreesAndTypesDomain
  48. trait TypeConstExtractor extends AnyRef

    Definition Classes
    PropositionalLogic
  49. case class TypeExample(c: (SymbolicMatchAnalysis.this)#Const) extends (SymbolicMatchAnalysis.this)#CounterExample with Product with Serializable

    Definition Classes
    SymbolicMatchAnalysis
  50. case class TypeTestTreeMaker(prevBinder: Global.Symbol, testedBinder: Global.Symbol, expectedTp: Global.Type, nextBinderTp: Global.Type)(pos: Position, extractorArgTypeTest: Boolean = false) extends (TreeMakers.this)#CondTreeMaker with Product with Serializable

    implements the run-time aspects of (§8.

  51. class UniqueSym extends Sym

    Definition Classes
    PropositionalLogic
  52. sealed class ValueConst extends Const

    Definition Classes
    TreesAndTypesDomain
  53. trait ValueConstExtractor extends AnyRef

    Definition Classes
    PropositionalLogic
  54. case class ValueExample(c: (SymbolicMatchAnalysis.this)#ValueConst) extends (SymbolicMatchAnalysis.this)#CounterExample with Product with Serializable

    Definition Classes
    SymbolicMatchAnalysis
  55. class Var extends AbsVar

    Definition Classes
    TreesAndTypesDomain
  56. trait VarExtractor extends AnyRef

    Definition Classes
    PropositionalLogic

Abstract Value Members

  1. abstract val typer: (analyzer)#Typer

    Definition Classes
    CheckableTreeAndTypeAnalysis

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. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from PatternMatching.MatchOptimizations to StringAdd[PatternMatching.MatchOptimizations] performed by method StringAdd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (PatternMatching.MatchOptimizations, B)

    Implicit information
    This member is added by an implicit conversion from PatternMatching.MatchOptimizations to ArrowAssoc[PatternMatching.MatchOptimizations] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. def /\(props: Iterable[(MatchOptimizations.this)#Prop]): (MatchOptimizations.this)#Prop

    Definition Classes
    PropositionalLogic
  7. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  9. object AnalysisBudget

    Definition Classes
    PropositionalLogic
  10. object Const

    Definition Classes
    TreesAndTypesDomain
  11. object CounterExample

    Definition Classes
    SymbolicMatchAnalysis
  12. val EmptyModel: Map[(MatchOptimizations.this)#Sym, Boolean]

    Definition Classes
    DPLLSolverPropositionalLogic
  13. object EmptySubstitution extends Substitution

    Definition Classes
    TypedSubstitution
  14. object False extends Prop with Product with Serializable

    Definition Classes
    PropositionalLogic
  15. object IrrefutableExtractorTreeMaker

    Definition Classes
    TreeMakers
  16. def Lit(sym: (MatchOptimizations.this)#Sym, pos: Boolean = true): (MatchOptimizations.this)#Lit

    Definition Classes
    DPLLSolverCNF
  17. object NoExample extends (SymbolicMatchAnalysis.this)#CounterExample with Product with Serializable

    Definition Classes
    SymbolicMatchAnalysis
  18. val NoModel: (MatchOptimizations.this)#Model

    Definition Classes
    DPLLSolverPropositionalLogic
  19. object NullConst extends Const with Product with Serializable

  20. lazy val NullTp: Global.UniqueConstantType

    Definition Classes
    TreesAndTypesDomain
  21. object ReusedCondTreeMaker

  22. object Substitution

    Definition Classes
    TypedSubstitution
  23. object Sym extends Serializable

    Definition Classes
    PropositionalLogic
  24. object Test extends Serializable

    Definition Classes
    TreeMakerApproximation
  25. object True extends Prop with Product with Serializable

    Definition Classes
    PropositionalLogic
  26. object TypeConst extends TypeConstExtractor

  27. object TypeTestTreeMaker extends Serializable

    Definition Classes
    TreeMakers
  28. object ValueConst extends ValueConstExtractor

  29. object Var extends VarExtractor

  30. object WildcardExample extends (SymbolicMatchAnalysis.this)#CounterExample with Product with Serializable

    Definition Classes
    SymbolicMatchAnalysis
  31. def \/(props: Iterable[(MatchOptimizations.this)#Prop]): (MatchOptimizations.this)#Prop

    Definition Classes
    PropositionalLogic
  32. def addFormula(buff: (MatchOptimizations.this)#FormulaBuilder, f: (MatchOptimizations.this)#Formula): Unit

    Definition Classes
    CNFPropositionalLogic
  33. def andFormula(a: (MatchOptimizations.this)#Formula, b: (MatchOptimizations.this)#Formula): (MatchOptimizations.this)#Formula

    Definition Classes
    CNFPropositionalLogic
  34. def approximateMatchConservative(root: Global.Symbol, cases: List[List[(MatchOptimizations.this)#TreeMaker]]): List[List[(MatchOptimizations.this)#Test]]

    Definition Classes
    TreeMakerApproximation
  35. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  36. final def caseWithoutBodyToProp(tests: List[(MatchOptimizations.this)#Test]): (MatchOptimizations.this)#Prop

    Attributes
    protected
    Definition Classes
    TreeMakerApproximation
  37. def checkableType(tp: Global.Type): Global.Type

    Definition Classes
    CheckableTreeAndTypeAnalysis
  38. def clause(l: (MatchOptimizations.this)#Lit*): (MatchOptimizations.this)#Clause

    Definition Classes
    CNF
  39. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  40. def cnfString(f: (MatchOptimizations.this)#Formula): String

    Definition Classes
    DPLLSolverPropositionalLogic
  41. def codegen: (MatchOptimizations.this)#AbsCodegen

    Definition Classes
    OptimizedCodegenCodegenCore
  42. def combineCases(scrut: Global.Tree, scrutSym: Global.Symbol, casesRaw: List[List[(MatchOptimizations.this)#TreeMaker]], pt: Global.Type, owner: Global.Symbol, matchFailGenOverride: Option[(Global.Tree) ⇒ Global.Tree]): Global.Tree

    Definition Classes
    TreeMakers
  43. def combineCasesNoSubstOnly(scrut: Global.Tree, scrutSym: Global.Symbol, casesNoSubstOnly: List[List[(MatchOptimizations.this)#TreeMaker]], pt: Global.Type, owner: Global.Symbol, matchFailGenOverride: Option[(Global.Tree) ⇒ Global.Tree]): Global.Tree

    Definition Classes
    TreeMakers
  44. def combineExtractors(treeMakers: List[(MatchOptimizations.this)#TreeMaker])(casegen: (MatchOptimizations.this)#Casegen): Global.Tree

    Definition Classes
    TreeMakers
  45. val debugInfoEmitVars: Boolean

    Attributes
    protected
    Definition Classes
    TreeMakers
  46. def doCSE(prevBinder: Global.Symbol, cases: List[List[(MatchOptimizations.this)#TreeMaker]], pt: (MatchOptimizations.this)#Type): List[List[(MatchOptimizations.this)#TreeMaker]]

    a flow-sensitive, generalised, common sub-expression elimination reuse knowledge from performed tests the only sub-expressions we consider are the conditions and results of the three tests (type, type&equality, equality) when a sub-expression is shared, it is stored in a mutable variable the variable is floated up so that its scope includes all of the program that shares it we generalize sharing to implication, where b reuses a if a => b and priors(a) => priors(b) (the priors of a sub expression form the path through the decision tree)

    a flow-sensitive, generalised, common sub-expression elimination reuse knowledge from performed tests the only sub-expressions we consider are the conditions and results of the three tests (type, type&equality, equality) when a sub-expression is shared, it is stored in a mutable variable the variable is floated up so that its scope includes all of the program that shares it we generalize sharing to implication, where b reuses a if a => b and priors(a) => priors(b) (the priors of a sub expression form the path through the decision tree)

    Definition Classes
    CommonSubconditionElimination
  47. def doDCE(prevBinder: Global.Symbol, cases: List[List[(MatchOptimizations.this)#TreeMaker]], pt: Global.Type): List[List[(MatchOptimizations.this)#TreeMaker]]

    Definition Classes
    DeadCodeElimination
  48. def emitSwitch(scrut: Global.Tree, scrutSym: Global.Symbol, cases: List[List[(MatchOptimizations.this)#TreeMaker]], pt: Global.Type, matchFailGenOverride: Option[(Global.Tree) ⇒ Global.Tree], unchecked: Boolean): Option[Global.Tree]

    Definition Classes
    SwitchEmissionTreeMakers
  49. def emitTypeSwitch(bindersAndCases: List[(Global.Symbol, List[(MatchOptimizations.this)#TreeMaker])], pt: Global.Type): Option[List[Global.CaseDef]]

    Definition Classes
    SwitchEmissionTreeMakers
  50. def ensuring(cond: (PatternMatching.MatchOptimizations) ⇒ Boolean, msg: ⇒ Any): PatternMatching.MatchOptimizations

    Implicit information
    This member is added by an implicit conversion from PatternMatching.MatchOptimizations to Ensuring[PatternMatching.MatchOptimizations] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  51. def ensuring(cond: (PatternMatching.MatchOptimizations) ⇒ Boolean): PatternMatching.MatchOptimizations

    Implicit information
    This member is added by an implicit conversion from PatternMatching.MatchOptimizations to Ensuring[PatternMatching.MatchOptimizations] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  52. def ensuring(cond: Boolean, msg: ⇒ Any): PatternMatching.MatchOptimizations

    Implicit information
    This member is added by an implicit conversion from PatternMatching.MatchOptimizations to Ensuring[PatternMatching.MatchOptimizations] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  53. def ensuring(cond: Boolean): PatternMatching.MatchOptimizations

    Implicit information
    This member is added by an implicit conversion from PatternMatching.MatchOptimizations to Ensuring[PatternMatching.MatchOptimizations] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  54. def enumerateSubtypes(tp: Global.Type): Option[List[Global.Type]]

    Definition Classes
    CheckableTreeAndTypeAnalysis
  55. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  56. def eqFreePropToSolvable(p: (MatchOptimizations.this)#Prop): (MatchOptimizations.this)#Formula

    Definition Classes
    CNFPropositionalLogic
  57. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  58. def exhaustive(prevBinder: Global.Symbol, cases: List[List[(MatchOptimizations.this)#TreeMaker]], pt: (MatchOptimizations.this)#Type): List[String]

    Definition Classes
    SymbolicMatchAnalysis
  59. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  60. def findAllModelsFor(f: (MatchOptimizations.this)#Formula): List[(MatchOptimizations.this)#Model]

    Definition Classes
    DPLLSolverPropositionalLogic
  61. def findModelFor(f: (MatchOptimizations.this)#Formula): (MatchOptimizations.this)#Model

    Definition Classes
    DPLLSolverPropositionalLogic
  62. def fixerUpper(origOwner: Global.Symbol, pos: Position): Global.Traverser

    Attributes
    protected
    Definition Classes
    TreeMakers
  63. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from PatternMatching.MatchOptimizations to StringFormat[PatternMatching.MatchOptimizations] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  64. def formula(c: (MatchOptimizations.this)#Clause*): (MatchOptimizations.this)#Formula

    Definition Classes
    CNF
  65. def formulaBuilder: ArrayBuffer[Set[(MatchOptimizations.this)#Lit]]

    Definition Classes
    CNFPropositionalLogic
  66. def formulaBuilderSized(init: Int): ArrayBuffer[(MatchOptimizations.this)#Clause]

    Definition Classes
    CNF
  67. def freshName(prefix: String): Global.TermName

    Definition Classes
    CodegenCore
  68. def freshSym(pos: Position, tp: Global.Type = NoType, prefix: String = "x"): Global.TermSymbol

    Definition Classes
    CodegenCore
  69. def gatherVariables(p: (MatchOptimizations.this)#Prop): Set[(MatchOptimizations.this)#Var]

    Definition Classes
    PropositionalLogic
  70. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  72. def inMatchMonad(tp: Global.Type): Global.Type

  73. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  74. final def matchMonadResult(tp: Global.Type): Global.Type

    Definition Classes
    MatchMonadInterface
  75. def matchMonadSym: Global.ClassSymbol

    Attributes
    protected
    Definition Classes
    OptimizedMatchMonadInterfaceMatchMonadInterface
  76. val matchOwner: Global.Symbol

    Definition Classes
    MatchMonadInterface
  77. def modelToCounterExample(scrutVar: (MatchOptimizations.this)#Var)(model: (MatchOptimizations.this)#Model): (MatchOptimizations.this)#CounterExample

    Definition Classes
    SymbolicMatchAnalysis
  78. def modelToVarAssignment(model: (MatchOptimizations.this)#Model): Map[(MatchOptimizations.this)#Var, (Seq[(MatchOptimizations.this)#Const], Seq[(MatchOptimizations.this)#Const])]

    Definition Classes
    SymbolicMatchAnalysis
  79. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  80. def newSynthCaseLabel(name: String): Global.MethodSymbol

    Definition Classes
    CodegenCore
  81. final def notify(): Unit

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

    Definition Classes
    AnyRef
  83. def optimizeCases(prevBinder: Global.Symbol, cases: List[List[(MatchOptimizations.this)#TreeMaker]], pt: (MatchOptimizations.this)#Type, unchecked: Boolean): (List[List[(MatchOptimizations.this)#TreeMaker]], List[(MatchOptimizations.this)#Tree])

    Definition Classes
    MatchOptimizationsTreeMakers
  84. object optimizedCodegen extends CommonCodegen

    Definition Classes
    OptimizedCodegen
  85. def prepareNewAnalysis(): Unit

  86. def propToSolvable(p: (MatchOptimizations.this)#Prop): (MatchOptimizations.this)#Formula

    Definition Classes
    PropositionalLogic
  87. def propagateSubstitution(treeMakers: List[(MatchOptimizations.this)#TreeMaker], initial: (MatchOptimizations.this)#Substitution): List[(MatchOptimizations.this)#TreeMaker]

    Definition Classes
    TreeMakers
  88. def pureType(tp: Global.Type): Global.Type

  89. def removeSubstOnly(makers: List[(MatchOptimizations.this)#TreeMaker]): collection.immutable.List[(MatchOptimizations.this)#TreeMaker]

    Definition Classes
    TreeMakers
  90. def removeVarEq(props: List[(MatchOptimizations.this)#Prop], modelNull: Boolean = false): ((MatchOptimizations.this)#Formula, List[(MatchOptimizations.this)#Formula])

    Definition Classes
    PropositionalLogic
  91. def reportMissingCases(pos: Position, counterExamples: List[String]): Unit

    Definition Classes
    MatchMonadInterface
  92. def reportUnreachable(pos: Position): Unit

    Definition Classes
    MatchMonadInterface
  93. def showTests(testss: List[List[(MatchOptimizations.this)#Test]]): Unit

    Definition Classes
    TreeMakerApproximation
  94. def showTreeMakers(cases: List[List[(MatchOptimizations.this)#TreeMaker]]): Unit

    Definition Classes
    TreeMakerApproximation
  95. def simplifyFormula(a: (MatchOptimizations.this)#Formula): (MatchOptimizations.this)#Formula

    Definition Classes
    CNFPropositionalLogic
  96. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  97. def toFormula(buff: (MatchOptimizations.this)#FormulaBuilder): (MatchOptimizations.this)#Formula

    Definition Classes
    CNFPropositionalLogic
  98. def toString(): String

    Definition Classes
    AnyRef → Any
  99. def uncheckableType(tp: Global.Type): Boolean

    Definition Classes
    CheckableTreeAndTypeAnalysis
  100. def uncheckedWarning(pos: Position, msg: String): Any

    Definition Classes
    SymbolicMatchAnalysis
  101. def unreachableCase(prevBinder: Global.Symbol, cases: List[List[(MatchOptimizations.this)#TreeMaker]], pt: (MatchOptimizations.this)#Type): Option[Int]

    Definition Classes
    SymbolicMatchAnalysis
  102. def varAssignmentString(varAssignment: Map[(MatchOptimizations.this)#Var, (Seq[(MatchOptimizations.this)#Const], Seq[(MatchOptimizations.this)#Const])]): String

    Definition Classes
    SymbolicMatchAnalysis
  103. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  106. def warn(pos: Position, ex: Logic.PropositionalLogic.AnalysisBudget.Exception, kind: String): Any

    Definition Classes
    SymbolicMatchAnalysis
  107. def [B](y: B): (PatternMatching.MatchOptimizations, B)

    Implicit information
    This member is added by an implicit conversion from PatternMatching.MatchOptimizations to ArrowAssoc[PatternMatching.MatchOptimizations] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from PatternMatching.DPLLSolver

Inherited from PatternMatching.CNF

Inherited from PatternMatching.SymbolicMatchAnalysis

Inherited from PatternMatching.OptimizedCodegen

Inherited from PatternMatching.CodegenCore

Inherited from PatternMatching.SwitchEmission

Inherited from PatternMatching.OptimizedMatchMonadInterface

Inherited from PatternMatching.DeadCodeElimination

Inherited from PatternMatching.CommonSubconditionElimination

Inherited from PatternMatching.TreeMakerApproximation

Inherited from PatternMatching.TreesAndTypesDomain

Inherited from PatternMatching.CheckableTreeAndTypeAnalysis

Inherited from PatternMatching.PropositionalLogic

Inherited from PatternMatching.TreeMakers

Inherited from PatternMatching.TypedSubstitution

Inherited from PatternMatching.MatchMonadInterface

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion StringAdd from PatternMatching.MatchOptimizations to StringAdd[PatternMatching.MatchOptimizations]

Inherited by implicit conversion StringFormat from PatternMatching.MatchOptimizations to StringFormat[PatternMatching.MatchOptimizations]

Inherited by implicit conversion Ensuring from PatternMatching.MatchOptimizations to Ensuring[PatternMatching.MatchOptimizations]

Inherited by implicit conversion ArrowAssoc from PatternMatching.MatchOptimizations to ArrowAssoc[PatternMatching.MatchOptimizations]

Ungrouped