diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2025-12-19 12:52:30 +0100 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-12-22 02:13:00 +0000 |
| commit | a83befa0d111a0ba6fac52d763e93c76a2ef94d4 (patch) | |
| tree | 7d3c28b24229429936a631e8ceb24135856b257d /pkg/config | |
| parent | 8fb7048c5117ccb592deb5e8e4a62027e6d399cf (diff) | |
all: use any instead of interface{}
Any is the preferred over interface{} now in Go.
Diffstat (limited to 'pkg/config')
| -rw-r--r-- | pkg/config/config.go | 6 | ||||
| -rw-r--r-- | pkg/config/merge.go | 10 | ||||
| -rw-r--r-- | pkg/config/merge_test.go | 16 |
3 files changed, 16 insertions, 16 deletions
diff --git a/pkg/config/config.go b/pkg/config/config.go index 5af99ba0f..0a0346f83 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -13,7 +13,7 @@ import ( "github.com/google/syzkaller/pkg/osutil" ) -func LoadFile(filename string, cfg interface{}) error { +func LoadFile(filename string, cfg any) error { if filename == "" { return fmt.Errorf("no config file specified") } @@ -24,7 +24,7 @@ func LoadFile(filename string, cfg interface{}) error { return LoadData(data, cfg) } -func LoadData(data []byte, cfg interface{}) error { +func LoadData(data []byte, cfg any) error { // Remove comment lines starting with #. data = regexp.MustCompile(`(^|\n)\s*#[^\n]*`).ReplaceAll(data, nil) dec := json.NewDecoder(bytes.NewReader(data)) @@ -35,7 +35,7 @@ func LoadData(data []byte, cfg interface{}) error { return nil } -func SaveFile(filename string, cfg interface{}) error { +func SaveFile(filename string, cfg any) error { data, err := json.MarshalIndent(cfg, "", "\t") if err != nil { return err diff --git a/pkg/config/merge.go b/pkg/config/merge.go index 3d8193c02..ae4320946 100644 --- a/pkg/config/merge.go +++ b/pkg/config/merge.go @@ -23,7 +23,7 @@ func MergeJSONs(left, right []byte) ([]byte, error) { // Recursively apply a patch to a raw JSON data. // Patch is supposed to be a map, which possibly nests other map objects. -func PatchJSON(left []byte, patch map[string]interface{}) ([]byte, error) { +func PatchJSON(left []byte, patch map[string]any) ([]byte, error) { vLeft, err := parseFragment(left) if err != nil { return nil, err @@ -31,7 +31,7 @@ func PatchJSON(left []byte, patch map[string]interface{}) ([]byte, error) { return json.Marshal(mergeRecursive(vLeft, patch)) } -func parseFragment(input []byte) (parsed interface{}, err error) { +func parseFragment(input []byte) (parsed any, err error) { if len(input) == 0 { // For convenience, we allow empty strings to be passed to the function that merges JSONs. return @@ -42,15 +42,15 @@ func parseFragment(input []byte) (parsed interface{}, err error) { // If one of the elements is not a map, use the new one. // Otherwise, recursively merge map elements. -func mergeRecursive(left, right interface{}) interface{} { +func mergeRecursive(left, right any) any { if left == nil { return right } if right == nil { return left } - mLeft, okLeft := left.(map[string]interface{}) - mRight, okRight := right.(map[string]interface{}) + mLeft, okLeft := left.(map[string]any) + mRight, okRight := right.(map[string]any) if !okLeft || !okRight { return right } diff --git a/pkg/config/merge_test.go b/pkg/config/merge_test.go index 6785534f1..53d8a2116 100644 --- a/pkg/config/merge_test.go +++ b/pkg/config/merge_test.go @@ -51,19 +51,19 @@ func TestMergeJSONs(t *testing.T) { func TestPatchJSON(t *testing.T) { tests := []struct { left string - patch map[string]interface{} + patch map[string]any result string }{ { `{"a":1,"b":2}`, - map[string]interface{}{"b": "string val"}, + map[string]any{"b": "string val"}, `{"a":1,"b":"string val"}`, }, { `{"a":1,"b":2}`, - map[string]interface{}{ - "a": map[string]interface{}{ - "b": map[string]interface{}{ + map[string]any{ + "a": map[string]any{ + "b": map[string]any{ "c": 5, }, }, @@ -72,9 +72,9 @@ func TestPatchJSON(t *testing.T) { }, { `{}`, - map[string]interface{}{ - "a": map[string]interface{}{ - "b": map[string]interface{}{ + map[string]any{ + "a": map[string]any{ + "b": map[string]any{ "c": 0, }, }, |
