rlp: fix some golint warnings (#16659)

This commit is contained in:
kiel barry 2018-05-08 02:48:07 -07:00 committed by Felix Lange
parent 6cf0ab38bd
commit a42be3b78d
2 changed files with 27 additions and 37 deletions

View File

@ -29,6 +29,23 @@ import (
) )
var ( var (
// EOL is returned when the end of the current list
// has been reached during streaming.
EOL = errors.New("rlp: end of list")
// Actual Errors
ErrExpectedString = errors.New("rlp: expected String or Byte")
ErrExpectedList = errors.New("rlp: expected List")
ErrCanonInt = errors.New("rlp: non-canonical integer format")
ErrCanonSize = errors.New("rlp: non-canonical size information")
ErrElemTooLarge = errors.New("rlp: element is larger than containing list")
ErrValueTooLarge = errors.New("rlp: value size exceeds available input length")
ErrMoreThanOneValue = errors.New("rlp: input contains more than one value")
// internal errors
errNotInList = errors.New("rlp: call of ListEnd outside of any list")
errNotAtEOL = errors.New("rlp: call of ListEnd not positioned at EOL")
errUintOverflow = errors.New("rlp: uint overflow")
errNoPointer = errors.New("rlp: interface given to Decode must be a pointer") errNoPointer = errors.New("rlp: interface given to Decode must be a pointer")
errDecodeIntoNil = errors.New("rlp: pointer given to Decode must not be nil") errDecodeIntoNil = errors.New("rlp: pointer given to Decode must not be nil")
) )
@ -274,9 +291,8 @@ func makeListDecoder(typ reflect.Type, tag tags) (decoder, error) {
if etype.Kind() == reflect.Uint8 && !reflect.PtrTo(etype).Implements(decoderInterface) { if etype.Kind() == reflect.Uint8 && !reflect.PtrTo(etype).Implements(decoderInterface) {
if typ.Kind() == reflect.Array { if typ.Kind() == reflect.Array {
return decodeByteArray, nil return decodeByteArray, nil
} else {
return decodeByteSlice, nil
} }
return decodeByteSlice, nil
} }
etypeinfo, err := cachedTypeInfo1(etype, tags{}) etypeinfo, err := cachedTypeInfo1(etype, tags{})
if err != nil { if err != nil {
@ -555,29 +571,6 @@ func (k Kind) String() string {
} }
} }
var (
// EOL is returned when the end of the current list
// has been reached during streaming.
EOL = errors.New("rlp: end of list")
// Actual Errors
ErrExpectedString = errors.New("rlp: expected String or Byte")
ErrExpectedList = errors.New("rlp: expected List")
ErrCanonInt = errors.New("rlp: non-canonical integer format")
ErrCanonSize = errors.New("rlp: non-canonical size information")
ErrElemTooLarge = errors.New("rlp: element is larger than containing list")
ErrValueTooLarge = errors.New("rlp: value size exceeds available input length")
// This error is reported by DecodeBytes if the slice contains
// additional data after the first RLP value.
ErrMoreThanOneValue = errors.New("rlp: input contains more than one value")
// internal errors
errNotInList = errors.New("rlp: call of ListEnd outside of any list")
errNotAtEOL = errors.New("rlp: call of ListEnd not positioned at EOL")
errUintOverflow = errors.New("rlp: uint overflow")
)
// ByteReader must be implemented by any input reader for a Stream. It // ByteReader must be implemented by any input reader for a Stream. It
// is implemented by e.g. bufio.Reader and bytes.Reader. // is implemented by e.g. bufio.Reader and bytes.Reader.
type ByteReader interface { type ByteReader interface {

View File

@ -92,7 +92,7 @@ func Encode(w io.Writer, val interface{}) error {
return eb.toWriter(w) return eb.toWriter(w)
} }
// EncodeBytes returns the RLP encoding of val. // EncodeToBytes returns the RLP encoding of val.
// Please see the documentation of Encode for the encoding rules. // Please see the documentation of Encode for the encoding rules.
func EncodeToBytes(val interface{}) ([]byte, error) { func EncodeToBytes(val interface{}) ([]byte, error) {
eb := encbufPool.Get().(*encbuf) eb := encbufPool.Get().(*encbuf)
@ -104,7 +104,7 @@ func EncodeToBytes(val interface{}) ([]byte, error) {
return eb.toBytes(), nil return eb.toBytes(), nil
} }
// EncodeReader returns a reader from which the RLP encoding of val // EncodeToReader returns a reader from which the RLP encoding of val
// can be read. The returned size is the total size of the encoded // can be read. The returned size is the total size of the encoded
// data. // data.
// //
@ -151,11 +151,10 @@ func puthead(buf []byte, smalltag, largetag byte, size uint64) int {
if size < 56 { if size < 56 {
buf[0] = smalltag + byte(size) buf[0] = smalltag + byte(size)
return 1 return 1
} else { }
sizesize := putint(buf[1:], size) sizesize := putint(buf[1:], size)
buf[0] = largetag + byte(sizesize) buf[0] = largetag + byte(sizesize)
return sizesize + 1 return sizesize + 1
}
} }
// encbufs are pooled. // encbufs are pooled.
@ -218,7 +217,7 @@ func (w *encbuf) list() *listhead {
func (w *encbuf) listEnd(lh *listhead) { func (w *encbuf) listEnd(lh *listhead) {
lh.size = w.size() - lh.offset - lh.size lh.size = w.size() - lh.offset - lh.size
if lh.size < 56 { if lh.size < 56 {
w.lhsize += 1 // length encoded into kind tag w.lhsize++ // length encoded into kind tag
} else { } else {
w.lhsize += 1 + intsize(uint64(lh.size)) w.lhsize += 1 + intsize(uint64(lh.size))
} }
@ -322,10 +321,9 @@ func (r *encReader) next() []byte {
p := r.buf.str[r.strpos:head.offset] p := r.buf.str[r.strpos:head.offset]
r.strpos += sizebefore r.strpos += sizebefore
return p return p
} else { }
r.lhpos++ r.lhpos++
return head.encode(r.buf.sizebuf) return head.encode(r.buf.sizebuf)
}
case r.strpos < len(r.buf.str): case r.strpos < len(r.buf.str):
// String data at the end, after all list headers. // String data at the end, after all list headers.
@ -576,9 +574,8 @@ func makePtrWriter(typ reflect.Type) (writer, error) {
writer := func(val reflect.Value, w *encbuf) error { writer := func(val reflect.Value, w *encbuf) error {
if val.IsNil() { if val.IsNil() {
return nilfunc(w) return nilfunc(w)
} else {
return etypeinfo.writer(val.Elem(), w)
} }
return etypeinfo.writer(val.Elem(), w)
} }
return writer, err return writer, err
} }