org.kiama.attribution

Decorators

object Decorators

Decorators are higher-order operations that provide common patterns of tree attribution based on simple attributes or functions.

Source
Decorators.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Decorators
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class Chain[T, U](in: (T) ⇒ U, out: (T) ⇒ U) extends (T) ⇒ U with Product with Serializable

    A pair of attributes that thread through a tree in a depth-first left-to-right fashion.

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. def chain[T <: Attributable, U](inupdate: ((T) ⇒ U) ⇒ ==>[T, U] = idf[T,U], outupdate: ((T) ⇒ U) ⇒ ==>[T, U] = idf[T,U]): Chain[T, U]

    Create a new attribute chain.

    Create a new attribute chain. The update functions provide ways to influence the chain value, by taking the default computation of the in or out attribute and returning a partial function. If the domain of the partial function contains a node, then that function is used to compute the chain value at the node n, otherwise the default chain attribute is used. If an update function is omitted, it defaults to the identity.

    If the root of the tree is reached without a definition being supplied for the chain, a runtime exception is thrown. Both of the components of the chain are reset to avoid errors for cyclic if the exception is caught and they are subsequently evaluated again.

  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  9. def down[T <: Attributable, U](a: ==>[T, U]): Attribution.CachedAttribute[T, U]

    A decorator that propagates an attribute value down the tree.

    A decorator that propagates an attribute value down the tree. The partial function a should define the value of the attribute at nodes where it is known. If a does not define a value for the attribute at a particular node, then the decorator asks the parent of the node for its value of the attribute and uses that value. For this reason, a should at least provide a value for the root of the tree.

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

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

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

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

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

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

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

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

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

    Definition Classes
    AnyRef
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  20. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any

Ungrouped