ASTBinaryArchiveWriter class

Bundles several binary AST images into one file.

Each entry is a complete, self-contained single-unit image nested inside an ASTBinarySection.archiveEntry section. Nesting whole images rather than merging their string and type pools costs about 26 bytes per unit and buys a great deal: the archive needs no decoding logic of its own, every unit keeps its own checksum, and one unit can be extracted and verified without touching the rest. The archive then adds its own CRC — and, optionally, its own signature — over the whole thing.

Constructors

ASTBinaryArchiveWriter({ASTBinarySigner? signer})
const

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
signer ASTBinarySigner?
Signs the archive as a whole. Entries may be signed independently.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
writeCodeUnits(Iterable<CodeUnit> codeUnits) Uint8List
Bundles codeUnits, each of which must already be loaded.
writeVM(ApolloVM vm, {String? language}) Uint8List
Bundles the AST of every loaded code unit in vm.

Operators

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