Enclosure (API documentation of hlt.language packages)
Date: 2013-01-30

hlt.language.design.kernel

## Class Enclosure

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractList
    - - hlt.language.util.ArrayList
      - - hlt.language.util.Stack
        - - hlt.language.design.kernel.Enclosure

- All Implemented Interfaces:
    ViewableStack, java.lang.Iterable, java.util.Collection, java.util.List

      public class Enclosure
      extends Stack

  An `Enclosure` is the stack of scopes that are enclosing a given subexpression. Besides stack operations, it provides the method `setLocalInfo(Local)` that computes and sets the de Bruijn index for the specified `Local` according to its runtime sort by looking it up the stack of scopes' parameters as it walks up through the enclosure from the subexpression's occurrence to its outermost enclosing expression's root. Along the way, the `Local` is recorded in each enclosing abstraction in which it occurs free - this is needed to compute the maximal closure frame size to allocate for each abstraction.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Enclosure()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `toString()` Returns a string representation of this ArrayList

    - ### Methods inherited from class hlt.language.util.Stack

      `empty, iterator, peek, peek, pop, push, replace, search`

    - ### Methods inherited from class hlt.language.util.ArrayList

      `add, add, addAll, addAll, addAll, addAll, addElement, capacity, clear, clear, clone, contains, containsAll, containsAll, copyInto, elementAt, ensureCapacity, equals, firstElement, get, hasGaps, hashCode, indexOf, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, remove, remove, removeAll, removeAll, removeAllElements, removeAllFirst, removeAllFirst, removeElement, removeElementAt, removeGaps, removeRange, retainAll, set, setElementAt, setIncrementFactor, setLast, setSize, size, toArray, toStringArray, trimToSize`

    - ### Methods inherited from class java.util.AbstractList

      `addAll, listIterator, listIterator, subList`

    - ### Methods inherited from class java.util.AbstractCollection

      `addAll, containsAll, removeAll, retainAll, toArray`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface hlt.language.util.ViewableStack

      `get, isEmpty, size`

    - ### Methods inherited from interface java.util.Collection

      `addAll, containsAll, removeAll, retainAll, toArray`

    - ### Methods inherited from interface java.util.List

      `addAll, containsAll, removeAll, retainAll, toArray`

- - ### Constructor Detail

    - #### Enclosure

          public Enclosure()

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Description copied from class: `ArrayList`
      Returns a string representation of this ArrayList
      Overrides:
        `toString` in class `ArrayList`
      Returns:
        a string representation of this collection.