1
0
mirror of https://github.com/mgechev/revive.git synced 2025-10-30 23:37:49 +02:00

feature: detect useless options in spanner struct tag (#1483)

This commit is contained in:
chavacava
2025-08-17 07:50:54 +02:00
committed by GitHub
parent 15aded98f6
commit 9fd8adbcd0
2 changed files with 9 additions and 3 deletions

View File

@@ -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
}

View File

@@ -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/
}