diff options
| author | Taras Madan <tarasmadan@google.com> | 2022-09-05 14:27:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-05 12:27:54 +0000 |
| commit | b2f2446b46bf02821d90ebedadae2bf7ae0e880e (patch) | |
| tree | 923cf42842918d6bebca1d6bbdc08abed54d274d /vendor/github.com/blizzy78/varnamelen/flags.go | |
| parent | e6654faff4bcca4be92e9a8596fd4b77f747c39e (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/blizzy78/varnamelen/flags.go')
| -rw-r--r-- | vendor/github.com/blizzy78/varnamelen/flags.go | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/vendor/github.com/blizzy78/varnamelen/flags.go b/vendor/github.com/blizzy78/varnamelen/flags.go new file mode 100644 index 000000000..ee80774f9 --- /dev/null +++ b/vendor/github.com/blizzy78/varnamelen/flags.go @@ -0,0 +1,109 @@ +package varnamelen + +import "strings" + +// stringsValue is the value of a list-of-strings flag. +type stringsValue struct { + Values []string +} + +// declarationsValue is the value of a list-of-declarations flag. +type declarationsValue struct { + Values []declaration +} + +// Set implements Value. +func (sv *stringsValue) Set(values string) error { + if strings.TrimSpace(values) == "" { + sv.Values = nil + return nil + } + + parts := strings.Split(values, ",") + + sv.Values = make([]string, len(parts)) + + for i, part := range parts { + sv.Values[i] = strings.TrimSpace(part) + } + + return nil +} + +// String implements Value. +func (sv *stringsValue) String() string { + return strings.Join(sv.Values, ",") +} + +// contains returns true if sv contains s. +func (sv *stringsValue) contains(s string) bool { + for _, v := range sv.Values { + if v == s { + return true + } + } + + return false +} + +// Set implements Value. +func (dv *declarationsValue) Set(values string) error { + if strings.TrimSpace(values) == "" { + dv.Values = nil + return nil + } + + parts := strings.Split(values, ",") + + dv.Values = make([]declaration, len(parts)) + + for idx, part := range parts { + dv.Values[idx] = parseDeclaration(strings.TrimSpace(part)) + } + + return nil +} + +// String implements Value. +func (dv *declarationsValue) String() string { + parts := make([]string, len(dv.Values)) + + for idx, val := range dv.Values { + parts[idx] = val.name + " " + val.typ + } + + return strings.Join(parts, ",") +} + +// matchVariable returns true if vari matches any of the declarations in dv. +func (dv *declarationsValue) matchVariable(vari variable) bool { + for _, decl := range dv.Values { + if vari.match(decl) { + return true + } + } + + return false +} + +// matchParameter returns true if param matches any of the declarations in dv. +func (dv *declarationsValue) matchParameter(param parameter) bool { + for _, decl := range dv.Values { + if param.match(decl) { + return true + } + } + + return false +} + +// matchParameter returns true if param matches any of the declarations in dv. +func (dv *declarationsValue) matchTypeParameter(param typeParam) bool { + for _, decl := range dv.Values { + if param.match(decl) { + return true + } + } + + return false +} |
