class EquivalentExpressions extends AnyRef
This class is used to compute equality of (sub)expression trees. Expressions can be added to this class and they subsequently query for expression equality. Expression trees are considered equal if for the same input(s), the same result is produced.
- Alphabetic
- By Inheritance
- EquivalentExpressions
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new EquivalentExpressions()
Type Members
-
case class
Expr(e: Expression) extends Product with Serializable
Wrapper around an Expression that provides semantic equality.
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
-
def
addExpr(expr: Expression): Boolean
Adds each expression to this data structure, grouping them with existing equivalent expressions.
Adds each expression to this data structure, grouping them with existing equivalent expressions. Non-recursive. Returns true if there was already a matching expression.
-
def
addExprTree(expr: Expression): Unit
Adds the expression to this data structure recursively.
Adds the expression to this data structure recursively. Stops if a matching expression is found. That is, if
exprhas already been added, its children are not added. -
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
debugString(all: Boolean = false): String
Returns the state of the data structure as a string.
Returns the state of the data structure as a string. If
allis false, skips sets of equivalent expressions with cardinality 1. -
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
getAllEquivalentExprs: Seq[Seq[Expression]]
Returns all the equivalent sets of expressions.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getEquivalentExprs(e: Expression): Seq[Expression]
Returns all of the expression trees that are equivalent to
e.Returns all of the expression trees that are equivalent to
e. Returns an empty collection if there are none. -
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- 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()