MCPcopy Index your code
hub / github.com/ZeppelinMC/Zeppelin / encodeList

Method encodeList

protocol/nbt/encoder.go:549–667  ·  view source on GitHub ↗
(val reflect.Value)

Source from the content-addressed store, hash-verified

547}
548
549func (e *Encoder) encodeList(val reflect.Value) error {
550 if err := e.writeByte(e.tagFor(val.Type().Elem())); err != nil {
551 return err
552 }
553
554 if err := e.writeInt(int32(val.Len())); err != nil {
555 return err
556 }
557
558 for i := 0; i < val.Len(); i++ {
559 f := val.Index(i)
560 switch val.Type().Elem().Kind() {
561 case reflect.Bool:
562
563 b := f.Bool()
564 if err := e.writeByte(*(*int8)(unsafe.Pointer(&b))); err != nil {
565 return err
566 }
567 case reflect.Int8:
568 if err := e.writeByte(int8(f.Int())); err != nil {
569 return err
570 }
571 case reflect.Uint8:
572 if err := e.writeByte(int8(f.Uint())); err != nil {
573 return err
574 }
575 case reflect.Int16:
576 if err := e.writeShort(int16(f.Int())); err != nil {
577 return err
578 }
579 case reflect.Uint16:
580 if err := e.writeShort(int16(f.Uint())); err != nil {
581 return err
582 }
583 case reflect.Int32:
584 if err := e.writeInt(int32(f.Int())); err != nil {
585 return err
586 }
587 case reflect.Uint32:
588 if err := e.writeInt(int32(f.Uint())); err != nil {
589 return err
590 }
591 case reflect.Int64:
592 if err := e.writeLong(f.Int()); err != nil {
593 return err
594 }
595 case reflect.Uint64:
596 if err := e.writeLong(int64(f.Uint())); err != nil {
597 return err
598 }
599 case reflect.String:
600 if err := e.writeString(f.String()); err != nil {
601 return err
602 }
603 case reflect.Slice, reflect.Array:
604 switch f.Type().Elem().Kind() {
605 case reflect.Uint8, reflect.Int8:
606 if err := e.writeInt(int32(f.Len())); err != nil {

Callers 2

encodeCompoundStructMethod · 0.95
encodeCompoundMapMethod · 0.95

Calls 15

writeByteMethod · 0.95
tagForMethod · 0.95
writeIntMethod · 0.95
writeShortMethod · 0.95
writeLongMethod · 0.95
writeStringMethod · 0.95
writeIntArrayMethod · 0.95
writeFloatMethod · 0.95
writeDoubleMethod · 0.95
encodeCompoundStructMethod · 0.95
encodeCompoundMapMethod · 0.95
LenMethod · 0.80

Tested by

no test coverage detected