read static method

CompileResult? read(
  1. BinaryReader reader
)

Implementation

static CompileResult? read(BinaryReader reader) {
  if (reader.isEOF) {
    return null;
  }
  final length = reader.readVarUint();
  final bytecode = reader.read(length);
  if (reader.isEOF) {
    return CompileResult(bytecode: bytecode);
  }
  final dependencies = <CompiledDependency>[];
  final count = reader.readVarUint();
  for (int i = 0; i < count; i++) {
    final name = reader.readString();
    final length = reader.readVarUint();
    final bytecode = reader.read(length);
    dependencies.add(CompiledDependency(bytecode: bytecode, name: name));
  }
  final dependents = <String>[];
  while (!reader.isEOF) {
    dependents.add(reader.readString());
  }
  return CompileResult(
    bytecode: bytecode,
    dependencies: dependencies,
    dependents: dependents,
  );
}