ModuleManifestEntry

constructor(kind: SideEffectKind, nameInModule: NameInModule?, summaryText: String, signature: A_Type?, topLevelStartingLine: Int, definitionStartingLine: Int, bodyFunction: A_Function? = null, bodyPhraseIndexNumber: Int = -1)

Create a ModuleManifestEntry from its parts.

Parameters

kind

The kind of manifest entry that this is.

nameInModule

The NameInModule being declared, defined, or restricted, if any.

summaryText

A short textual description of this entry, to present in a list of manifest entries.

signature

The optional function A_Type for this definition.

topLevelStartingLine

The first line of the top level statement responsible for adding the definition described by this manifest entry.

definitionStartingLine

The location within this module of the start of the body function for this definition, or 0 if inapplicable.

bodyFunction

The A_Function that best acts as the body of this entry, such as a method definition's body function, or a lexer definition's body function. This is null if a body is inapplicable or unavailable. It is always null after reading a ModuleManifestEntry from the repository.

bodyPhraseIndexNumber

The index into the current module's tuple of phrases, accessible via A_Module.originatingPhraseAtIndex. If this has not yet been computed, it will be -1, and the bodyFunction will be some A_Function. If there is no suitable body, or if it's not something that was serialized with the module, it will also be -1, but the bodyFunction will be null.