scala.tools.nsc.transform.patmat.MatchOptimization.CommonSubconditionElimination
ReusingCondTreeMaker
case class ReusingCondTreeMaker(sharedPrefix: List[CommonSubconditionElimination.Test], toReused: (CommonSubconditionElimination.TreeMaker) ⇒ CommonSubconditionElimination.TreeMaker) extends TreeMaker with Product with Serializable
- Alphabetic
- By Inheritance
- ReusingCondTreeMaker
- Serializable
- Serializable
- Product
- Equals
- TreeMaker
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ReusingCondTreeMaker(sharedPrefix: List[CommonSubconditionElimination.Test], toReused: (CommonSubconditionElimination.TreeMaker) ⇒ CommonSubconditionElimination.TreeMaker)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
chainBefore(next: CommonSubconditionElimination.Tree)(casegen: CommonSubconditionElimination.Casegen): CommonSubconditionElimination.Tree
- Definition Classes
- ReusingCondTreeMaker → TreeMaker
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- lazy val lastReusedTreeMaker: ReusedCondTreeMaker
-
lazy val
localSubstitution: CommonSubconditionElimination.Substitution
- Definition Classes
- ReusingCondTreeMaker → TreeMaker
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
val
pos: Global.Position
- Definition Classes
- ReusingCondTreeMaker → TreeMaker
- val sharedPrefix: List[CommonSubconditionElimination.Test]
-
def
subPatternsAsSubstitution: CommonSubconditionElimination.Substitution
The substitution that specifies the trees that compute the values of the subpattern binders.
The substitution that specifies the trees that compute the values of the subpattern binders.
Should not be used to perform actual substitution! Only used to reason symbolically about the values the subpattern binders are bound to. See TreeMakerToCond#updateSubstitution.
Overridden in PreserveSubPatBinders to pretend it replaces the subpattern binders by subpattern refs (Even though we don't do so anymore -- see scala/bug#5158, scala/bug#5739 and scala/bug#6070.)
TODO: clean this up, would be nicer to have some higher-level way to compute the binders bound by this tree maker and the symbolic values that correspond to them
- Definition Classes
- TreeMaker
-
def
substitution: CommonSubconditionElimination.Substitution
captures the scope and the value of the bindings in patterns important *when* the substitution happens (can't accumulate and do at once after the full matcher has been constructed)
captures the scope and the value of the bindings in patterns important *when* the substitution happens (can't accumulate and do at once after the full matcher has been constructed)
- Definition Classes
- TreeMaker
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- val toReused: (CommonSubconditionElimination.TreeMaker) ⇒ CommonSubconditionElimination.TreeMaker
-
def
toString(): String
- Definition Classes
- ReusingCondTreeMaker → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()