Object

org.bitbucket.inkytonik.kiama.attribution

UncachedAttribution

Related Doc: package attribution

Permalink

object UncachedAttribution extends UncachedAttributionCore

Module for uncached attributes.

Source
UncachedAttribution.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. UncachedAttribution
  2. UncachedAttributionCore
  3. Memoiser
  4. AttributionCommon
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class ConstantAttribute[T, U] extends Attribute[T, U]

    Permalink

    A constant attribute of a node type T with value of type U.

    A constant attribute of a node type T with value of type U. The value is given by the computation u which is evaluated at most once.

    Definition Classes
    AttributionCommon
  2. trait IdMemoised[T, U] extends MemoisedBase[T, U]

    Permalink

    A memoised entity that weakly holds onto its keys and uses identity to compare them.

    A memoised entity that weakly holds onto its keys and uses identity to compare them.

    Definition Classes
    Memoiser
  3. trait Memoised[T, U] extends MemoisedBase[T, U]

    Permalink

    A memoised entity that uses equality to compare keys.

    A memoised entity that uses equality to compare keys.

    Definition Classes
    Memoiser
  4. trait MemoisedBase[T, U] extends AnyRef

    Permalink

    Common interface for encapsulation of memoisation for a single memoised entity backed by a configurable cache.

    Common interface for encapsulation of memoisation for a single memoised entity backed by a configurable cache.

    Definition Classes
    Memoiser
  5. class UncachedAttribute[T, U] extends Attribute[T, U] with IdMemoised[T, Unit]

    Permalink

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

    An attribute of a node type T with value of type U, supported by a circularity test. The value of the attribute is computed by the function f. f will be called each time the value of the attribute is accessed. f should not itself require the value of this attribute. If it does, a circularity error is reported by throwing an IllegalStateException.

    Definition Classes
    UncachedAttributionCore
  6. class UncachedParamAttribute[A, T, U] extends (A) ⇒ Attribute[T, U] with Memoised[ParamAttributeKey, Unit]

    Permalink

    A variation of the UncachedAttribute class for parameterised attributes.

    A variation of the UncachedAttribute class for parameterised attributes.

    Definition Classes
    UncachedAttributionCore

Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

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

    Permalink
    Definition Classes
    Any
  5. macro def attr[T, U](f: (T) ⇒ U): UncachedAttribute[T, U]

    Permalink

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

    Define an uncached 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.

    Definition Classes
    UncachedAttributionCore
  6. def attrWithName[T, U](name: String, f: (T) ⇒ U): UncachedAttribute[T, U]

    Permalink

    As for the other attr with the first argument specifying a name for the constructed attribute.

    As for the other attr with the first argument specifying a name for the constructed attribute.

    Definition Classes
    UncachedAttributionCore
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def constant[T, U](name: String, u: ⇒ U): Attribute[T, U]

    Permalink

    As for the other constant with the first argument specifying a name for the constructed attribute.

    As for the other constant with the first argument specifying a name for the constructed attribute.

    Definition Classes
    AttributionCommon
  9. macro def constant[T, U](u: ⇒ U): Attribute[T, U]

    Permalink

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

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

    Definition Classes
    AttributionCommon
  10. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  19. macro def paramAttr[V, T, U](f: (V) ⇒ (T) ⇒ U): UncachedParamAttribute[V, T, U]

    Permalink

    Define a parameterised uncached attribute of T nodes of type U by the function f, which takes an argument of type A.

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

    Definition Classes
    UncachedAttributionCore
  20. def paramAttrWithName[V, T, U](name: String, f: (V) ⇒ (T) ⇒ U): UncachedParamAttribute[V, T, U]

    Permalink

    As for the other paramAttr with the first argument specifying a name for the constructed attribute.

    As for the other paramAttr with the first argument specifying a name for the constructed attribute.

    Definition Classes
    UncachedAttributionCore
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from UncachedAttributionCore

Inherited from Memoiser

Inherited from AttributionCommon

Inherited from AnyRef

Inherited from Any

Ungrouped