read static method
Implementation
static VMResult? read(BinaryReader reader) {
if (reader.isEOF) {
return null;
}
final vmPointer = reader.readVarUint();
final moduleCount = reader.readVarUint();
final modules = <RegisteredModule>[];
for (int i = 0; i < moduleCount; i++) {
final scriptId = reader.readString();
final moduleName = reader.readString();
final isUtility = reader.readUint8() != 0;
final generatorRef = reader.readVarUint();
final error = reader.readString();
modules.add(RegisteredModule(
scriptId: scriptId,
moduleName: moduleName,
isUtility: isUtility,
generatorRef: generatorRef,
error: error,
));
}
// Read timing data (in microseconds)
final compileTimeUs = reader.isEOF ? 0 : reader.readVarUint();
final loadTimeUs = reader.isEOF ? 0 : reader.readVarUint();
final executeTimeUs = reader.isEOF ? 0 : reader.readVarUint();
// Read console data from script execution
Uint8List consoleData = Uint8List(0);
if (!reader.isEOF) {
final consoleSize = reader.readVarUint();
if (consoleSize > 0) {
consoleData = reader.read(consoleSize);
}
}
return VMResult(
vmPointer: vmPointer,
modules: modules,
compileTimeUs: compileTimeUs,
loadTimeUs: loadTimeUs,
executeTimeUs: executeTimeUs,
consoleData: consoleData,
);
}