diff --git a/tape/dynamic.go b/tape/dynamic.go index ab78e01..86fdb1a 100644 --- a/tape/dynamic.go +++ b/tape/dynamic.go @@ -335,6 +335,14 @@ func typeOf(decoder *Decoder, tag Tag) (reflect.Type, error) { case 7: return reflect.TypeOf(uint64(0)), nil } return nil, fmt.Errorf("unknown CN %d for LI", tag.CN()) + case LSI: + switch tag.CN() { + case 0: return reflect.TypeOf(int8(0)), nil + case 1: return reflect.TypeOf(int16(0)), nil + case 3: return reflect.TypeOf(int32(0)), nil + case 7: return reflect.TypeOf(int64(0)), nil + } + return nil, fmt.Errorf("unknown CN %d for LSI", tag.CN()) case FP: switch tag.CN() { case 3: return reflect.TypeOf(float32(0)), nil