scala.tools.nsc.typechecker.PatternMatching
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).
An optimized version of ExtractorTreeMaker for Products.
implements the run-time aspects of (§8.
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)
(commonSubconditionElimination: StringAdd).self
(commonSubconditionElimination: StringFormat).self
(commonSubconditionElimination: ArrowAssoc[CommonSubconditionElimination]).x
(Since version 2.10.0) Use leftOfArrow
instead
(commonSubconditionElimination: Ensuring[CommonSubconditionElimination]).x
(Since version 2.10.0) Use resultOfEnsuring
instead