aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/encoding/xml')
-rw-r--r--src/encoding/xml/marshal.go8
-rw-r--r--src/encoding/xml/marshal_test.go38
-rw-r--r--src/encoding/xml/read.go8
-rw-r--r--src/encoding/xml/read_test.go6
-rw-r--r--src/encoding/xml/xml.go2
5 files changed, 31 insertions, 31 deletions
diff --git a/src/encoding/xml/marshal.go b/src/encoding/xml/marshal.go
index 1f0eb76341..6859be04a2 100644
--- a/src/encoding/xml/marshal.go
+++ b/src/encoding/xml/marshal.go
@@ -76,7 +76,7 @@ const (
// See MarshalIndent for an example.
//
// Marshal will return an error if asked to marshal a channel, function, or map.
-func Marshal(v interface{}) ([]byte, error) {
+func Marshal(v any) ([]byte, error) {
var b bytes.Buffer
if err := NewEncoder(&b).Encode(v); err != nil {
return nil, err
@@ -122,7 +122,7 @@ type MarshalerAttr interface {
// MarshalIndent works like Marshal, but each XML element begins on a new
// indented line that starts with prefix and is followed by one or more
// copies of indent according to the nesting depth.
-func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) {
+func MarshalIndent(v any, prefix, indent string) ([]byte, error) {
var b bytes.Buffer
enc := NewEncoder(&b)
enc.Indent(prefix, indent)
@@ -158,7 +158,7 @@ func (enc *Encoder) Indent(prefix, indent string) {
// of Go values to XML.
//
// Encode calls Flush before returning.
-func (enc *Encoder) Encode(v interface{}) error {
+func (enc *Encoder) Encode(v any) error {
err := enc.p.marshalValue(reflect.ValueOf(v), nil, nil)
if err != nil {
return err
@@ -173,7 +173,7 @@ func (enc *Encoder) Encode(v interface{}) error {
// of Go values to XML.
//
// EncodeElement calls Flush before returning.
-func (enc *Encoder) EncodeElement(v interface{}, start StartElement) error {
+func (enc *Encoder) EncodeElement(v any, start StartElement) error {
err := enc.p.marshalValue(reflect.ValueOf(v), nil, &start)
if err != nil {
return err
diff --git a/src/encoding/xml/marshal_test.go b/src/encoding/xml/marshal_test.go
index cb95905f5b..5fdbae7ef0 100644
--- a/src/encoding/xml/marshal_test.go
+++ b/src/encoding/xml/marshal_test.go
@@ -120,17 +120,17 @@ type MixedNested struct {
}
type NilTest struct {
- A interface{} `xml:"parent1>parent2>a"`
- B interface{} `xml:"parent1>b"`
- C interface{} `xml:"parent1>parent2>c"`
+ A any `xml:"parent1>parent2>a"`
+ B any `xml:"parent1>b"`
+ C any `xml:"parent1>parent2>c"`
}
type Service struct {
XMLName struct{} `xml:"service"`
Domain *Domain `xml:"host>domain"`
Port *Port `xml:"host>port"`
- Extra1 interface{}
- Extra2 interface{} `xml:"host>extra2"`
+ Extra1 any
+ Extra2 any `xml:"host>extra2"`
}
var nilStruct *Ship
@@ -283,7 +283,7 @@ type Data struct {
}
type Plain struct {
- V interface{}
+ V any
}
type MyInt int
@@ -387,7 +387,7 @@ type NestedAndCData struct {
CDATA string `xml:",cdata"`
}
-func ifaceptr(x interface{}) interface{} {
+func ifaceptr(x any) any {
return &x
}
@@ -412,7 +412,7 @@ type DirectComment struct {
type IfaceComment struct {
T1 T1
- Comment interface{} `xml:",comment"`
+ Comment any `xml:",comment"`
T2 T2
}
@@ -430,7 +430,7 @@ type DirectChardata struct {
type IfaceChardata struct {
T1 T1
- Chardata interface{} `xml:",chardata"`
+ Chardata any `xml:",chardata"`
T2 T2
}
@@ -448,7 +448,7 @@ type DirectCDATA struct {
type IfaceCDATA struct {
T1 T1
- CDATA interface{} `xml:",cdata"`
+ CDATA any `xml:",cdata"`
T2 T2
}
@@ -466,7 +466,7 @@ type DirectInnerXML struct {
type IfaceInnerXML struct {
T1 T1
- InnerXML interface{} `xml:",innerxml"`
+ InnerXML any `xml:",innerxml"`
T2 T2
}
@@ -484,7 +484,7 @@ type DirectElement struct {
type IfaceElement struct {
T1 T1
- Element interface{}
+ Element any
T2 T2
}
@@ -502,7 +502,7 @@ type DirectOmitEmpty struct {
type IfaceOmitEmpty struct {
T1 T1
- OmitEmpty interface{} `xml:",omitempty"`
+ OmitEmpty any `xml:",omitempty"`
T2 T2
}
@@ -520,7 +520,7 @@ type DirectAny struct {
type IfaceAny struct {
T1 T1
- Any interface{} `xml:",any"`
+ Any any `xml:",any"`
T2 T2
}
@@ -540,7 +540,7 @@ var (
// please try to make them two-way as well to ensure that
// marshaling and unmarshaling are as symmetrical as feasible.
var marshalTests = []struct {
- Value interface{}
+ Value any
ExpectXML string
MarshalOnly bool
MarshalError string
@@ -1700,7 +1700,7 @@ type BadAttr struct {
}
var marshalErrorTests = []struct {
- Value interface{}
+ Value any
Err string
Kind reflect.Kind
}{
@@ -1738,7 +1738,7 @@ var marshalErrorTests = []struct {
}
var marshalIndentTests = []struct {
- Value interface{}
+ Value any
Prefix string
Indent string
ExpectXML string
@@ -1933,7 +1933,7 @@ func BenchmarkUnmarshal(b *testing.B) {
func TestStructPointerMarshal(t *testing.T) {
type A struct {
XMLName string `xml:"a"`
- B []interface{}
+ B []any
}
type C struct {
XMLName Name
@@ -2327,7 +2327,7 @@ loop:
continue loop
}
}
- errorf := func(f string, a ...interface{}) {
+ errorf := func(f string, a ...any) {
t.Errorf("#%d %s token #%d:%s", i, tt.desc, len(tt.toks)-1, fmt.Sprintf(f, a...))
}
switch {
diff --git a/src/encoding/xml/read.go b/src/encoding/xml/read.go
index 48b0ec055c..0701e18625 100644
--- a/src/encoding/xml/read.go
+++ b/src/encoding/xml/read.go
@@ -129,13 +129,13 @@ import (
// A missing element or empty attribute value will be unmarshaled as a zero value.
// If the field is a slice, a zero value will be appended to the field. Otherwise, the
// field will be set to its zero value.
-func Unmarshal(data []byte, v interface{}) error {
+func Unmarshal(data []byte, v any) error {
return NewDecoder(bytes.NewReader(data)).Decode(v)
}
// Decode works like Unmarshal, except it reads the decoder
// stream to find the start element.
-func (d *Decoder) Decode(v interface{}) error {
+func (d *Decoder) Decode(v any) error {
return d.DecodeElement(v, nil)
}
@@ -143,7 +143,7 @@ func (d *Decoder) Decode(v interface{}) error {
// a pointer to the start XML element to decode into v.
// It is useful when a client reads some raw XML tokens itself
// but also wants to defer to Unmarshal for some elements.
-func (d *Decoder) DecodeElement(v interface{}, start *StartElement) error {
+func (d *Decoder) DecodeElement(v any, start *StartElement) error {
val := reflect.ValueOf(v)
if val.Kind() != reflect.Pointer {
return errors.New("non-pointer passed to Unmarshal")
@@ -188,7 +188,7 @@ type UnmarshalerAttr interface {
}
// receiverType returns the receiver type to use in an expression like "%s.MethodName".
-func receiverType(val interface{}) string {
+func receiverType(val any) string {
t := reflect.TypeOf(val)
if t.Name() != "" {
return t.String()
diff --git a/src/encoding/xml/read_test.go b/src/encoding/xml/read_test.go
index 8c2e70fa22..391fe731a8 100644
--- a/src/encoding/xml/read_test.go
+++ b/src/encoding/xml/read_test.go
@@ -270,7 +270,7 @@ type PathTestE struct {
Before, After string
}
-var pathTests = []interface{}{
+var pathTests = []any{
&PathTestA{Items: []PathTestItem{{"A"}, {"D"}}, Before: "1", After: "2"},
&PathTestB{Other: []PathTestItem{{"A"}, {"D"}}, Before: "1", After: "2"},
&PathTestC{Values1: []string{"A", "C", "D"}, Values2: []string{"B"}, Before: "1", After: "2"},
@@ -321,7 +321,7 @@ type BadPathEmbeddedB struct {
}
var badPathTests = []struct {
- v, e interface{}
+ v, e any
}{
{&BadPathTestA{}, &TagPathError{reflect.TypeOf(BadPathTestA{}), "First", "items>item1", "Second", "items"}},
{&BadPathTestB{}, &TagPathError{reflect.TypeOf(BadPathTestB{}), "First", "items>item1", "Second", "items>item1>value"}},
@@ -691,7 +691,7 @@ type Pea struct {
}
type Pod struct {
- Pea interface{} `xml:"Pea"`
+ Pea any `xml:"Pea"`
}
// https://golang.org/issue/6836
diff --git a/src/encoding/xml/xml.go b/src/encoding/xml/xml.go
index 33d0b417b9..8a0a9c253a 100644
--- a/src/encoding/xml/xml.go
+++ b/src/encoding/xml/xml.go
@@ -52,7 +52,7 @@ type Attr struct {
// A Token is an interface holding one of the token types:
// StartElement, EndElement, CharData, Comment, ProcInst, or Directive.
-type Token interface{}
+type Token any
// A StartElement represents an XML start element.
type StartElement struct {