rlp/*: all golint warnings fixed

This commit is contained in:
Kiel barry 2018-05-02 18:28:18 -07:00
parent 577d375a0d
commit e7e7ade91b
2 changed files with 25 additions and 21 deletions

View file

@ -26,6 +26,7 @@ import (
"math/big" "math/big"
"reflect" "reflect"
"strings" "strings"
customErr "github.com/pkg/errors"
) )
var ( var (
@ -274,9 +275,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 {
@ -536,6 +536,8 @@ func decodeDecoder(s *Stream, val reflect.Value) error {
// Kind represents the kind of value contained in an RLP stream. // Kind represents the kind of value contained in an RLP stream.
type Kind int type Kind int
// Const list indicates the kind of value in an RLP stream
// and and its next value is incremented by Kind().
const ( const (
Byte Kind = iota Byte Kind = iota
String String
@ -558,18 +560,23 @@ func (k Kind) String() string {
var ( var (
// EOL is returned when the end of the current list // EOL is returned when the end of the current list
// has been reached during streaming. // has been reached during streaming.
EOL = errors.New("rlp: end of list") EOL = customErr.New(fmt.Sprintf("rlp: end of list"))
// Actual Errors //ActualErrors
//ErrExpectedString is returned if kind is not string or Byte.
ErrExpectedString = errors.New("rlp: expected String or Byte") ErrExpectedString = errors.New("rlp: expected String or Byte")
//ErrExpectedList is returned if kind is not a list.
ErrExpectedList = errors.New("rlp: expected List") ErrExpectedList = errors.New("rlp: expected List")
//ErrCanonInt is returned if integer is a non-canonical format .
ErrCanonInt = errors.New("rlp: non-canonical integer format") ErrCanonInt = errors.New("rlp: non-canonical integer format")
//ErrCanonSize is returned if integer has non-canonical size information.
ErrCanonSize = errors.New("rlp: non-canonical size information") ErrCanonSize = errors.New("rlp: non-canonical size information")
//ErrElemTooLarge is returned if the element is larger than the list.
ErrElemTooLarge = errors.New("rlp: element is larger than containing list") ErrElemTooLarge = errors.New("rlp: element is larger than containing list")
//ErrValueTooLarge is returned if the element is larger than available input length.
ErrValueTooLarge = errors.New("rlp: value size exceeds available input length") ErrValueTooLarge = errors.New("rlp: value size exceeds available input length")
//ErrMoreThanOneValue is reported by DecodeBytes if the slice contains additional data after the first RLP value.
// 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") ErrMoreThanOneValue = errors.New("rlp: input contains more than one value")
// internal errors // internal errors

View file

@ -25,9 +25,9 @@ import (
) )
var ( var (
// Common encoded values. //EmptyString is a common encoded values useful when implementing EncodeRLP.
// These are useful when implementing EncodeRLP.
EmptyString = []byte{0x80} EmptyString = []byte{0x80}
//EmptyList is a common encoded values useful when implementing EncodeRLP.
EmptyList = []byte{0xC0} EmptyList = []byte{0xC0}
) )
@ -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)
buf[0] = largetag + byte(sizesize)
return sizesize + 1
} }
sizesize := putint(buf[1:], size)
buf[0] = largetag + byte(sizesize)
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++
return head.encode(r.buf.sizebuf)
} }
r.lhpos++
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
} }