ModuleManifestEntry

class ModuleManifestEntry(    val kind: SideEffectKind,     val summaryText: String,     val topLevelStartingLine: Int,     val definitionStartingLine: Int,     bodyFunction: A_Function? = null,     var bodyPhraseIndexNumber: Int = -1)

A ModuleManifestEntry is a short summary of an interesting definition created by some module. This includes atoms, method definitions, semantic restrictions, lexers, module variables/constants, etc.

Author

Mark van Gulik

Constructors

Link copied to clipboard
fun ModuleManifestEntry(    kind: SideEffectKind,     summaryText: String,     topLevelStartingLine: Int,     definitionStartingLine: Int,     bodyFunction: A_Function? = null,     bodyPhraseIndexNumber: Int = -1)

Functions

Link copied to clipboard
fun write(binaryStream: DataOutputStream)

Write this entry to the provided DataOutputStream, in a way that is naturally delimited for subsequent reading via the secondary constructor that takes a DataInputStream.

Properties

Link copied to clipboard
var bodyPhraseIndexNumber: Int

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.

Link copied to clipboard
val definitionStartingLine: Int

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

Link copied to clipboard
val kind: SideEffectKind

The kind of manifest entry that this is.

Link copied to clipboard
val summaryText: String

A short textual description of the item being defined, without mentioning the kind.

Link copied to clipboard
val topLevelStartingLine: Int

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