org.kiama.attribution

Attributable

trait Attributable extends Product with Positional

Common functionality for all classes that are to be attributed. This trait must be extended by all classes for which the node properties such as parent and the attribute shorthand notation -> are desired.

Linear Supertypes
Positional, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Attributable
  2. Positional
  3. Product
  4. Equals
  5. AnyRef
  6. Any
Visibility
  1. Public
  2. All

Abstract Value Members

  1. def canEqual (that: Any): Boolean

    Attributes
    abstract
    Definition Classes
    Equals
  2. def productArity : Int

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

    Attributes
    abstract
    Definition Classes
    Product

Concrete Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def -> [T, U] (a: (T) ⇒ U)(implicit b: (Attributable.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 other than that of the node to which it is applied. 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.

    Attributes
    final
    Annotations
    @inline()
  5. def -> [U] (a: (Attributable.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).

    Attributes
    final
    Annotations
    @inline()
  6. def == (arg0: AnyRef): Boolean

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

    Attributes
    final
    Definition Classes
    Any
  8. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  9. 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 traversables (GenTraversable[_]) and optional children (Option[_]). In the case of traversables and options, their contents are processed and any immediate Attributable contents are included in the sequence.

  10. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  12. def equals (arg0: Any): Boolean

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

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  14. 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 children

  15. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef
  16. def hasChildren : Boolean

    If this node has some attributable children then return true, else return false.

  17. def hashCode (): Int

    Definition Classes
    AnyRef → Any
  18. var index : Int

    The index of this node as a child of its parent or -1 if this node has no parent (is root).

  19. def isFirst : Boolean

    Is this node the first child of its parent?

  20. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  21. def isLast : Boolean

    Is this node the last child of its parent?

  22. def isRoot : Boolean

    Is this node the root of the hierarchy?

  23. 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 children

  24. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  25. def next [T] : T

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

  26. def notify (): Unit

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

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

    A short-hand for parent.

    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 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, such as Option or GenTraversable nodes.

  30. var pos : Position

    Definition Classes
    Positional
  31. def prev [T] : T

    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.

  32. def productIterator : Iterator[Any]

    Definition Classes
    Product
  33. def productPrefix : String

    Definition Classes
    Product
  34. def setChildConnections (): Unit

    House-keeping method to connect my children to me and their siblings.

    House-keeping method to connect my children to me and their siblings. If a node is a direct child of a GenTraversable or Some, then the parent link "bypasses" that parent to go to the Attributable parent above. It is assumed that traversables and options are not directly nested. As a side-effect, this method remembers the attributable children so that they can be accessed easily via the children iterator.

    Attributes
    protected
  35. def setPos (newpos: Position): Attributable.this.type

    Definition Classes
    Positional
  36. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  37. def toString (): String

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

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

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

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  41. def productElements : Iterator[Any]

    Definition Classes
    Product
    Annotations
    @deprecated
    Deprecated

    use productIterator instead

Inherited from Positional

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any