reflect: ensure all ValueError panics have Kind fields
Этот коммит содержится в:
родитель
0ff243e5e2
коммит
f9b6f8339b
1 изменённых файлов: 24 добавлений и 24 удалений
|
@ -128,7 +128,7 @@ func (v Value) IsZero() bool {
|
|||
default:
|
||||
// This should never happens, but will act as a safeguard for
|
||||
// later, as a default value doesn't makes sense here.
|
||||
panic(&ValueError{"reflect.Value.IsZero", v.Kind()})
|
||||
panic(&ValueError{Method: "reflect.Value.IsZero", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -169,7 +169,7 @@ func (v Value) IsNil() bool {
|
|||
_, val := decomposeInterface(*(*interface{})(v.value))
|
||||
return val == nil
|
||||
default:
|
||||
panic(&ValueError{Method: "IsNil"})
|
||||
panic(&ValueError{Method: "IsNil", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -191,7 +191,7 @@ func (v Value) UnsafePointer() unsafe.Pointer {
|
|||
case Func:
|
||||
panic("unimplemented: (reflect.Value).UnsafePointer()")
|
||||
default: // not implemented: Func
|
||||
panic(&ValueError{Method: "UnsafePointer"})
|
||||
panic(&ValueError{Method: "UnsafePointer", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -241,7 +241,7 @@ func (v Value) Bool() bool {
|
|||
return uintptr(v.value) != 0
|
||||
}
|
||||
default:
|
||||
panic(&ValueError{Method: "Bool"})
|
||||
panic(&ValueError{Method: "Bool", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -278,7 +278,7 @@ func (v Value) Int() int64 {
|
|||
return int64(int64(uintptr(v.value)))
|
||||
}
|
||||
default:
|
||||
panic(&ValueError{Method: "Int"})
|
||||
panic(&ValueError{Method: "Int", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -321,7 +321,7 @@ func (v Value) Uint() uint64 {
|
|||
return uint64(uintptr(v.value))
|
||||
}
|
||||
default:
|
||||
panic(&ValueError{Method: "Uint"})
|
||||
panic(&ValueError{Method: "Uint", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -347,7 +347,7 @@ func (v Value) Float() float64 {
|
|||
return *(*float64)(unsafe.Pointer(&v.value))
|
||||
}
|
||||
default:
|
||||
panic(&ValueError{Method: "Float"})
|
||||
panic(&ValueError{Method: "Float", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -369,7 +369,7 @@ func (v Value) Complex() complex128 {
|
|||
// architectures with 128-bit pointers, however.
|
||||
return *(*complex128)(v.value)
|
||||
default:
|
||||
panic(&ValueError{Method: "Complex"})
|
||||
panic(&ValueError{Method: "Complex", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -455,7 +455,7 @@ func (v Value) Slice(i, j int) Value {
|
|||
}
|
||||
}
|
||||
|
||||
panic(&ValueError{"Slice", v.Kind()})
|
||||
panic(&ValueError{Method: "Slice", Kind: v.Kind()})
|
||||
}
|
||||
|
||||
func (v Value) Slice3(i, j, k int) Value {
|
||||
|
@ -510,7 +510,7 @@ func (v Value) Len() int {
|
|||
case String:
|
||||
return int((*stringHeader)(v.value).len)
|
||||
default:
|
||||
panic(&ValueError{Method: "Len"})
|
||||
panic(&ValueError{Method: "Len", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -528,7 +528,7 @@ func (v Value) Cap() int {
|
|||
case Slice:
|
||||
return int((*sliceHeader)(v.value).cap)
|
||||
default:
|
||||
panic(&ValueError{Method: "Cap"})
|
||||
panic(&ValueError{Method: "Cap", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -558,7 +558,7 @@ func (v Value) Elem() Value {
|
|||
flags: v.flags &^ valueFlagIndirect,
|
||||
}
|
||||
default:
|
||||
panic(&ValueError{Method: "Elem"})
|
||||
panic(&ValueError{Method: "Elem", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -707,7 +707,7 @@ func (v Value) Index(i int) Value {
|
|||
value: unsafe.Pointer(value),
|
||||
}
|
||||
default:
|
||||
panic(&ValueError{Method: "Index"})
|
||||
panic(&ValueError{Method: "Index", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -745,7 +745,7 @@ func (v Value) OverflowFloat(x float64) bool {
|
|||
case Float64:
|
||||
return false
|
||||
}
|
||||
panic(&ValueError{"reflect.Value.OverflowFloat", v.Kind()})
|
||||
panic(&ValueError{Method: "reflect.Value.OverflowFloat", Kind: v.Kind()})
|
||||
}
|
||||
|
||||
func overflowFloat32(x float64) bool {
|
||||
|
@ -891,7 +891,7 @@ func (v Value) SetBool(x bool) {
|
|||
case Bool:
|
||||
*(*bool)(v.value) = x
|
||||
default:
|
||||
panic(&ValueError{Method: "SetBool"})
|
||||
panic(&ValueError{Method: "SetBool", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -909,7 +909,7 @@ func (v Value) SetInt(x int64) {
|
|||
case Int64:
|
||||
*(*int64)(v.value) = x
|
||||
default:
|
||||
panic(&ValueError{Method: "SetInt"})
|
||||
panic(&ValueError{Method: "SetInt", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -929,7 +929,7 @@ func (v Value) SetUint(x uint64) {
|
|||
case Uintptr:
|
||||
*(*uintptr)(v.value) = uintptr(x)
|
||||
default:
|
||||
panic(&ValueError{Method: "SetUint"})
|
||||
panic(&ValueError{Method: "SetUint", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -941,7 +941,7 @@ func (v Value) SetFloat(x float64) {
|
|||
case Float64:
|
||||
*(*float64)(v.value) = x
|
||||
default:
|
||||
panic(&ValueError{Method: "SetFloat"})
|
||||
panic(&ValueError{Method: "SetFloat", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -953,7 +953,7 @@ func (v Value) SetComplex(x complex128) {
|
|||
case Complex128:
|
||||
*(*complex128)(v.value) = x
|
||||
default:
|
||||
panic(&ValueError{Method: "SetComplex"})
|
||||
panic(&ValueError{Method: "SetComplex", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -963,7 +963,7 @@ func (v Value) SetString(x string) {
|
|||
case String:
|
||||
*(*string)(v.value) = x
|
||||
default:
|
||||
panic(&ValueError{Method: "SetString"})
|
||||
panic(&ValueError{Method: "SetString", Kind: v.Kind()})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -977,7 +977,7 @@ func (v Value) SetCap(n int) {
|
|||
|
||||
func (v Value) SetLen(n int) {
|
||||
if v.typecode.Kind() != Slice {
|
||||
panic(&ValueError{"reflect.Value.SetLen", v.Kind()})
|
||||
panic(&ValueError{Method: "reflect.Value.SetLen", Kind: v.Kind()})
|
||||
}
|
||||
|
||||
hdr := (*sliceHeader)(v.value)
|
||||
|
@ -1002,7 +1002,7 @@ func (v Value) OverflowInt(x int64) bool {
|
|||
trunc := (x << (64 - bitSize)) >> (64 - bitSize)
|
||||
return x != trunc
|
||||
}
|
||||
panic(&ValueError{"reflect.Value.OverflowInt", v.Kind()})
|
||||
panic(&ValueError{Method: "reflect.Value.OverflowInt", Kind: v.Kind()})
|
||||
}
|
||||
|
||||
// OverflowUint reports whether the uint64 x cannot be represented by v's type.
|
||||
|
@ -1015,7 +1015,7 @@ func (v Value) OverflowUint(x uint64) bool {
|
|||
trunc := (x << (64 - bitSize)) >> (64 - bitSize)
|
||||
return x != trunc
|
||||
}
|
||||
panic(&ValueError{"reflect.Value.OverflowUint", v.Kind()})
|
||||
panic(&ValueError{Method: "reflect.Value.OverflowUint", Kind: v.Kind()})
|
||||
}
|
||||
|
||||
func (v Value) Convert(t Type) Value {
|
||||
|
@ -1381,7 +1381,7 @@ func MakeMapWithSize(typ Type, n int) Value {
|
|||
)
|
||||
|
||||
if typ.Kind() != Map {
|
||||
panic(&ValueError{"MakeMap", typ.Kind()})
|
||||
panic(&ValueError{Method: "MakeMap", Kind: typ.Kind()})
|
||||
}
|
||||
|
||||
if n < 0 {
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче