treehugger.api.Trees

TypeDef

case class TypeDef(mods: Universe.Modifiers, name: Universe.TypeName, tparams: List[Universe.TypeDef], rhs: Universe.Tree) extends Universe.MemberDef with Product with Serializable

An abstract type, a type parameter, or a type alias.

Linear Supertypes
Serializable, Serializable, Universe.MemberDef, Universe.DefTree, Universe.SymTree, Universe.Tree, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. TypeDef
  2. Serializable
  3. Serializable
  4. MemberDef
  5. DefTree
  6. SymTree
  7. Tree
  8. Product
  9. Equals
  10. AnyRef
  11. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TypeDef(mods: Universe.Modifiers, name: Universe.TypeName, tparams: List[Universe.TypeDef], rhs: Universe.Tree)

Value Members

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

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

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

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

    Definition Classes
    Any
  5. def children: List[Universe.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
  6. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def defineType(tp: Universe.Type): TypeDef.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
  8. final def eq(arg0: AnyRef): Boolean

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

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

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

    Definition Classes
    Tree
  12. def exists(p: (Universe.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
  13. def filter(f: (Universe.Tree) ⇒ Boolean): List[Universe.Tree]

    Find all subtrees matching predicate p

    Find all subtrees matching predicate p

    Definition Classes
    Tree
  14. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def find(p: (Universe.Tree) ⇒ Boolean): Option[Universe.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
  16. def foreach(f: (Universe.Tree) ⇒ Unit): Unit

    Apply f to each subtree

    Apply f to each subtree

    Definition Classes
    Tree
  17. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  18. def hasSymbol: Boolean

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

    Definition Classes
    Tree
  20. def hashCode(): Int

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

    Definition Classes
    Tree
  22. def isDef: Boolean

    Definition Classes
    DefTreeTree
  23. def isEmpty: Boolean

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

    Definition Classes
    Any
  25. 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
  26. 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
  27. def keyword: String

    Definition Classes
    MemberDef
  28. val mods: Universe.Modifiers

    Definition Classes
    TypeDefMemberDef
  29. val name: Universe.TypeName

    Definition Classes
    TypeDefDefTree
  30. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  33. def pos: Position

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

    Definition Classes
    Tree
  35. val rhs: Universe.Tree

  36. def setPos(pos: Position): TypeDef.this.type

    Definition Classes
    Tree
  37. def setSymbol(sym: Universe.Symbol): TypeDef.this.type

    Definition Classes
    Tree
  38. def setType(tp: Universe.Type): TypeDef.this.type

    Set tpe to give tp and return this.

    Set tpe to give tp and return this.

    Definition Classes
    Tree
  39. var symbol: Universe.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
  40. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  41. val tparams: List[Universe.TypeDef]

  42. def tpe: Universe.Type

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

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Universe.MemberDef

Inherited from Universe.DefTree

Inherited from Universe.SymTree

Inherited from Universe.Tree

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped