aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/gostaticanalysis/comment/comment.go
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2022-09-05 14:27:54 +0200
committerGitHub <noreply@github.com>2022-09-05 12:27:54 +0000
commitb2f2446b46bf02821d90ebedadae2bf7ae0e880e (patch)
tree923cf42842918d6bebca1d6bbdc08abed54d274d /vendor/github.com/gostaticanalysis/comment/comment.go
parente6654faff4bcca4be92e9a8596fd4b77f747c39e (diff)
go.mod, vendor: update (#3358)
* go.mod, vendor: remove unnecessary dependencies Commands: 1. go mod tidy 2. go mod vendor * go.mod, vendor: update cloud.google.com/go Commands: 1. go get -u cloud.google.com/go 2. go mod tidy 3. go mod vendor * go.mod, vendor: update cloud.google.com/* Commands: 1. go get -u cloud.google.com/storage cloud.google.com/logging 2. go mod tidy 3. go mod vendor * go.mod, .golangci.yml, vendor: update *lint* Commands: 1. go get -u golang.org/x/tools github.com/golangci/golangci-lint@v1.47.0 2. go mod tidy 3. go mod vendor 4. edit .golangci.yml to suppress new errors (resolved in the same PR later) * all: fix lint errors hash.go: copy() recommended by gosimple parse.go: ent is never nil verifier.go: signal.Notify() with unbuffered channel is bad. Have no idea why. * .golangci.yml: adjust godot rules check-all is deprecated, but still work if you're hesitating too - I'll remove this commit
Diffstat (limited to 'vendor/github.com/gostaticanalysis/comment/comment.go')
-rw-r--r--vendor/github.com/gostaticanalysis/comment/comment.go35
1 files changed, 20 insertions, 15 deletions
diff --git a/vendor/github.com/gostaticanalysis/comment/comment.go b/vendor/github.com/gostaticanalysis/comment/comment.go
index 2fe67fa96..79cb09382 100644
--- a/vendor/github.com/gostaticanalysis/comment/comment.go
+++ b/vendor/github.com/gostaticanalysis/comment/comment.go
@@ -123,25 +123,30 @@ func (maps Maps) IgnoreLine(fset *token.FileSet, line int, check string) bool {
// hasIgnoreCheck returns true if the provided CommentGroup starts with a comment
// of the form "//lint:ignore Check1[,Check2,...,CheckN] reason" and one of the
-// checks matches the provided check. The *ast.CommentGroup is checked directly
-// rather than using "cg.Text()" because, starting in Go 1.15, the "cg.Text()" call
-// no longer returns directive-style comments (see https://github.com/golang/go/issues/37974).
+// checks matches the provided check.
+//
+// The *ast.CommentGroup is checked directly rather than using "cg.Text()" because,
+// starting in Go 1.15, the "cg.Text()" call no longer returns directive-style
+// comments (see https://github.com/golang/go/issues/37974).
func hasIgnoreCheck(cg *ast.CommentGroup, check string) bool {
- if !strings.HasPrefix(cg.List[0].Text, "//") {
- return false
- }
+ for _, list := range cg.List {
+ if !strings.HasPrefix(list.Text, "//") {
+ continue
+ }
- s := strings.TrimSpace(cg.List[0].Text[2:])
- txt := strings.Split(s, " ")
- if len(txt) < 3 || txt[0] != "lint:ignore" {
- return false
- }
+ s := strings.TrimSpace(list.Text[2:]) // list.Text[2:]: trim "//"
+ txt := strings.Split(s, " ")
+ if len(txt) < 3 || txt[0] != "lint:ignore" {
+ continue
+ }
- checks := strings.Split(txt[1], ",")
- for i := range checks {
- if check == checks[i] {
- return true
+ checks := strings.Split(txt[1], ",") // txt[1]: trim "lint:ignore"
+ for i := range checks {
+ if check == checks[i] {
+ return true
+ }
}
}
+
return false
}