org.kiama.attribution

UncachedAttribution

object UncachedAttribution extends AttributionBase

Attribution of syntax trees in a functional style with attribute values computed each time they are accessed.

Linear Supertypes
AttributionBase, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. UncachedAttribution
  2. AttributionBase
  3. AnyRef
  4. Any
Visibility
  1. Public
  2. All

Type Members

  1. class CircularAttribute [T <: AnyRef, U] extends $eq$eq$greater[T, U]

    An attribute of a node type T with value of type U which has a circular definition.

  2. class ParamAttributeKey extends AnyRef

    Support for parameterised attributes: argument, node pair comparison.

  3. class UncachedAttribute [T <: AnyRef, U] extends $eq$eq$greater[T, U]

    An attribute of a node type T with value of type U, supported by a circularity test.

  4. class UncachedParamAttribute [TArg, T <: AnyRef, U] extends (TArg) ⇒ $eq$eq$greater[T, U]

    A variation of the UncachedAttribute class for parameterised attributes.

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

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

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

    Attributes
    final
    Definition Classes
    Any
  7. def attr [T <: AnyRef, U] (f: $eq$eq$greater[T, U]): $eq$eq$greater[T, U]

    Define an attribute of T nodes of type U by the function f, which should not depend on the value of this attribute.

    Define an attribute of T nodes of type U by the function f, which should not depend on the value of this attribute. The computed attribute value is cached so it will be computed at most once.

  8. def childAttr [T <: Attributable, U] (f: (T) ⇒ $eq$eq$greater[Attributable, U]): $eq$eq$greater[T, U]

    Define an attribute of T nodes of type U by the function f, which takes the current node and its parent as its arguments.

    Define an attribute of T nodes of type U by the function f, which takes the current node and its parent as its arguments. T must be Attributable so that parents can be accessed.

  9. def circular [T <: AnyRef, U] (init: U)(f: $eq$eq$greater[T, U]): $eq$eq$greater[T, U]

    Define a circular attribute of T nodes of type U by the function f.

    Define a circular attribute of T nodes of type U by the function f. f is allowed to depend on the value of this attribute, which will be given by init initially and will be evaluated iteratively until a fixed point is reached (in conjunction with other circular attributes on which it depends). The final value is cached.

    Definition Classes
    AttributionBase
  10. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. def constant [T <: AnyRef, U] (u: ⇒ U): $eq$eq$greater[T, U]

    Define an attribute of T nodes of type U given by the constant value u.

    Define an attribute of T nodes of type U given by the constant value u. u is evaluated at most once.

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

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

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

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

    Attributes
    final
    Definition Classes
    AnyRef
  16. def hashCode (): Int

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

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

    Attributes
    final
    Definition Classes
    AnyRef
  19. def notify (): Unit

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

    Attributes
    final
    Definition Classes
    AnyRef
  21. def paramAttr [TArg, T <: AnyRef, U] (f: (TArg) ⇒ $eq$eq$greater[T, U]): (TArg) ⇒ $eq$eq$greater[T, U]

    Define an attribute of T nodes of type U by the function f, which takes an argument of type TArg.

    Define an attribute of T nodes of type U by the function f, which takes an argument of type TArg. The computed attribute value for a given TArg is cached so it will be computed at most once.

  22. def synchronized [T0] (arg0: ⇒ T0): T0

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

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

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

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

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AttributionBase

Inherited from AnyRef

Inherited from Any