read static method
Implementation
static CompileAndSignResult? read(BinaryReader reader) {
final moduleCount = reader.readVarUint();
final modules = <CompiledModule>[];
for (int i = 0; i < moduleCount; i++) {
final name = reader.readString();
final length = reader.readVarUint();
final bytecode = reader.read(length);
modules.add(CompiledModule(bytecode: bytecode, name: name));
}
final signatureLength = reader.readVarUint();
Uint8List signature = reader.read(signatureLength);
// Trailing shader-error section (written after the signature). Absent in
// older responses, in which case the reader is already at EOF.
final shaderErrors = <ShaderCompileError>[];
if (!reader.isEOF) {
final errorCount = reader.readVarUint();
for (int i = 0; i < errorCount; i++) {
final scriptName = reader.readString();
final message = reader.readString();
shaderErrors
.add(ShaderCompileError(scriptName: scriptName, message: message));
}
}
return CompileAndSignResult(
modules: modules,
signature: signature,
shaderErrors: shaderErrors,
);
}