Object Slots
The layout of object slots for my instances.
Entries
A raw pojo containing an Array[] of all module manifest entries created during compilation of this module. Immediately after compilation, the entries are written to a DataOutputStream, converted to a ByteArray, and written directly as a record to the repository. This field is then replaced by that record's Long index. When a request is made for the manifest entries, the record is read and decoded into an Array, wrapped in a pojo, and placed in this field.
An A_Tuple of all phrase styles produced during compilation, which is when styling is produced. Each entry indicates the starting line, starting column, ending line, and ending column that is to be styled. This is necessary because multiple top-level statements may occur on the same line.
An A_Tuple of all block phrases produced during compilation, in the order in which the block phrases were produced. Each A_RawFunction contains an index into this tuple, as well as a reference to this A_Module.
A map from true names to tuples of seal points.
A map from string to an AvailObject.
A map from strings to module variables.
A set of definitions which implement methods (and forward declarations, abstract declarations, etc.).
A redundant cached set of atoms that have been exported. These are precisely the imported names less the private names. This is nil during module loading or compiling, but can be computed and cached if requested afterward.
A set of true names that are visible within this module.