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

hlt.language.design.kernel

## Class Dummy

- java.lang.Object
- - hlt.language.design.kernel.Expression
  - - hlt.language.design.kernel.Dummy

- All Implemented Interfaces:
    Locatable

      public class Dummy
      extends Expression

- - ### Field Summary

    - ### Fields inherited from class hlt.language.design.kernel.Expression

      `VOID_ASSIGNMENTS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Dummy(Parameter parameter)`
    `Dummy(java.lang.String name)`
    `Dummy(Tables tables, Parameter parameter)`
    `Dummy(Tables tables, java.lang.String name)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Type` | `checkedType()` A Dummy never gets to invoke this.
    `void` | `compile(Compiler compiler)` A Dummy never gets to invoke this.
    `boolean` | `containsFreeName(java.lang.String name)` Returns `true` iff the specified name occurs free in this expression.
    `Expression` | `copy()` Returns a deep copy of this expression.
    `boolean` | `equals(java.lang.Object other)`
    `java.lang.String` | `name()`
    `Expression` | `sanitizeNames(ParameterStack parameters)` This method returns the actual expression corresponding to this one after eliminating all the `Dummy` expressions that occur in it where names where read.
    `void` | `sanitizeSorts(Enclosure enclosure)` A Dummy never gets to invoke this.
    `void` | `setCheckedType()` A Dummy never gets to invoke this.
    `void` | `setCheckedType(Type type)` A Dummy never gets to invoke this.
    `void` | `setType(Type type)` This method forcibly sets this expression's type field, if it has one, to the specified type.
    `Expression` | `shiftOffsets(int intShift, int realShift, int objectShift, int intDepth, int realDepth, int objectDepth)` A Dummy never gets to invoke this.
    `Expression` | `substitute(java.util.HashMap substitution)` Returns the expression resulting from substituting all the free occurrences of the parameters's names as specified by the given substitution.
    `Tables` | `tables()`
    `java.lang.String` | `toString()`
    `Type` | `type()` This method returns the current type of this expression.
    `void` | `typeCheck(TypeChecker typeChecker)` A Dummy never gets to invoke this.
    `Expression` | `typedCopy()` Returns a deep copy of this expression this and all its subexpressions share the same type as their copy's counterparts.
    `Type` | `typeRef()` This method returns this expression's undereferenced type field if it has one.

    - ### Methods inherited from class hlt.language.design.kernel.Expression

      `addType, addTypes, boxSort, enclosingScope, extent, getEnd, getStart, isConstant, isEquality, isFalse, isHiddenSlicing, isNull, isSelector, isSlicing, isTrue, isVoid, locationString, numberOfSubexpressions, otherTypes, parameters, setCheckedTypeLocked, setEnd, setExtent, setOtherTypes, setStart, setSubexpression, shiftOffsets, sort, subexpression, typeCheck, typeCheck, typeCheckLocked`

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

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

- - ### Constructor Detail

    - #### Dummy

          public Dummy(java.lang.String name)

    - #### Dummy

          public Dummy(Tables tables,
               java.lang.String name)

    - #### Dummy

          public Dummy(Parameter parameter)

    - #### Dummy

          public Dummy(Tables tables,
               Parameter parameter)

  - ### Method Detail

    - #### copy

          public Expression copy()

      Description copied from class: `Expression`
      Returns a deep copy of this expression. The types are not not copied. NB: This is a convenience for building expressions that should be used exclusively before any processing (in particular sanitizing), is done on this expression.
      Specified by:
        `copy` in class `Expression`

    - #### typedCopy

          public Expression typedCopy()

      Description copied from class: `Expression`
      Returns a deep copy of this expression this and all its subexpressions share the same type as their copy's counterparts. NB: This is a convenience for building expressions that should be used exclusively before any processing (in particular sanitizing), is done on this expression.
      Specified by:
        `typedCopy` in class `Expression`

    - #### tables

          public final Tables tables()

    - #### name

          public final java.lang.String name()

    - #### containsFreeName

          public final boolean containsFreeName(java.lang.String name)

      Description copied from class: `Expression`
      Returns `true` iff the specified name occurs free in this expression.
      Overrides:
        `containsFreeName` in class `Expression`

    - #### type

          public final Type type()

      Description copied from class: `Expression`
      This method returns the current type of this expression. It will typically, but not necessarily, be the dereferenced value of a `TypeParameter` field. A notable exception is a `Local` since its type method will always return the type of the `Parameter` it stands for.
      Specified by:
        `type` in class `Expression`

    - #### setType

          public final void setType(Type type)

      Description copied from class: `Expression`
      This method forcibly sets this expression's type field, if it has one, to the specified type. It will be an empty method otherwise.
      Specified by:
        `setType` in class `Expression`

    - #### typeRef

          public final Type typeRef()

      Description copied from class: `Expression`
      This method returns this expression's undereferenced type field if it has one. It will return `null` otherwise.
      Specified by:
        `typeRef` in class `Expression`

    - #### substitute

          public final Expression substitute(java.util.HashMap substitution)

      Description copied from class: `Expression`
      Returns the expression resulting from substituting all the free occurrences of the parameters's names as specified by the given substitution.
      Overrides:
        `substitute` in class `Expression`

    - #### sanitizeNames

          public Expression sanitizeNames(ParameterStack parameters)

      Description copied from class: `Expression`
      This method returns the actual expression corresponding to this one after eliminating all the `Dummy` expressions that occur in it where names where read. It takes as an argument the stack of parameters it encounters along the way of visiting all its components. A `ParameterStack` is simply a `Stack` of `Parameter` objects along with a method to retrieve the latest one with a given name.
      Overrides:
        `sanitizeNames` in class `Expression`

    - #### checkedType

          public final Type checkedType()

      A Dummy never gets to invoke this.
      Specified by:
        `checkedType` in class `Expression`

    - #### setCheckedType

          public final void setCheckedType()

      A Dummy never gets to invoke this.
      Specified by:
        `setCheckedType` in class `Expression`

    - #### setCheckedType

          public final void setCheckedType(Type type)

      A Dummy never gets to invoke this.
      Specified by:
        `setCheckedType` in class `Expression`

    - #### shiftOffsets

          public final Expression shiftOffsets(int intShift,
                                int realShift,
                                int objectShift,
                                int intDepth,
                                int realDepth,
                                int objectDepth)

      A Dummy never gets to invoke this.
      Overrides:
        `shiftOffsets` in class `Expression`

    - #### sanitizeSorts

          public final void sanitizeSorts(Enclosure enclosure)

      A Dummy never gets to invoke this.
      Overrides:
        `sanitizeSorts` in class `Expression`

    - #### typeCheck

          public final void typeCheck(TypeChecker typeChecker)
                               throws TypingErrorException

      A Dummy never gets to invoke this.
      Specified by:
        `typeCheck` in class `Expression`
      Throws:
        `TypingErrorException`

    - #### compile

          public final void compile(Compiler compiler)

      A Dummy never gets to invoke this.
      Specified by:
        `compile` in class `Expression`

    - #### equals

          public final boolean equals(java.lang.Object other)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`