mirror of
https://github.com/mgechev/revive.git
synced 2025-11-23 22:04:49 +02:00
feature: detect useless options in spanner struct tag (#1483)
This commit is contained in:
@@ -562,13 +562,18 @@ func checkYAMLTag(checkCtx *checkContext, tag *structtag.Tag, _ ast.Expr) (messa
|
||||
|
||||
func checkSpannerTag(checkCtx *checkContext, tag *structtag.Tag, _ ast.Expr) (message string, succeeded bool) {
|
||||
if tag.Name == "-" {
|
||||
if len(tag.Options) > 0 {
|
||||
return fmt.Sprintf("useless option(s) %s for ignored field", strings.Join(tag.Options, ",")), false
|
||||
}
|
||||
return "", true
|
||||
}
|
||||
|
||||
for _, opt := range tag.Options {
|
||||
if !checkCtx.isUserDefined(keySpanner, opt) {
|
||||
return fmt.Sprintf(msgUnknownOption, opt), false
|
||||
}
|
||||
}
|
||||
|
||||
return "", true
|
||||
}
|
||||
|
||||
|
||||
7
testdata/struct_tag_user_options.go
vendored
7
testdata/struct_tag_user_options.go
vendored
@@ -48,6 +48,7 @@ type TomlUser struct {
|
||||
}
|
||||
|
||||
type SpannerUserOptions struct {
|
||||
ID int `spanner:"user_id,mySpannerOption"`
|
||||
Name string `spanner:"full_name,unknownOption"` // MATCH /unknown option "unknownOption" in spanner tag/
|
||||
}
|
||||
ID int `spanner:"user_id,mySpannerOption"`
|
||||
A int `spanner:"-,mySpannerOption"` // MATCH /useless option(s) mySpannerOption for ignored field in spanner tag/
|
||||
Name string `spanner:"full_name,unknownOption"` // MATCH /unknown option "unknownOption" in spanner tag/
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user