in internal/encoding/decode.go [848:885]
func readInt(r *buffer.Buffer) (int, error) {
type_, err := peekType(r)
if err != nil {
return 0, err
}
switch type_ {
// Unsigned
case TypeCodeUbyte:
n, err := ReadUbyte(r)
return int(n), err
case TypeCodeUshort:
n, err := readUshort(r)
return int(n), err
case TypeCodeUint0, TypeCodeSmallUint, TypeCodeUint:
n, err := readUint32(r)
return int(n), err
case TypeCodeUlong0, TypeCodeSmallUlong, TypeCodeUlong:
n, err := readUlong(r)
return int(n), err
// Signed
case TypeCodeByte:
n, err := readSbyte(r)
return int(n), err
case TypeCodeShort:
n, err := readShort(r)
return int(n), err
case TypeCodeSmallint, TypeCodeInt:
n, err := readInt32(r)
return int(n), err
case TypeCodeSmalllong, TypeCodeLong:
n, err := readLong(r)
return int(n), err
default:
return 0, fmt.Errorf("type code %#02x is not a recognized number type", type_)
}
}