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[E <: Entity] 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 E which must be a subtype of the general Entity class.

  5. 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.

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

    Permalink

    A source that is a named file.

  7. 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.

  8. sealed abstract class MemoiserType extends AnyRef

    Permalink

    The types of memoiser that can be created.

  9. 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, a label string, and a severity (which defaults to error).

  10. class Messaging extends AnyRef

    Permalink

    General facility for processing messages relative to positioned values.

  11. 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.

  12. 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.

    Record of a source position at a particular line and column relative to a given source. The line and column numbers are one-indexed.

  13. class Positions extends AnyRef

    Permalink

    Record of source positions that correspond to program elements.

  14. trait Source extends AnyRef

    Permalink

    A simple source of characters.

  15. class StringEmitter extends Emitter

    Permalink

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

  16. case class StringSource(content: String, name: String = "") extends Source with Product with Serializable

    Permalink

    A source that is a string.

  17. class WeakIdentityHashSet[T] extends AnyRef

    Permalink

    A simple set that compares elements by identity.

Value Members

  1. object Collections

    Permalink
  2. object Comparison

    Permalink

    Utility module for comparison routines.

  3. object Filenames

    Permalink

    Support code for handling filenames.

  4. object IO

    Permalink

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

  5. object IdentityKeys extends MemoiserType with Product with Serializable

    Permalink

    Identity-based key comparison.

  6. object Memoiser

    Permalink

    Support for memoisers.

  7. object Messaging

    Permalink

    Shared definitions for all messaging.

  8. object Severities

    Permalink

    The severities of a message.

  9. object StringOps

    Permalink
  10. 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.

  11. object ValueKeys extends MemoiserType with Product with Serializable

    Permalink

    Value-based key comparison.

Ungrouped