org.kiama.util

TreeNode

trait TreeNode extends Attributable

General behaviour for tree nodes. Case classes that implement actual tree node types should mix-in this trait.

Source
TreeNode.scala
Linear Supertypes
Attributable, Cloneable, Cloneable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. TreeNode
  2. Attributable
  3. Cloneable
  4. Cloneable
  5. Product
  6. Equals
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def canEqual(that: Any): Boolean

    Definition Classes
    Equals
  2. abstract def productArity: Int

    Definition Classes
    Product
  3. abstract def productElement(n: Int): Any

    Definition Classes
    Product

Concrete Value Members

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

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

    Definition Classes
    AnyRef → Any
  3. final def ->[T, U](a: (T) ⇒ U)(implicit b: (TreeNode.this.type) ⇒ T): U

    Reference an attribute or function that can be applied to this node.

    Reference an attribute or function that can be applied to this node. this->attribute is equivalent to attribute(this). The attribute definition is defined on a type T other than that of the node to which it is applied (this.type). An implicit value must exist to transform from the node type to the type expected by the attribute. This form of attribute reference is commonly used to implement attribute forwarding where the implicit parameter enables references to the attribute to be implicitly forwarded to some other node.

    Definition Classes
    Attributable
    Annotations
    @inline()
  4. final def ->[U](a: (TreeNode.this.type) ⇒ U): U

    Reference an attribute or function that can be applied to this node.

    Reference an attribute or function that can be applied to this node. this->attribute is equivalent to attribute(this).

    Definition Classes
    Attributable
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

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

    Definition Classes
    Any
  7. def children: Iterator[Attributable]

    This node's Attributable children in left-to-right order.

    This node's Attributable children in left-to-right order. Children that are not Attributable are ignored, except for nodes that collect Attributable children. Those indirect children are also collected here.

    Definition Classes
    Attributable
    See also

    initTreeProperties

  8. def clone(): Attributable

    Make a shallow clone of this node.

    Make a shallow clone of this node.

    Definition Classes
    Attributable → AnyRef
    See also

    AttributableSupport.deepclone

  9. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. def firstChild[T]: T

    This node's first Attributable child.

    This node's first Attributable child. Raises an IndexOutOfBounds exception if this node has no such children.

    Definition Classes
    Attributable
  13. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  14. def hasChildren: Boolean

    Does this node have some Attributable children?

    Does this node have some Attributable children?

    Definition Classes
    Attributable
  15. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  16. var index: Int

    The index of this node as a child of its parent or -1 if this node has no parent (i.e., it's a root).

    The index of this node as a child of its parent or -1 if this node has no parent (i.e., it's a root).

    Definition Classes
    Attributable
  17. def initTreeProperties(): Unit

    House-keeping method to connect this node's children to it and their siblings (and recursively through the subtree rooted here).

    House-keeping method to connect this node's children to it and their siblings (and recursively through the subtree rooted here). The easy case is Attributable children that are direct descendants. Also connected are Attributable descendants that are reachable via a path of descendants that only passes through GenTraversable, Some, or tuple (up to size four) nodes. Thus, descendants of these kinds are regarded as children for the purposes of attribution. As a side-effect, this method remembers the children so that they can be accessed easily via the children iterator.

    Definition Classes
    Attributable
  18. def isFirst: Boolean

    Is this node the first child of its parent?

    Is this node the first child of its parent?

    Definition Classes
    Attributable
  19. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  20. def isLast: Boolean

    Is this node the last child of its parent?

    Is this node the last child of its parent?

    Definition Classes
    Attributable
  21. def isRoot: Boolean

    Is this node the root of the hierarchy?

    Is this node the root of the hierarchy?

    Definition Classes
    Attributable
  22. def lastChild[T]: T

    This node's last Attributable child.

    This node's last Attributable child. Raises an IndexOutOfBounds exception if this node has no such children.

    Definition Classes
    Attributable
  23. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. def next[T]: T

    A short-hand for next.asInstanceOf[T], which is useful in cases a T-specific operation is applied to the next, which otherwise would be of type Attributable.

    A short-hand for next.asInstanceOf[T], which is useful in cases a T-specific operation is applied to the next, which otherwise would be of type Attributable.

    Definition Classes
    Attributable
  25. var next: Attributable

    A link to the child of the same Attributable parent immediately to the left of this one, or null if this is the first child of its parent.

    A link to the child of the same Attributable parent immediately to the left of this one, or null if this is the first child of its parent.

    Definition Classes
    Attributable
  26. final def notify(): Unit

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

    Definition Classes
    AnyRef
  28. def parent[T]: T

    A short-hand for parent.asInstanceOf[T], which is useful in cases a T-specific operation is applied to the parent, which otherwise would be of type Attributable.

    A short-hand for parent.asInstanceOf[T], which is useful in cases a T-specific operation is applied to the parent, which otherwise would be of type Attributable.

    Definition Classes
    Attributable
  29. var parent: Attributable

    A link to the parent Attributable node of this node or null if this node has no parent.

    A link to the parent Attributable node of this node or null if this node has no parent. Note that this link will skip intervening non-Attributable ancestors.

    Definition Classes
    Attributable
    See also

    initTreeProperties

  30. def prev[T]: T

    A short-hand for prev.asInstanceOf[T], which is useful in cases a T-specific operation is applied to the prev, which otherwise would be of type Attributable.

    A short-hand for prev.asInstanceOf[T], which is useful in cases a T-specific operation is applied to the prev, which otherwise would be of type Attributable.

    Definition Classes
    Attributable
  31. var prev: Attributable

    A link to the child of the same Attributable parent immediately to the left of this one, or null if this is the first child of its parent.

    A link to the child of the same Attributable parent immediately to the left of this one, or null if this is the first child of its parent.

    Definition Classes
    Attributable
  32. def productIterator: Iterator[Any]

    Definition Classes
    Product
  33. def productPrefix: String

    Definition Classes
    Product
  34. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  35. def toString(): String

    Definition Classes
    AnyRef → Any
  36. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Attributable

Inherited from Cloneable

Inherited from Cloneable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped