Object

inox.ast.Deconstructors

Operator

Related Doc: package Deconstructors

Permalink

object Operator extends TreeExtractor

Operator Extractor to extract any Expression in a consistent way.

You can match on any Inox Expr, and then get both a Seq[Expr] of subterms and a builder function that takes a Seq of subterms (of same length) and rebuild the original node.

Those extractors do not perform any syntactic simplifications. They rebuild the node using the case class (not the constructor, that performs simplifications). The rational behind this decision is to have core tools for performing tree transformations that are very predictable, if one need to simplify the tree, it is easy to write/call a simplification function that would simply apply the corresponding constructor for each node.

Linear Supertypes
TreeExtractor, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Operator
  2. TreeExtractor
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Source = Trees.Expr

    Permalink
    Definition Classes
    OperatorTreeExtractor
  2. type Target = Trees.Expr

    Permalink
    Definition Classes
    OperatorTreeExtractor

Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

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

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

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

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. val s: Deconstructors.this.type

    Permalink
    Attributes
    protected
    Definition Classes
    OperatorTreeExtractor
  16. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  17. val t: Deconstructors.this.type

    Permalink
    Attributes
    protected
    Definition Classes
    OperatorTreeExtractor
  18. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  19. def unapply(e: Trees.Expr): Option[(Seq[Trees.Expr], (Seq[Trees.Expr]) ⇒ Trees.Expr)]

    Permalink
    Definition Classes
    OperatorTreeExtractor
  20. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from TreeExtractor

Inherited from AnyRef

Inherited from Any

Ungrouped