mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-13 10:33:35 +00:00
rebase: update kubernetes to v1.25.0
update kubernetes to latest v1.25.0 release. Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commit is contained in:
committed by
mergify[bot]
parent
f47839d73d
commit
e3bf375035
50
vendor/sigs.k8s.io/json/internal/golang/encoding/json/decode.go
generated
vendored
50
vendor/sigs.k8s.io/json/internal/golang/encoding/json/decode.go
generated
vendored
@ -93,7 +93,7 @@ import (
|
||||
// Instead, they are replaced by the Unicode replacement
|
||||
// character U+FFFD.
|
||||
//
|
||||
func Unmarshal(data []byte, v interface{}, opts ...UnmarshalOpt) error {
|
||||
func Unmarshal(data []byte, v any, opts ...UnmarshalOpt) error {
|
||||
// Check for well-formedness.
|
||||
// Avoids filling out half a data structure
|
||||
// before discovering a JSON syntax error.
|
||||
@ -167,16 +167,16 @@ func (e *InvalidUnmarshalError) Error() string {
|
||||
return "json: Unmarshal(nil)"
|
||||
}
|
||||
|
||||
if e.Type.Kind() != reflect.Ptr {
|
||||
if e.Type.Kind() != reflect.Pointer {
|
||||
return "json: Unmarshal(non-pointer " + e.Type.String() + ")"
|
||||
}
|
||||
return "json: Unmarshal(nil " + e.Type.String() + ")"
|
||||
}
|
||||
*/
|
||||
|
||||
func (d *decodeState) unmarshal(v interface{}) error {
|
||||
func (d *decodeState) unmarshal(v any) error {
|
||||
rv := reflect.ValueOf(v)
|
||||
if rv.Kind() != reflect.Ptr || rv.IsNil() {
|
||||
if rv.Kind() != reflect.Pointer || rv.IsNil() {
|
||||
return &InvalidUnmarshalError{reflect.TypeOf(v)}
|
||||
}
|
||||
|
||||
@ -233,7 +233,7 @@ type decodeState struct {
|
||||
disallowUnknownFields bool
|
||||
|
||||
savedStrictErrors []error
|
||||
seenStrictErrors map[string]struct{}
|
||||
seenStrictErrors map[strictError]struct{}
|
||||
strictFieldStack []string
|
||||
|
||||
caseSensitive bool
|
||||
@ -425,7 +425,7 @@ type unquotedValue struct{}
|
||||
// quoted string literal or literal null into an interface value.
|
||||
// If it finds anything other than a quoted string literal or null,
|
||||
// valueQuoted returns unquotedValue{}.
|
||||
func (d *decodeState) valueQuoted() interface{} {
|
||||
func (d *decodeState) valueQuoted() any {
|
||||
switch d.opcode {
|
||||
default:
|
||||
panic(phasePanicMsg)
|
||||
@ -467,7 +467,7 @@ func indirect(v reflect.Value, decodingNull bool) (Unmarshaler, encoding.TextUnm
|
||||
// If v is a named type and is addressable,
|
||||
// start with its address, so that if the type has pointer methods,
|
||||
// we find them.
|
||||
if v.Kind() != reflect.Ptr && v.Type().Name() != "" && v.CanAddr() {
|
||||
if v.Kind() != reflect.Pointer && v.Type().Name() != "" && v.CanAddr() {
|
||||
haveAddr = true
|
||||
v = v.Addr()
|
||||
}
|
||||
@ -476,14 +476,14 @@ func indirect(v reflect.Value, decodingNull bool) (Unmarshaler, encoding.TextUnm
|
||||
// usefully addressable.
|
||||
if v.Kind() == reflect.Interface && !v.IsNil() {
|
||||
e := v.Elem()
|
||||
if e.Kind() == reflect.Ptr && !e.IsNil() && (!decodingNull || e.Elem().Kind() == reflect.Ptr) {
|
||||
if e.Kind() == reflect.Pointer && !e.IsNil() && (!decodingNull || e.Elem().Kind() == reflect.Pointer) {
|
||||
haveAddr = false
|
||||
v = e
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
if v.Kind() != reflect.Ptr {
|
||||
if v.Kind() != reflect.Pointer {
|
||||
break
|
||||
}
|
||||
|
||||
@ -678,7 +678,7 @@ func (d *decodeState) object(v reflect.Value) error {
|
||||
reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
|
||||
reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
|
||||
default:
|
||||
if !reflect.PtrTo(t.Key()).Implements(textUnmarshalerType) {
|
||||
if !reflect.PointerTo(t.Key()).Implements(textUnmarshalerType) {
|
||||
d.saveError(&UnmarshalTypeError{Value: "object", Type: t, Offset: int64(d.off)})
|
||||
d.skip()
|
||||
return nil
|
||||
@ -695,7 +695,7 @@ func (d *decodeState) object(v reflect.Value) error {
|
||||
seenKeys = map[string]struct{}{}
|
||||
}
|
||||
if _, seen := seenKeys[fieldName]; seen {
|
||||
d.saveStrictError(d.newFieldError("duplicate field", fieldName))
|
||||
d.saveStrictError(d.newFieldError(duplicateStrictErrType, fieldName))
|
||||
} else {
|
||||
seenKeys[fieldName] = struct{}{}
|
||||
}
|
||||
@ -711,7 +711,7 @@ func (d *decodeState) object(v reflect.Value) error {
|
||||
var seenKeys uint64
|
||||
checkDuplicateField = func(fieldNameIndex int, fieldName string) {
|
||||
if seenKeys&(1<<fieldNameIndex) != 0 {
|
||||
d.saveStrictError(d.newFieldError("duplicate field", fieldName))
|
||||
d.saveStrictError(d.newFieldError(duplicateStrictErrType, fieldName))
|
||||
} else {
|
||||
seenKeys = seenKeys | (1 << fieldNameIndex)
|
||||
}
|
||||
@ -724,7 +724,7 @@ func (d *decodeState) object(v reflect.Value) error {
|
||||
seenIndexes = make([]bool, len(fields.list))
|
||||
}
|
||||
if seenIndexes[fieldNameIndex] {
|
||||
d.saveStrictError(d.newFieldError("duplicate field", fieldName))
|
||||
d.saveStrictError(d.newFieldError(duplicateStrictErrType, fieldName))
|
||||
} else {
|
||||
seenIndexes[fieldNameIndex] = true
|
||||
}
|
||||
@ -808,7 +808,7 @@ func (d *decodeState) object(v reflect.Value) error {
|
||||
subv = v
|
||||
destring = f.quoted
|
||||
for _, i := range f.index {
|
||||
if subv.Kind() == reflect.Ptr {
|
||||
if subv.Kind() == reflect.Pointer {
|
||||
if subv.IsNil() {
|
||||
// If a struct embeds a pointer to an unexported type,
|
||||
// it is not possible to set a newly allocated value
|
||||
@ -836,7 +836,7 @@ func (d *decodeState) object(v reflect.Value) error {
|
||||
d.errorContext.Struct = t
|
||||
d.appendStrictFieldStackKey(f.name)
|
||||
} else if d.disallowUnknownFields {
|
||||
d.saveStrictError(d.newFieldError("unknown field", string(key)))
|
||||
d.saveStrictError(d.newFieldError(unknownStrictErrType, string(key)))
|
||||
}
|
||||
}
|
||||
|
||||
@ -874,7 +874,7 @@ func (d *decodeState) object(v reflect.Value) error {
|
||||
kt := t.Key()
|
||||
var kv reflect.Value
|
||||
switch {
|
||||
case reflect.PtrTo(kt).Implements(textUnmarshalerType):
|
||||
case reflect.PointerTo(kt).Implements(textUnmarshalerType):
|
||||
kv = reflect.New(kt)
|
||||
if err := d.literalStore(item, kv, true); err != nil {
|
||||
return err
|
||||
@ -934,7 +934,7 @@ func (d *decodeState) object(v reflect.Value) error {
|
||||
|
||||
// convertNumber converts the number literal s to a float64 or a Number
|
||||
// depending on the setting of d.useNumber.
|
||||
func (d *decodeState) convertNumber(s string) (interface{}, error) {
|
||||
func (d *decodeState) convertNumber(s string) (any, error) {
|
||||
if d.useNumber {
|
||||
return Number(s), nil
|
||||
}
|
||||
@ -1010,7 +1010,7 @@ func (d *decodeState) literalStore(item []byte, v reflect.Value, fromQuoted bool
|
||||
break
|
||||
}
|
||||
switch v.Kind() {
|
||||
case reflect.Interface, reflect.Ptr, reflect.Map, reflect.Slice:
|
||||
case reflect.Interface, reflect.Pointer, reflect.Map, reflect.Slice:
|
||||
v.Set(reflect.Zero(v.Type()))
|
||||
// otherwise, ignore null for primitives/string
|
||||
}
|
||||
@ -1140,7 +1140,7 @@ func (d *decodeState) literalStore(item []byte, v reflect.Value, fromQuoted bool
|
||||
// but they avoid the weight of reflection in this common case.
|
||||
|
||||
// valueInterface is like value but returns interface{}
|
||||
func (d *decodeState) valueInterface() (val interface{}) {
|
||||
func (d *decodeState) valueInterface() (val any) {
|
||||
switch d.opcode {
|
||||
default:
|
||||
panic(phasePanicMsg)
|
||||
@ -1157,14 +1157,14 @@ func (d *decodeState) valueInterface() (val interface{}) {
|
||||
}
|
||||
|
||||
// arrayInterface is like array but returns []interface{}.
|
||||
func (d *decodeState) arrayInterface() []interface{} {
|
||||
func (d *decodeState) arrayInterface() []any {
|
||||
origStrictFieldStackLen := len(d.strictFieldStack)
|
||||
defer func() {
|
||||
// Reset to original length and reuse the allocated space for the strict FieldStack slice.
|
||||
d.strictFieldStack = d.strictFieldStack[:origStrictFieldStackLen]
|
||||
}()
|
||||
|
||||
var v = make([]interface{}, 0)
|
||||
var v = make([]any, 0)
|
||||
for {
|
||||
// Look ahead for ] - can only happen on first iteration.
|
||||
d.scanWhile(scanSkipSpace)
|
||||
@ -1192,14 +1192,14 @@ func (d *decodeState) arrayInterface() []interface{} {
|
||||
}
|
||||
|
||||
// objectInterface is like object but returns map[string]interface{}.
|
||||
func (d *decodeState) objectInterface() map[string]interface{} {
|
||||
func (d *decodeState) objectInterface() map[string]any {
|
||||
origStrictFieldStackLen := len(d.strictFieldStack)
|
||||
defer func() {
|
||||
// Reset to original length and reuse the allocated space for the strict FieldStack slice.
|
||||
d.strictFieldStack = d.strictFieldStack[:origStrictFieldStackLen]
|
||||
}()
|
||||
|
||||
m := make(map[string]interface{})
|
||||
m := make(map[string]any)
|
||||
for {
|
||||
// Read opening " of string key or closing }.
|
||||
d.scanWhile(scanSkipSpace)
|
||||
@ -1231,7 +1231,7 @@ func (d *decodeState) objectInterface() map[string]interface{} {
|
||||
|
||||
if d.disallowDuplicateFields {
|
||||
if _, exists := m[key]; exists {
|
||||
d.saveStrictError(d.newFieldError("duplicate field", key))
|
||||
d.saveStrictError(d.newFieldError(duplicateStrictErrType, key))
|
||||
}
|
||||
}
|
||||
|
||||
@ -1258,7 +1258,7 @@ func (d *decodeState) objectInterface() map[string]interface{} {
|
||||
// literalInterface consumes and returns a literal from d.data[d.off-1:] and
|
||||
// it reads the following byte ahead. The first byte of the literal has been
|
||||
// read already (that's how the caller knows it's a literal).
|
||||
func (d *decodeState) literalInterface() interface{} {
|
||||
func (d *decodeState) literalInterface() any {
|
||||
// All bytes inside literal return scanContinue op code.
|
||||
start := d.readIndex()
|
||||
d.rescanLiteral()
|
||||
|
34
vendor/sigs.k8s.io/json/internal/golang/encoding/json/encode.go
generated
vendored
34
vendor/sigs.k8s.io/json/internal/golang/encoding/json/encode.go
generated
vendored
@ -155,7 +155,7 @@ import (
|
||||
// handle them. Passing cyclic structures to Marshal will result in
|
||||
// an error.
|
||||
//
|
||||
func Marshal(v interface{}) ([]byte, error) {
|
||||
func Marshal(v any) ([]byte, error) {
|
||||
e := newEncodeState()
|
||||
|
||||
err := e.marshal(v, encOpts{escapeHTML: true})
|
||||
@ -172,7 +172,7 @@ func Marshal(v interface{}) ([]byte, error) {
|
||||
// MarshalIndent is like Marshal but applies Indent to format the output.
|
||||
// Each JSON element in the output will begin on a new line beginning with prefix
|
||||
// followed by one or more copies of indent according to the indentation nesting.
|
||||
func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) {
|
||||
func MarshalIndent(v any, prefix, indent string) ([]byte, error) {
|
||||
b, err := Marshal(v)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -294,7 +294,7 @@ type encodeState struct {
|
||||
// startDetectingCyclesAfter, so that we skip the work if we're within a
|
||||
// reasonable amount of nested pointers deep.
|
||||
ptrLevel uint
|
||||
ptrSeen map[interface{}]struct{}
|
||||
ptrSeen map[any]struct{}
|
||||
}
|
||||
|
||||
const startDetectingCyclesAfter = 1000
|
||||
@ -311,7 +311,7 @@ func newEncodeState() *encodeState {
|
||||
e.ptrLevel = 0
|
||||
return e
|
||||
}
|
||||
return &encodeState{ptrSeen: make(map[interface{}]struct{})}
|
||||
return &encodeState{ptrSeen: make(map[any]struct{})}
|
||||
}
|
||||
|
||||
// jsonError is an error wrapper type for internal use only.
|
||||
@ -319,7 +319,7 @@ func newEncodeState() *encodeState {
|
||||
// can distinguish intentional panics from this package.
|
||||
type jsonError struct{ error }
|
||||
|
||||
func (e *encodeState) marshal(v interface{}, opts encOpts) (err error) {
|
||||
func (e *encodeState) marshal(v any, opts encOpts) (err error) {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
if je, ok := r.(jsonError); ok {
|
||||
@ -350,7 +350,7 @@ func isEmptyValue(v reflect.Value) bool {
|
||||
return v.Uint() == 0
|
||||
case reflect.Float32, reflect.Float64:
|
||||
return v.Float() == 0
|
||||
case reflect.Interface, reflect.Ptr:
|
||||
case reflect.Interface, reflect.Pointer:
|
||||
return v.IsNil()
|
||||
}
|
||||
return false
|
||||
@ -419,13 +419,13 @@ func newTypeEncoder(t reflect.Type, allowAddr bool) encoderFunc {
|
||||
// Marshaler with a value receiver, then we're better off taking
|
||||
// the address of the value - otherwise we end up with an
|
||||
// allocation as we cast the value to an interface.
|
||||
if t.Kind() != reflect.Ptr && allowAddr && reflect.PtrTo(t).Implements(marshalerType) {
|
||||
if t.Kind() != reflect.Pointer && allowAddr && reflect.PointerTo(t).Implements(marshalerType) {
|
||||
return newCondAddrEncoder(addrMarshalerEncoder, newTypeEncoder(t, false))
|
||||
}
|
||||
if t.Implements(marshalerType) {
|
||||
return marshalerEncoder
|
||||
}
|
||||
if t.Kind() != reflect.Ptr && allowAddr && reflect.PtrTo(t).Implements(textMarshalerType) {
|
||||
if t.Kind() != reflect.Pointer && allowAddr && reflect.PointerTo(t).Implements(textMarshalerType) {
|
||||
return newCondAddrEncoder(addrTextMarshalerEncoder, newTypeEncoder(t, false))
|
||||
}
|
||||
if t.Implements(textMarshalerType) {
|
||||
@ -455,7 +455,7 @@ func newTypeEncoder(t reflect.Type, allowAddr bool) encoderFunc {
|
||||
return newSliceEncoder(t)
|
||||
case reflect.Array:
|
||||
return newArrayEncoder(t)
|
||||
case reflect.Ptr:
|
||||
case reflect.Pointer:
|
||||
return newPtrEncoder(t)
|
||||
default:
|
||||
return unsupportedTypeEncoder
|
||||
@ -467,7 +467,7 @@ func invalidValueEncoder(e *encodeState, v reflect.Value, _ encOpts) {
|
||||
}
|
||||
|
||||
func marshalerEncoder(e *encodeState, v reflect.Value, opts encOpts) {
|
||||
if v.Kind() == reflect.Ptr && v.IsNil() {
|
||||
if v.Kind() == reflect.Pointer && v.IsNil() {
|
||||
e.WriteString("null")
|
||||
return
|
||||
}
|
||||
@ -504,7 +504,7 @@ func addrMarshalerEncoder(e *encodeState, v reflect.Value, opts encOpts) {
|
||||
}
|
||||
|
||||
func textMarshalerEncoder(e *encodeState, v reflect.Value, opts encOpts) {
|
||||
if v.Kind() == reflect.Ptr && v.IsNil() {
|
||||
if v.Kind() == reflect.Pointer && v.IsNil() {
|
||||
e.WriteString("null")
|
||||
return
|
||||
}
|
||||
@ -738,7 +738,7 @@ FieldLoop:
|
||||
// Find the nested struct field by following f.index.
|
||||
fv := v
|
||||
for _, i := range f.index {
|
||||
if fv.Kind() == reflect.Ptr {
|
||||
if fv.Kind() == reflect.Pointer {
|
||||
if fv.IsNil() {
|
||||
continue FieldLoop
|
||||
}
|
||||
@ -893,7 +893,7 @@ func (se sliceEncoder) encode(e *encodeState, v reflect.Value, opts encOpts) {
|
||||
func newSliceEncoder(t reflect.Type) encoderFunc {
|
||||
// Byte slices get special treatment; arrays don't.
|
||||
if t.Elem().Kind() == reflect.Uint8 {
|
||||
p := reflect.PtrTo(t.Elem())
|
||||
p := reflect.PointerTo(t.Elem())
|
||||
if !p.Implements(marshalerType) && !p.Implements(textMarshalerType) {
|
||||
return encodeByteSlice
|
||||
}
|
||||
@ -989,7 +989,7 @@ func isValidTag(s string) bool {
|
||||
|
||||
func typeByIndex(t reflect.Type, index []int) reflect.Type {
|
||||
for _, i := range index {
|
||||
if t.Kind() == reflect.Ptr {
|
||||
if t.Kind() == reflect.Pointer {
|
||||
t = t.Elem()
|
||||
}
|
||||
t = t.Field(i).Type
|
||||
@ -1009,7 +1009,7 @@ func (w *reflectWithString) resolve() error {
|
||||
return nil
|
||||
}
|
||||
if tm, ok := w.k.Interface().(encoding.TextMarshaler); ok {
|
||||
if w.k.Kind() == reflect.Ptr && w.k.IsNil() {
|
||||
if w.k.Kind() == reflect.Pointer && w.k.IsNil() {
|
||||
return nil
|
||||
}
|
||||
buf, err := tm.MarshalText()
|
||||
@ -1243,7 +1243,7 @@ func typeFields(t reflect.Type) structFields {
|
||||
sf := f.typ.Field(i)
|
||||
if sf.Anonymous {
|
||||
t := sf.Type
|
||||
if t.Kind() == reflect.Ptr {
|
||||
if t.Kind() == reflect.Pointer {
|
||||
t = t.Elem()
|
||||
}
|
||||
if !sf.IsExported() && t.Kind() != reflect.Struct {
|
||||
@ -1269,7 +1269,7 @@ func typeFields(t reflect.Type) structFields {
|
||||
index[len(f.index)] = i
|
||||
|
||||
ft := sf.Type
|
||||
if ft.Name() == "" && ft.Kind() == reflect.Ptr {
|
||||
if ft.Name() == "" && ft.Kind() == reflect.Pointer {
|
||||
// Follow pointer.
|
||||
ft = ft.Elem()
|
||||
}
|
||||
|
9
vendor/sigs.k8s.io/json/internal/golang/encoding/json/fuzz.go
generated
vendored
9
vendor/sigs.k8s.io/json/internal/golang/encoding/json/fuzz.go
generated
vendored
@ -3,7 +3,6 @@
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build gofuzz
|
||||
// +build gofuzz
|
||||
|
||||
package json
|
||||
|
||||
@ -12,10 +11,10 @@ import (
|
||||
)
|
||||
|
||||
func Fuzz(data []byte) (score int) {
|
||||
for _, ctor := range []func() interface{}{
|
||||
func() interface{} { return new(interface{}) },
|
||||
func() interface{} { return new(map[string]interface{}) },
|
||||
func() interface{} { return new([]interface{}) },
|
||||
for _, ctor := range []func() any{
|
||||
func() any { return new(any) },
|
||||
func() any { return new(map[string]any) },
|
||||
func() any { return new([]any) },
|
||||
} {
|
||||
v := ctor()
|
||||
err := Unmarshal(data, v)
|
||||
|
49
vendor/sigs.k8s.io/json/internal/golang/encoding/json/kubernetes_patch.go
generated
vendored
49
vendor/sigs.k8s.io/json/internal/golang/encoding/json/kubernetes_patch.go
generated
vendored
@ -18,7 +18,6 @@ package json
|
||||
|
||||
import (
|
||||
gojson "encoding/json"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
@ -71,32 +70,37 @@ func (d *Decoder) DisallowDuplicateFields() {
|
||||
d.d.disallowDuplicateFields = true
|
||||
}
|
||||
|
||||
func (d *decodeState) newFieldError(msg, field string) error {
|
||||
func (d *decodeState) newFieldError(errType strictErrType, field string) *strictError {
|
||||
if len(d.strictFieldStack) > 0 {
|
||||
return fmt.Errorf("%s %q", msg, strings.Join(d.strictFieldStack, "")+"."+field)
|
||||
return &strictError{
|
||||
ErrType: errType,
|
||||
Path: strings.Join(d.strictFieldStack, "") + "." + field,
|
||||
}
|
||||
} else {
|
||||
return fmt.Errorf("%s %q", msg, field)
|
||||
return &strictError{
|
||||
ErrType: errType,
|
||||
Path: field,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// saveStrictError saves a strict decoding error,
|
||||
// for reporting at the end of the unmarshal if no other errors occurred.
|
||||
func (d *decodeState) saveStrictError(err error) {
|
||||
func (d *decodeState) saveStrictError(err *strictError) {
|
||||
// prevent excessive numbers of accumulated errors
|
||||
if len(d.savedStrictErrors) >= 100 {
|
||||
return
|
||||
}
|
||||
// dedupe accumulated strict errors
|
||||
if d.seenStrictErrors == nil {
|
||||
d.seenStrictErrors = map[string]struct{}{}
|
||||
d.seenStrictErrors = map[strictError]struct{}{}
|
||||
}
|
||||
msg := err.Error()
|
||||
if _, seen := d.seenStrictErrors[msg]; seen {
|
||||
if _, seen := d.seenStrictErrors[*err]; seen {
|
||||
return
|
||||
}
|
||||
|
||||
// accumulate the error
|
||||
d.seenStrictErrors[msg] = struct{}{}
|
||||
d.seenStrictErrors[*err] = struct{}{}
|
||||
d.savedStrictErrors = append(d.savedStrictErrors, err)
|
||||
}
|
||||
|
||||
@ -118,6 +122,33 @@ func (d *decodeState) appendStrictFieldStackIndex(i int) {
|
||||
d.strictFieldStack = append(d.strictFieldStack, "[", strconv.Itoa(i), "]")
|
||||
}
|
||||
|
||||
type strictErrType string
|
||||
|
||||
const (
|
||||
unknownStrictErrType strictErrType = "unknown field"
|
||||
duplicateStrictErrType strictErrType = "duplicate field"
|
||||
)
|
||||
|
||||
// strictError is a strict decoding error
|
||||
// It has an ErrType (either unknown or duplicate)
|
||||
// and a path to the erroneous field
|
||||
type strictError struct {
|
||||
ErrType strictErrType
|
||||
Path string
|
||||
}
|
||||
|
||||
func (e *strictError) Error() string {
|
||||
return string(e.ErrType) + " " + strconv.Quote(e.Path)
|
||||
}
|
||||
|
||||
func (e *strictError) FieldPath() string {
|
||||
return e.Path
|
||||
}
|
||||
|
||||
func (e *strictError) SetFieldPath(path string) {
|
||||
e.Path = path
|
||||
}
|
||||
|
||||
// UnmarshalStrictError holds errors resulting from use of strict disallow___ decoder directives.
|
||||
// If this is returned from Unmarshal(), it means the decoding was successful in all other respects.
|
||||
type UnmarshalStrictError struct {
|
||||
|
2
vendor/sigs.k8s.io/json/internal/golang/encoding/json/scanner.go
generated
vendored
2
vendor/sigs.k8s.io/json/internal/golang/encoding/json/scanner.go
generated
vendored
@ -83,7 +83,7 @@ type scanner struct {
|
||||
}
|
||||
|
||||
var scannerPool = sync.Pool{
|
||||
New: func() interface{} {
|
||||
New: func() any {
|
||||
return &scanner{}
|
||||
},
|
||||
}
|
||||
|
8
vendor/sigs.k8s.io/json/internal/golang/encoding/json/stream.go
generated
vendored
8
vendor/sigs.k8s.io/json/internal/golang/encoding/json/stream.go
generated
vendored
@ -45,7 +45,7 @@ func (dec *Decoder) DisallowUnknownFields() { dec.d.disallowUnknownFields = true
|
||||
//
|
||||
// See the documentation for Unmarshal for details about
|
||||
// the conversion of JSON into a Go value.
|
||||
func (dec *Decoder) Decode(v interface{}) error {
|
||||
func (dec *Decoder) Decode(v any) error {
|
||||
if dec.err != nil {
|
||||
return dec.err
|
||||
}
|
||||
@ -197,7 +197,7 @@ func NewEncoder(w io.Writer) *Encoder {
|
||||
//
|
||||
// See the documentation for Marshal for details about the
|
||||
// conversion of Go values to JSON.
|
||||
func (enc *Encoder) Encode(v interface{}) error {
|
||||
func (enc *Encoder) Encode(v any) error {
|
||||
if enc.err != nil {
|
||||
return enc.err
|
||||
}
|
||||
@ -290,7 +290,7 @@ var _ Unmarshaler = (*RawMessage)(nil)
|
||||
// string, for JSON string literals
|
||||
// nil, for JSON null
|
||||
//
|
||||
type Token interface{}
|
||||
type Token any
|
||||
*/
|
||||
|
||||
const (
|
||||
@ -457,7 +457,7 @@ func (dec *Decoder) Token() (Token, error) {
|
||||
if !dec.tokenValueAllowed() {
|
||||
return dec.tokenError(c)
|
||||
}
|
||||
var x interface{}
|
||||
var x any
|
||||
if err := dec.Decode(&x); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
16
vendor/sigs.k8s.io/json/internal/golang/encoding/json/tags.go
generated
vendored
16
vendor/sigs.k8s.io/json/internal/golang/encoding/json/tags.go
generated
vendored
@ -15,10 +15,8 @@ type tagOptions string
|
||||
// parseTag splits a struct field's json tag into its name and
|
||||
// comma-separated options.
|
||||
func parseTag(tag string) (string, tagOptions) {
|
||||
if idx := strings.Index(tag, ","); idx != -1 {
|
||||
return tag[:idx], tagOptions(tag[idx+1:])
|
||||
}
|
||||
return tag, tagOptions("")
|
||||
tag, opt, _ := strings.Cut(tag, ",")
|
||||
return tag, tagOptions(opt)
|
||||
}
|
||||
|
||||
// Contains reports whether a comma-separated list of options
|
||||
@ -30,15 +28,11 @@ func (o tagOptions) Contains(optionName string) bool {
|
||||
}
|
||||
s := string(o)
|
||||
for s != "" {
|
||||
var next string
|
||||
i := strings.Index(s, ",")
|
||||
if i >= 0 {
|
||||
s, next = s[:i], s[i+1:]
|
||||
}
|
||||
if s == optionName {
|
||||
var name string
|
||||
name, s, _ = strings.Cut(s, ",")
|
||||
if name == optionName {
|
||||
return true
|
||||
}
|
||||
s = next
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
Reference in New Issue
Block a user