org.kiama.attribution

DynamicAttribution

object DynamicAttribution extends DynamicAttribution

Module for dynamic attributes.

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

Type Members

  1. type ChangeBuffer = ArrayBuffer[(DynamicAttribute[_, _], ==>[_, _])]

    Definition Classes
    DynamicAttribution
  2. class CircularAttribute[T <: AnyRef, U] extends (T) ⇒ U

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

  3. class ComposedPartialFunction[T, U] extends ==>[T, U]

    A partial function composed of an ordered, mutable buffer of PartialFunction instances.

  4. class DynamicAttribute[T, U] extends ==>[T, U]

    A dynamic atribute defined initially by the function f.

  5. class ParamAttributeKey extends AnyRef

    Support for parameterised attributes: argument, node pair comparison.

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 attr[T <: AnyRef, U](f: ==>[T, U]): ==>[T, U]

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

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

    Definition Classes
    DynamicAttribution
  8. def childAttr[T <: Attributable, U](f: (T) ⇒ ==>[Attributable, U]): ==>[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.

    Definition Classes
    DynamicAttribution
  9. def circular[T <: AnyRef, U](init: U)(f: (T) ⇒ U): (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[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. def constant[T <: AnyRef, U](u: ⇒ U): (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 endUse(attributeInitializer: AnyRef): Unit

    Deactivates a module that defines dynamic attributes, activated using use.

    Deactivates a module that defines dynamic attributes, activated using use.

    Definition Classes
    DynamicAttribution
  13. final def eq(arg0: AnyRef): Boolean

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

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

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

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

    Definition Classes
    AnyRef → Any
  18. def initTree[T <: Attributable](t: T): Unit

    Initialise the Attributable tree rooted at t so that it is ready for attribution.

    Initialise the Attributable tree rooted at t so that it is ready for attribution. At present, the only initialisation performed is to set node attributes such as parent and children so that nodes can generically refer to their neighbours. If you wish to use any of these properties, you must call this method before doing so. Otherwise, the node properties should not be used and there is no need to call this method.

    Definition Classes
    AttributionBase
  19. implicit def internalToDynamicAttribute[T <: AnyRef, U](f: (T) ⇒ U): DynamicAttribute[T, U]

    Implicitly converts partial functions to support the + operator.

    Implicitly converts partial functions to support the + operator.

    Definition Classes
    DynamicAttribution
  20. final def isInstanceOf[T0]: Boolean

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

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

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

    Definition Classes
    AnyRef
  24. def resetMemo(): Unit

    Lazily resets all memoisation tables.

    Lazily resets all memoisation tables.

    Definition Classes
    DynamicAttribution
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  26. def toString(): String

    Definition Classes
    AnyRef → Any
  27. def use[T](attributeInitializer: ⇒ AnyRef): Unit

    Activates a module that defines dynamic attributes, allowing it to be deactivated again using endUse.

    Activates a module that defines dynamic attributes, allowing it to be deactivated again using endUse.

    Definition Classes
    DynamicAttribution
  28. def using[T](attributeInitializer: ⇒ AnyRef)(block: ⇒ T): T

    Defines a new scope in which a dynamic attribution module is active.

    Defines a new scope in which a dynamic attribution module is active. At the end of the scope, the module is unloaded again.

    attributeInitializer

    A module defining dynamic attributes.

    block

    A block to evaluate.

    Definition Classes
    DynamicAttribution
  29. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from DynamicAttribution

Inherited from AttributionBase

Inherited from AnyRef

Inherited from Any

Ungrouped