writeCodeUnits method
Bundles codeUnits, each of which must already be loaded.
Implementation
Uint8List writeCodeUnits(Iterable<CodeUnit> codeUnits) {
const entryWriter = ASTBinaryWriter();
var entries = [
for (var codeUnit in codeUnits)
ASTBinarySectionData(
ASTBinarySection.archiveEntry.id,
entryWriter.writeCodeUnit(codeUnit),
),
];
var metadata = BytesBuffer();
metadata.writeLeb128String(ApolloVM.VERSION);
metadata.writeLeb128UnsignedInt(entries.length);
return ASTBinaryContainerCodec.encode(
sections: [
ASTBinarySectionData(ASTBinarySection.metadata.id, metadata.toBytes()),
...entries,
],
flags: ASTBinaryFlags.archive,
signer: signer,
);
}