Declaration
A declaration of a name. Note that there may be multiple positions involved, such as the Names section of the header, the first mention of the name, or an Alias statement that connects it to another name.
Constructors
Reconstruct a Declaration from a stream, using the already constructed lists of module names and atom names.
Properties
The existing name, if any, that the new name aliases.
An index into the canonically ordered PhraseNodes in the PhrasePathRecord for this module compilation. That PhraseNode is enough information to identify a region of the module to highlight or select to identify the declaration of the name.
Functions
Write this Declaration onto the given DataOutputStream. Use the maps from module name to index and atom name to index for compression. The same maps will be provided in inverse form (as Lists of Strings) during subsequent decoding (via the Declaration constructor taking a DataInputStream and the two lists).