ASTBinarySection enum

Section identifiers in the binary AST section stream.

Ids are never reused. A reader skips any id it does not know, using the section's length prefix.

Inheritance
Available extensions

Values

custom → const ASTBinarySection

An application-defined section, always ignored by ApolloVM.

Payload: a LEB128-prefixed name, then arbitrary bytes. Mirrors WebAssembly's custom section, and lets third parties attach data without registering an id.

const ASTBinarySection(0x00)
metadata → const ASTBinarySection

Language, namespace, code unit id and writer provenance. Required, and must be the first section.

const ASTBinarySection(0x01)
stringTable → const ASTBinarySection

The shared string pool that the AST section indexes into.

const ASTBinarySection(0x02)
typeTable → const ASTBinarySection

The pooled ASTType descriptors that the AST section indexes into.

const ASTBinarySection(0x03)
astRoot → const ASTBinarySection

The encoded ASTRoot. Required.

const ASTBinarySection(0x04)
sourceRef → const ASTBinarySection

Length and CRC-32 of the source this file was produced from, so a caller can tell whether a cached image is stale without decoding it.

const ASTBinarySection(0x05)
sectionIndex → const ASTBinarySection

Offsets and sizes of the other sections, for random access.

const ASTBinarySection(0x06)
archiveEntry → const ASTBinarySection

One code unit of an archive: a complete, self-contained single-unit image.

Nesting whole images rather than merging their pools means an archive needs no decoding logic of its own — each entry is read by the ordinary reader — and each unit keeps its own checksum, so one can be extracted and verified without touching the rest.

const ASTBinarySection(0x07)

Properties

hashCode → int
The hash code for this object.
no setterinherited
id → int
The on-disk identifier for this section.
final
index → int
A numeric identifier for the enumerated value.
no setterinherited
name → String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

byId(int id) → ASTBinarySection?
The section with the given id, or null when this build does not know it (in which case the reader skips it).

Constants

values → const List<ASTBinarySection>
A constant List of the values in this enum, in order of their declaration.