summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-02-10 19:11:54 -0700
committerLuke Shumaker <lukeshu@lukeshu.com>2023-02-10 21:49:02 -0700
commitd525a9ad920c6678f1e193d121be677936289667 (patch)
tree214c9245fc6e9000628d0bf17684f3f77e5fc87b
parent7da5e8c664c7f4900ee74e8113e61a003ecbbe13 (diff)
decode: Remove now-superfluous recover blocks
-rw-r--r--decode.go38
1 files changed, 3 insertions, 35 deletions
diff --git a/decode.go b/decode.go
index 9ec706f..07ca792 100644
--- a/decode.go
+++ b/decode.go
@@ -252,8 +252,6 @@ func (dec *Decoder) Decode(ptr any) (err error) {
// io helpers //////////////////////////////////////////////////////////////////////////////////////
-type decodeError DecodeError
-
func (dec *Decoder) newTypeError(jTyp string, gTyp reflect.Type, err error) *DecodeError {
return &DecodeError{
Field: dec.structStackStr(),
@@ -390,17 +388,7 @@ var kind2bits = map[reflect.Kind]int{
reflect.Float64: 64,
}
-func (dec *Decoder) decode(val reflect.Value, nullOK bool) (_err *DecodeError) {
- defer func() {
- if r := recover(); r != nil {
- if de, ok := r.(decodeError); ok {
- pub := DecodeError(de)
- _err = &pub
- } else {
- panic(r)
- }
- }
- }()
+func (dec *Decoder) decode(val reflect.Value, nullOK bool) *DecodeError {
dec.posStackPush()
defer dec.posStackPop()
typ := val.Type()
@@ -989,17 +977,7 @@ func (dec *Decoder) decodeAny() (any, *DecodeError) {
// Outside of implementing Decodable.DecodeJSON methods, callers
// should instead simply use NewDecoder(r).Decode(&val) rather than
// attempting to call DecodeObject directly.
-func DecodeObject(r io.RuneScanner, decodeKey, decodeVal func(io.RuneScanner) error) (err error) {
- defer func() {
- if r := recover(); r != nil {
- if de, ok := r.(decodeError); ok {
- pub := DecodeError(de)
- err = &pub
- } else {
- panic(r)
- }
- }
- }()
+func DecodeObject(r io.RuneScanner, decodeKey, decodeVal func(io.RuneScanner) error) error {
var dec *Decoder
if dr, ok := r.(*decRuneScanner); ok {
dec = dr.dec
@@ -1099,17 +1077,7 @@ func (dec *Decoder) decodeObject(gTyp reflect.Type, decodeKey, decodeVal func()
// Outside of implementing Decodable.DecodeJSON methods, callers
// should instead simply use NewDecoder(r).Decode(&val) rather than
// attempting to call DecodeArray directly.
-func DecodeArray(r io.RuneScanner, decodeMember func(r io.RuneScanner) error) (err error) {
- defer func() {
- if r := recover(); r != nil {
- if de, ok := r.(decodeError); ok {
- pub := DecodeError(de)
- err = &pub
- } else {
- panic(r)
- }
- }
- }()
+func DecodeArray(r io.RuneScanner, decodeMember func(r io.RuneScanner) error) error {
var dec *Decoder
if dr, ok := r.(*decRuneScanner); ok {
dec = dr.dec