treehugger.api.Trees

Bind

case class Bind(name: Name, body: Tree) extends DefTree with Product with Serializable

Bind of a variable to a rhs pattern, eliminated by explicitouter

name
body

Linear Supertypes
Serializable, Serializable, DefTree, SymTree, Tree, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Bind
  2. Serializable
  3. Serializable
  4. DefTree
  5. SymTree
  6. Tree
  7. Product
  8. Equals
  9. AnyRef
  10. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Bind(name: Name, body: Tree)

    name
    body

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. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. val body: Tree

  8. def canEqual(arg0: Any): Boolean

    Definition Classes
    Bind → Equals
  9. def children: List[Tree]

    The direct child trees of this tree.

    The direct child trees of this tree. EmptyTrees are always omitted. Lists are flattened.

    Definition Classes
    Tree
  10. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. def defineType(tp: Type): Bind.this.type

    Like setType, but if this is a previously empty TypeTree that fact is remembered so that resetAllAttrs will snap back.

    Like setType, but if this is a previously empty TypeTree that fact is remembered so that resetAllAttrs will snap back.

    Attempting to elaborate on the above, I find: If defineType is called on a TypeTree whose type field is null or NoType, this is recorded as "wasEmpty = true". That value is used in ResetAttrsTraverser, which nulls out the type field of TypeTrees for which wasEmpty is true, leaving the others alone.

    resetAllAttrs is used in situations where some speculative typing of a tree takes place, fails, and the tree needs to be returned to its former state to try again. So according to me: using defineType instead of setType is how you communicate that the type being set does not depend on any previous state, and therefore should be abandoned if the current line of type inquiry doesn't work out.

    Definition Classes
    Tree
  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(that: Any): Boolean

    Definition Classes
    Tree → Equals → AnyRef → Any
  14. def equalsStructure(that: Tree): Boolean

    Definition Classes
    Tree
  15. def equalsStructure0(that: Tree)(f: (Tree, Tree) ⇒ Boolean): Boolean

    Definition Classes
    Tree
  16. def exists(p: (Tree) ⇒ Boolean): Boolean

    Is there part of this tree which satisfies predicate p?

    Is there part of this tree which satisfies predicate p?

    Definition Classes
    Tree
  17. def filter(f: (Tree) ⇒ Boolean): List[Tree]

    Find all subtrees matching predicate p

    Find all subtrees matching predicate p

    Definition Classes
    Tree
  18. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  19. def find(p: (Tree) ⇒ Boolean): Option[Tree]

    Returns optionally first tree (in a preorder traversal) which satisfies predicate p, or None if none exists.

    Returns optionally first tree (in a preorder traversal) which satisfies predicate p, or None if none exists.

    Definition Classes
    Tree
  20. def foreach(f: (Tree) ⇒ Unit): Unit

    Apply f to each subtree

    Apply f to each subtree

    Definition Classes
    Tree
  21. final def getClass(): java.lang.Class[_]

    Definition Classes
    AnyRef → Any
  22. def hasSymbol: Boolean

    Definition Classes
    SymTreeTree
  23. def hasSymbolWhich(f: (Symbol) ⇒ Boolean): Boolean

    Definition Classes
    Tree
  24. def hashCode(): Int

    Definition Classes
    Tree → AnyRef → Any
  25. val id: Int

    Definition Classes
    Tree
  26. def isDef: Boolean

    Definition Classes
    DefTreeTree
  27. def isEmpty: Boolean

    Definition Classes
    Tree
  28. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  29. def isTerm: Boolean

    The canonical way to test if a Tree represents a term.

    The canonical way to test if a Tree represents a term.

    Definition Classes
    Tree
  30. def isType: Boolean

    The canonical way to test if a Tree represents a type.

    The canonical way to test if a Tree represents a type.

    Definition Classes
    Tree
  31. val name: Name

    Definition Classes
    BindDefTree
  32. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  33. final def notify(): Unit

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

    Definition Classes
    AnyRef
  35. def pos: Position

    Definition Classes
    Tree
  36. def pos_=(pos: Position): Unit

    Definition Classes
    Tree
  37. def productArity: Int

    Definition Classes
    Bind → Product
  38. def productElement(arg0: Int): Any

    Definition Classes
    Bind → Product
  39. def productIterator: Iterator[Any]

    Definition Classes
    Product
  40. def productPrefix: String

    Definition Classes
    Bind → Product
  41. def setPos(pos: Position): Bind.this.type

    Definition Classes
    Tree
  42. def setSymbol(sym: Symbol): Bind.this.type

    Definition Classes
    Tree
  43. def setType(tp: Type): Bind.this.type

    Set tpe to give tp and return this.

    Set tpe to give tp and return this.

    Definition Classes
    Tree
  44. var symbol: Symbol

    Note that symbol is fixed as null at this level.

    Note that symbol is fixed as null at this level. In SymTrees, it is overridden and implemented with a var, initialized to NoSymbol.

    Trees which are not SymTrees but which carry symbols do so by overriding def symbol to forward it elsewhere. Examples:

    Super(qual, _) // has qual's symbol Apply(fun, args) // has fun's symbol TypeApply(fun, args) // has fun's symbol AppliedTypeTree(tpt, args) // has tpt's symbol TypeTree(tpe) // has tpe's typeSymbol, if tpe != null

    Attempting to set the symbol of a Tree which does not support it will induce an exception.

    Definition Classes
    SymTreeTree
  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  46. def toString(): String

    Definition Classes
    Bind → AnyRef → Any
  47. def tpe: Type

    Definition Classes
    Tree
  48. def tpe_=(t: Type): Unit

    Definition Classes
    Tree
  49. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Deprecated Value Members

  1. def productElements: Iterator[Any]

    Definition Classes
    Product
    Annotations
    @deprecated
    Deprecated

    (Since version 2.8.0) use productIterator instead

Inherited from Serializable

Inherited from Serializable

Inherited from DefTree

Inherited from SymTree

Inherited from Tree

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any