in Sources/TSCUtility/BitstreamReader.swift [77:101]
mutating func readAbbrevOp() throws -> Bitstream.Abbreviation.Operand {
let isLiteralFlag = try cursor.read(1)
if isLiteralFlag == 1 {
return .literal(try cursor.readVBR(8))
}
switch try cursor.read(3) {
case 0:
throw Error.invalidAbbrev
case 1:
return .fixed(bitWidth: UInt8(try cursor.readVBR(5)))
case 2:
return .vbr(chunkBitWidth: UInt8(try cursor.readVBR(5)))
case 3:
return .array(try readAbbrevOp())
case 4:
return .char6
case 5:
return .blob
case 6, 7:
throw Error.invalidAbbrev
default:
fatalError()
}
}