mirror of
https://github.com/golang/go
synced 2024-09-23 07:23:18 -06:00
cmd/asm/internal: use slices.Contains
Now that Go 1.22.6 is the minimum bootstrap toolchain (cf. CL 606156), the slices package (introduced in Go 1.21) can be used in packages built using the bootstrap toolchain. For #64751 Change-Id: I0115213da4b1f0a1fa0ef7ad34456fbf52e00fae Reviewed-on: https://go-review.googlesource.com/c/go/+/611095 Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
12dcbed451
commit
e6ae2d83ac
@ -8,6 +8,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"slices"
|
||||
"strconv"
|
||||
"strings"
|
||||
"text/scanner"
|
||||
@ -252,7 +253,7 @@ func (in *Input) macroDefinition(name string) ([]string, []Token) {
|
||||
in.Error("bad syntax in definition for macro:", name)
|
||||
}
|
||||
arg := in.Stack.Text()
|
||||
if i := lookup(args, arg); i >= 0 {
|
||||
if slices.Contains(args, arg) {
|
||||
in.Error("duplicate argument", arg, "in definition for macro:", name)
|
||||
}
|
||||
args = append(args, arg)
|
||||
@ -280,15 +281,6 @@ func (in *Input) macroDefinition(name string) ([]string, []Token) {
|
||||
return args, tokens
|
||||
}
|
||||
|
||||
func lookup(args []string, arg string) int {
|
||||
for i, a := range args {
|
||||
if a == arg {
|
||||
return i
|
||||
}
|
||||
}
|
||||
return -1
|
||||
}
|
||||
|
||||
// invokeMacro pushes onto the input Stack a Slice that holds the macro definition with the actual
|
||||
// parameters substituted for the formals.
|
||||
// Invoking a macro does not touch the PC/line history.
|
||||
|
Loading…
Reference in New Issue
Block a user