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.