Package

org.bitbucket.inkytonik.kiama

util

Permalink

package util

Visibility
  1. Public
  2. All

Type Members

  1. class Counter extends AnyRef

    Permalink

    Thread-safe counters.

    Thread-safe counters. This class provides an operation that can be used to generate a sequence of integer values. Instances of this class are useful for generating things like unique names for generated entities. The methods synchronize on the counter value so they can be called safely from more than one thread.

    init is the initial value of the counter (default: -1).

  2. abstract class Emitter extends AnyRef

    Permalink

    Class of objects that can emit text.

  3. abstract class Entity extends AnyRef

    Permalink

    An entity that represents some program object.

  4. trait Environments extends AnyRef

    Permalink

    General implementation of environments as stacked scopes.

    General implementation of environments as stacked scopes. The objects associated with names in environments are of type Entity.

  5. abstract class ErrorEntity extends Entity

    Permalink

    An entity that represents an error situation.

    An entity that represents an error situation. These entities are usually accepted in most situations to avoid cascade errors.

  6. class FileEmitter extends StringEmitter

    Permalink

    A string emitter that also provides a close method to send the result to the named UTF-8 encoded file.

  7. case class FileSource(filename: String, encoding: String = "UTF-8") extends Source with Product with Serializable

    Permalink

    A source that is a named file.

  8. class Memoiser[T, U] extends AnyRef

    Permalink

    A memoiser that can store arbitrary values of type U under keys of type T.

    A memoiser that can store arbitrary values of type U under keys of type T. The behaviour of the memoiser can be adjusted by selecting an appropriate type.

  9. abstract class MemoiserType extends AnyRef

    Permalink

    The types of memoiser that can be created.

  10. case class Message(value: AnyRef, label: String) extends Product with Serializable

    Permalink

    A message record consisting of a value with which the message is associated and a label string.

  11. trait Messaging extends AnyRef

    Permalink

    General facility for processing messages relative to positioned values.

  12. case class MultipleEntity() extends ErrorEntity with Product with Serializable

    Permalink

    A entity represented by names for whom we have seen more than one declaration so we are unsure what is being represented.

  13. class OutputEmitter extends Emitter

    Permalink

    Class of objects that can emit arbitrary output.

    Class of objects that can emit arbitrary output. The output is sent to standard output. Use an ErrorEmitter if your output is signalling errors, warnings, log messages or similar.

  14. case class Position(line: Int, column: Int, source: Source) extends Product with Serializable

    Permalink

    Record of a source position at a particular line and column relative to a given source.

  15. trait PositionStore extends AnyRef

    Permalink

    Interface for objects that have a position store.

  16. class Positions extends AnyRef

    Permalink

    Record of source positions that correspond to program elements.

  17. trait Profiler extends dsprofile.Profiler

    Permalink

    Kiama-specific additions to dsprofile profilers.

  18. trait Source extends AnyRef

    Permalink

    A source of input to which a position might refer.

  19. class StringEmitter extends Emitter

    Permalink

    An emitter that records the output in a string that can be accessed via the result method.

  20. case class StringSource(content: String) extends Source with Product with Serializable

    Permalink

    A source that is a string.

  21. case class UnknownEntity() extends ErrorEntity with Product with Serializable

    Permalink

    An unknown entity, for example one that is represened by names whose declarations are missing.

  22. class WeakIdentityHashSet[T] extends AnyRef

    Permalink

    A simple set that compares elements by identity.

  23. class Compat210 extends AnyRef

    Permalink

    Compatibility interface so variances between Scala 2.10 and 2.11 can be accommodated in the same client code.

    Compatibility interface so variances between Scala 2.10 and 2.11 can be accommodated in the same client code. This class is deprecated so that warnings about 2.10 things that are deprecated in 2.11 are hidden. Do not use this class directly, but import from its companion object so that the deprecation warnings will be suppressed.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.11) You should never see this message

Value Members

  1. object Comparison

    Permalink

    Utility module for comparison routines.

  2. object Compat210 extends Compat210

    Permalink

    Object by which to access the compatibility interface.

    Object by which to access the compatibility interface. We don't just put the compatibility definitions in this object because using a class and companion object suppresses deprecation warnings.

  3. object IO

    Permalink

    Utility wrapper for I/O to isolate Kiama code from some Java I/O details.

  4. object IdentityKeys extends MemoiserType with Product with Serializable

    Permalink

    Identity-based key comparison.

  5. object Memoiser

    Permalink

    Support for memoisers.

  6. object Messaging

    Permalink

    Shared definitions for all messaging.

  7. object Source

    Permalink

    Support code for various sources.

  8. object Trampolines

    Permalink

    Trampolines.

    Trampolines. Useful for converting stack-heavy operations into heap-based ones and thereby avoiding stack overflow.

    Based on code from "Stackless Scala With Free Monads", Runar Oli Bjarnason.

  9. object ValueKeys extends MemoiserType with Product with Serializable

    Permalink

    Value-based key comparison.

Ungrouped