mirror of
https://github.com/golang/go
synced 2024-11-11 16:41:37 -07:00
cmd: make use of maps.{Copy, Clone}
Change-Id: I8a38b4c71c34d3544ee32be9c6e767bb1099a720
GitHub-Last-Rev: ff4cb4e91b
GitHub-Pull-Request: golang/go#69424
Reviewed-on: https://go-review.googlesource.com/c/go/+/612735
Reviewed-by: Keith Randall <khr@golang.org>
Commit-Queue: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
This commit is contained in:
parent
76e44f42c8
commit
0a2cc74f5a
@ -18,6 +18,7 @@ import (
|
||||
"go/token"
|
||||
"internal/buildcfg"
|
||||
"io"
|
||||
"maps"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
@ -598,12 +599,8 @@ func (p *Package) Record(f *File) {
|
||||
}
|
||||
|
||||
// merge nocallback & noescape
|
||||
for k, v := range f.NoCallbacks {
|
||||
p.noCallbacks[k] = v
|
||||
}
|
||||
for k, v := range f.NoEscapes {
|
||||
p.noEscapes[k] = v
|
||||
}
|
||||
maps.Copy(p.noCallbacks, f.NoCallbacks)
|
||||
maps.Copy(p.noEscapes, f.NoEscapes)
|
||||
|
||||
if f.ExpFunc != nil {
|
||||
p.ExpFunc = append(p.ExpFunc, f.ExpFunc...)
|
||||
|
@ -50,6 +50,7 @@ import (
|
||||
"cmd/compile/internal/types"
|
||||
"cmd/internal/pgo"
|
||||
"fmt"
|
||||
"maps"
|
||||
"os"
|
||||
)
|
||||
|
||||
@ -296,10 +297,7 @@ func addIndirectEdges(g *IRGraph, namedEdgeMap pgo.NamedEdgeMap) {
|
||||
// package build by VisitIR. We want to filter for local functions
|
||||
// below, but we also add unknown callees to IRNodes as we go. So make
|
||||
// an initial copy of IRNodes to recall just the local functions.
|
||||
localNodes := make(map[string]*IRNode, len(g.IRNodes))
|
||||
for k, v := range g.IRNodes {
|
||||
localNodes[k] = v
|
||||
}
|
||||
localNodes := maps.Clone(g.IRNodes)
|
||||
|
||||
// N.B. We must consider edges in a stable order because export data
|
||||
// lookup order (LookupMethodFunc, below) can impact the export data of
|
||||
|
@ -9,6 +9,7 @@ import (
|
||||
"go/ast"
|
||||
"go/parser"
|
||||
"go/token"
|
||||
"maps"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
@ -272,9 +273,9 @@ func typecheck(cfg *TypeConfig, f *ast.File) (typeof map[any]string, assign map[
|
||||
if !copied {
|
||||
copied = true
|
||||
// Copy map lazily: it's time.
|
||||
cfg1.Type = make(map[string]*Type)
|
||||
for k, v := range cfg.Type {
|
||||
cfg1.Type[k] = v
|
||||
cfg1.Type = maps.Clone(cfg.Type)
|
||||
if cfg1.Type == nil {
|
||||
cfg1.Type = make(map[string]*Type)
|
||||
}
|
||||
}
|
||||
t := &Type{Field: map[string]string{}}
|
||||
|
@ -9,6 +9,7 @@ import (
|
||||
"fmt"
|
||||
"go/build"
|
||||
"internal/godebugs"
|
||||
"maps"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
@ -89,9 +90,7 @@ func defaultGODEBUG(p *Package, directives, testDirectives, xtestDirectives []bu
|
||||
defaults := godebugForGoVersion(goVersion)
|
||||
if defaults != nil {
|
||||
// Apply m on top of defaults.
|
||||
for k, v := range m {
|
||||
defaults[k] = v
|
||||
}
|
||||
maps.Copy(defaults, m)
|
||||
m = defaults
|
||||
}
|
||||
|
||||
|
@ -15,6 +15,7 @@ import (
|
||||
"go/parser"
|
||||
"go/token"
|
||||
"internal/lazytemplate"
|
||||
"maps"
|
||||
"path/filepath"
|
||||
"slices"
|
||||
"sort"
|
||||
@ -212,9 +213,7 @@ func TestPackagesAndErrors(ctx context.Context, done func(), opts PackageOpts, p
|
||||
if testEmbed == nil && len(p.Internal.Embed) > 0 {
|
||||
testEmbed = map[string][]string{}
|
||||
}
|
||||
for k, v := range p.Internal.Embed {
|
||||
testEmbed[k] = v
|
||||
}
|
||||
maps.Copy(testEmbed, p.Internal.Embed)
|
||||
ptest.Internal.Embed = testEmbed
|
||||
ptest.EmbedFiles = str.StringList(p.EmbedFiles, p.TestEmbedFiles)
|
||||
ptest.Internal.OrigImportPath = p.Internal.OrigImportPath
|
||||
|
Loading…
Reference in New Issue
Block a user