Skip to content

Commit f3a0ba8

Browse files
committed
unify marker definitions to markers package
Signed-off-by: sivchari <shibuuuu5@gmail.com>
1 parent 2e78eb0 commit f3a0ba8

File tree

8 files changed

+146
-108
lines changed

8 files changed

+146
-108
lines changed

pkg/analysis/maxlength/analyzer.go

Lines changed: 28 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,12 @@ import (
2323
kalerrors "sigs.k8s.io/kube-api-linter/pkg/analysis/errors"
2424
"sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/extractjsontags"
2525
"sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/inspector"
26-
"sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/markers"
26+
markershelper "sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/markers"
27+
"sigs.k8s.io/kube-api-linter/pkg/markers"
2728
)
2829

2930
const (
3031
name = "maxlength"
31-
32-
kubebuilderMaxLength = "kubebuilder:validation:MaxLength"
33-
kubebuilderEnum = "kubebuilder:validation:Enum"
34-
kubebuilderFormat = "kubebuilder:validation:Format"
35-
36-
kubebuilderItemsMaxLength = "kubebuilder:validation:items:MaxLength"
37-
kubebuilderItemsEnum = "kubebuilder:validation:items:Enum"
38-
kubebuilderItemsFormat = "kubebuilder:validation:items:Format"
39-
40-
kubebuilderMaxItems = "kubebuilder:validation:MaxItems"
4132
)
4233

4334
// Analyzer is the analyzer for the maxlength package.
@@ -55,25 +46,25 @@ func run(pass *analysis.Pass) (interface{}, error) {
5546
return nil, kalerrors.ErrCouldNotGetInspector
5647
}
5748

58-
inspect.InspectFields(func(field *ast.Field, stack []ast.Node, jsonTagInfo extractjsontags.FieldTagInfo, markersAccess markers.Markers) {
49+
inspect.InspectFields(func(field *ast.Field, stack []ast.Node, jsonTagInfo extractjsontags.FieldTagInfo, markersAccess markershelper.Markers) {
5950
checkField(pass, field, markersAccess)
6051
})
6152

6253
return nil, nil //nolint:nilnil
6354
}
6455

65-
func checkField(pass *analysis.Pass, field *ast.Field, markersAccess markers.Markers) {
56+
func checkField(pass *analysis.Pass, field *ast.Field, markersAccess markershelper.Markers) {
6657
if len(field.Names) == 0 || field.Names[0] == nil {
6758
return
6859
}
6960

7061
fieldName := field.Names[0].Name
7162
prefix := fmt.Sprintf("field %s", fieldName)
7263

73-
checkTypeExpr(pass, field.Type, field, nil, markersAccess, prefix, kubebuilderMaxLength, needsStringMaxLength)
64+
checkTypeExpr(pass, field.Type, field, nil, markersAccess, prefix, markers.KubebuilderMaxLengthMarker, needsStringMaxLength)
7465
}
7566

76-
func checkIdent(pass *analysis.Pass, ident *ast.Ident, node ast.Node, aliases []*ast.TypeSpec, markersAccess markers.Markers, prefix, marker string, needsMaxLength func(markers.MarkerSet) bool) {
67+
func checkIdent(pass *analysis.Pass, ident *ast.Ident, node ast.Node, aliases []*ast.TypeSpec, markersAccess markershelper.Markers, prefix, marker string, needsMaxLength func(markershelper.MarkerSet) bool) {
7768
if ident.Obj == nil { // Built-in type
7869
checkString(pass, ident, node, aliases, markersAccess, prefix, marker, needsMaxLength)
7970

@@ -88,7 +79,7 @@ func checkIdent(pass *analysis.Pass, ident *ast.Ident, node ast.Node, aliases []
8879
checkTypeSpec(pass, tSpec, node, append(aliases, tSpec), markersAccess, fmt.Sprintf("%s type", prefix), marker, needsMaxLength)
8980
}
9081

91-
func checkString(pass *analysis.Pass, ident *ast.Ident, node ast.Node, aliases []*ast.TypeSpec, markersAccess markers.Markers, prefix, marker string, needsMaxLength func(markers.MarkerSet) bool) {
82+
func checkString(pass *analysis.Pass, ident *ast.Ident, node ast.Node, aliases []*ast.TypeSpec, markersAccess markershelper.Markers, prefix, marker string, needsMaxLength func(markershelper.MarkerSet) bool) {
9283
if ident.Name != "string" {
9384
return
9485
}
@@ -100,7 +91,7 @@ func checkString(pass *analysis.Pass, ident *ast.Ident, node ast.Node, aliases [
10091
}
10192
}
10293

103-
func checkTypeSpec(pass *analysis.Pass, tSpec *ast.TypeSpec, node ast.Node, aliases []*ast.TypeSpec, markersAccess markers.Markers, prefix, marker string, needsMaxLength func(markers.MarkerSet) bool) {
94+
func checkTypeSpec(pass *analysis.Pass, tSpec *ast.TypeSpec, node ast.Node, aliases []*ast.TypeSpec, markersAccess markershelper.Markers, prefix, marker string, needsMaxLength func(markershelper.MarkerSet) bool) {
10495
if tSpec.Name == nil {
10596
return
10697
}
@@ -111,7 +102,7 @@ func checkTypeSpec(pass *analysis.Pass, tSpec *ast.TypeSpec, node ast.Node, alia
111102
checkTypeExpr(pass, tSpec.Type, node, aliases, markersAccess, prefix, marker, needsMaxLength)
112103
}
113104

114-
func checkTypeExpr(pass *analysis.Pass, typeExpr ast.Expr, node ast.Node, aliases []*ast.TypeSpec, markersAccess markers.Markers, prefix, marker string, needsMaxLength func(markers.MarkerSet) bool) {
105+
func checkTypeExpr(pass *analysis.Pass, typeExpr ast.Expr, node ast.Node, aliases []*ast.TypeSpec, markersAccess markershelper.Markers, prefix, marker string, needsMaxLength func(markershelper.MarkerSet) bool) {
115106
switch typ := typeExpr.(type) {
116107
case *ast.Ident:
117108
checkIdent(pass, typ, node, aliases, markersAccess, prefix, marker, needsMaxLength)
@@ -122,7 +113,7 @@ func checkTypeExpr(pass *analysis.Pass, typeExpr ast.Expr, node ast.Node, aliase
122113
}
123114
}
124115

125-
func checkArrayType(pass *analysis.Pass, arrayType *ast.ArrayType, node ast.Node, aliases []*ast.TypeSpec, markersAccess markers.Markers, prefix string) {
116+
func checkArrayType(pass *analysis.Pass, arrayType *ast.ArrayType, node ast.Node, aliases []*ast.TypeSpec, markersAccess markershelper.Markers, prefix string) {
126117
if arrayType.Elt != nil {
127118
if ident, ok := arrayType.Elt.(*ast.Ident); ok {
128119
if ident.Name == "byte" {
@@ -132,7 +123,7 @@ func checkArrayType(pass *analysis.Pass, arrayType *ast.ArrayType, node ast.Node
132123
NamePos: ident.NamePos,
133124
Name: "string",
134125
}
135-
checkString(pass, i, node, aliases, markersAccess, prefix, kubebuilderMaxLength, needsStringMaxLength)
126+
checkString(pass, i, node, aliases, markersAccess, prefix, markers.KubebuilderMaxLengthMarker, needsStringMaxLength)
136127

137128
return
138129
}
@@ -141,16 +132,16 @@ func checkArrayType(pass *analysis.Pass, arrayType *ast.ArrayType, node ast.Node
141132
}
142133
}
143134

144-
markers := getCombinedMarkers(markersAccess, node, aliases)
135+
markerSet := getCombinedMarkers(markersAccess, node, aliases)
145136

146-
if !markers.Has(kubebuilderMaxItems) {
147-
pass.Reportf(node.Pos(), "%s must have a maximum items, add %s marker", prefix, kubebuilderMaxItems)
137+
if !markerSet.Has(markers.KubebuilderMaxItemsMarker) {
138+
pass.Reportf(node.Pos(), "%s must have a maximum items, add %s marker", prefix, markers.KubebuilderMaxItemsMarker)
148139
}
149140
}
150141

151-
func checkArrayElementIdent(pass *analysis.Pass, ident *ast.Ident, node ast.Node, aliases []*ast.TypeSpec, markersAccess markers.Markers, prefix string) {
142+
func checkArrayElementIdent(pass *analysis.Pass, ident *ast.Ident, node ast.Node, aliases []*ast.TypeSpec, markersAccess markershelper.Markers, prefix string) {
152143
if ident.Obj == nil { // Built-in type
153-
checkString(pass, ident, node, aliases, markersAccess, prefix, kubebuilderItemsMaxLength, needsItemsMaxLength)
144+
checkString(pass, ident, node, aliases, markersAccess, prefix, markers.KubebuilderItemsMaxLengthMarker, needsItemsMaxLength)
154145

155146
return
156147
}
@@ -162,13 +153,13 @@ func checkArrayElementIdent(pass *analysis.Pass, ident *ast.Ident, node ast.Node
162153

163154
// If the array element wasn't directly a string, allow a string alias to be used
164155
// with either the items style markers or the on alias style markers.
165-
checkTypeSpec(pass, tSpec, node, append(aliases, tSpec), markersAccess, fmt.Sprintf("%s type", prefix), kubebuilderMaxLength, func(ms markers.MarkerSet) bool {
156+
checkTypeSpec(pass, tSpec, node, append(aliases, tSpec), markersAccess, fmt.Sprintf("%s type", prefix), markers.KubebuilderMaxLengthMarker, func(ms markershelper.MarkerSet) bool {
166157
return needsStringMaxLength(ms) && needsItemsMaxLength(ms)
167158
})
168159
}
169160

170-
func getCombinedMarkers(markersAccess markers.Markers, node ast.Node, aliases []*ast.TypeSpec) markers.MarkerSet {
171-
base := markers.NewMarkerSet(getMarkers(markersAccess, node).UnsortedList()...)
161+
func getCombinedMarkers(markersAccess markershelper.Markers, node ast.Node, aliases []*ast.TypeSpec) markershelper.MarkerSet {
162+
base := markershelper.NewMarkerSet(getMarkers(markersAccess, node).UnsortedList()...)
172163

173164
for _, a := range aliases {
174165
base.Insert(getMarkers(markersAccess, a).UnsortedList()...)
@@ -177,7 +168,7 @@ func getCombinedMarkers(markersAccess markers.Markers, node ast.Node, aliases []
177168
return base
178169
}
179170

180-
func getMarkers(markersAccess markers.Markers, node ast.Node) markers.MarkerSet {
171+
func getMarkers(markersAccess markershelper.Markers, node ast.Node) markershelper.MarkerSet {
181172
switch t := node.(type) {
182173
case *ast.Field:
183174
return markersAccess.FieldMarkers(t)
@@ -191,10 +182,10 @@ func getMarkers(markersAccess markers.Markers, node ast.Node) markers.MarkerSet
191182
// needsMaxLength returns true if the field needs a maximum length.
192183
// Fields do not need a maximum length if they are already marked with a maximum length,
193184
// or if they are an enum, or if they are a date, date-time or duration.
194-
func needsStringMaxLength(markerSet markers.MarkerSet) bool {
185+
func needsStringMaxLength(markerSet markershelper.MarkerSet) bool {
195186
switch {
196-
case markerSet.Has(kubebuilderMaxLength),
197-
markerSet.Has(kubebuilderEnum),
187+
case markerSet.Has(markers.KubebuilderMaxLengthMarker),
188+
markerSet.Has(markers.KubebuilderEnumMarker),
198189
markerSet.HasWithValue(kubebuilderFormatWithValue("date")),
199190
markerSet.HasWithValue(kubebuilderFormatWithValue("date-time")),
200191
markerSet.HasWithValue(kubebuilderFormatWithValue("duration")):
@@ -204,10 +195,10 @@ func needsStringMaxLength(markerSet markers.MarkerSet) bool {
204195
return true
205196
}
206197

207-
func needsItemsMaxLength(markerSet markers.MarkerSet) bool {
198+
func needsItemsMaxLength(markerSet markershelper.MarkerSet) bool {
208199
switch {
209-
case markerSet.Has(kubebuilderItemsMaxLength),
210-
markerSet.Has(kubebuilderItemsEnum),
200+
case markerSet.Has(markers.KubebuilderItemsMaxLengthMarker),
201+
markerSet.Has(markers.KubebuilderItemsEnumMarker),
211202
markerSet.HasWithValue(kubebuilderItemsFormatWithValue("date")),
212203
markerSet.HasWithValue(kubebuilderItemsFormatWithValue("date-time")),
213204
markerSet.HasWithValue(kubebuilderItemsFormatWithValue("duration")):
@@ -218,9 +209,9 @@ func needsItemsMaxLength(markerSet markers.MarkerSet) bool {
218209
}
219210

220211
func kubebuilderFormatWithValue(value string) string {
221-
return fmt.Sprintf("%s:=%s", kubebuilderFormat, value)
212+
return fmt.Sprintf("%s:=%s", markers.KubebuilderFormatMarker, value)
222213
}
223214

224215
func kubebuilderItemsFormatWithValue(value string) string {
225-
return fmt.Sprintf("%s:=%s", kubebuilderItemsFormat, value)
216+
return fmt.Sprintf("%s:=%s", markers.KubebuilderItemsFormatMarker, value)
226217
}

pkg/analysis/optionalorrequired/analyzer.go

Lines changed: 27 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -23,32 +23,21 @@ import (
2323
kalerrors "sigs.k8s.io/kube-api-linter/pkg/analysis/errors"
2424
"sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/extractjsontags"
2525
"sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/inspector"
26-
"sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/markers"
26+
markershelper "sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/markers"
2727
"sigs.k8s.io/kube-api-linter/pkg/config"
28+
"sigs.k8s.io/kube-api-linter/pkg/markers"
2829
)
2930

3031
const (
3132
name = "optionalorrequired"
32-
33-
// OptionalMarker is the marker that indicates that a field is optional.
34-
OptionalMarker = "optional"
35-
36-
// RequiredMarker is the marker that indicates that a field is required.
37-
RequiredMarker = "required"
38-
39-
// KubebuilderOptionalMarker is the marker that indicates that a field is optional in kubebuilder.
40-
KubebuilderOptionalMarker = "kubebuilder:validation:Optional"
41-
42-
// KubebuilderRequiredMarker is the marker that indicates that a field is required in kubebuilder.
43-
KubebuilderRequiredMarker = "kubebuilder:validation:Required"
4433
)
4534

4635
func init() {
47-
markers.DefaultRegistry().Register(
48-
OptionalMarker,
49-
RequiredMarker,
50-
KubebuilderOptionalMarker,
51-
KubebuilderRequiredMarker,
36+
markershelper.DefaultRegistry().Register(
37+
markers.OptionalMarker,
38+
markers.RequiredMarker,
39+
markers.KubebuilderOptionalMarker,
40+
markers.KubebuilderRequiredMarker,
5241
)
5342
}
5443

@@ -67,21 +56,21 @@ func newAnalyzer(cfg config.OptionalOrRequiredConfig) *analysis.Analyzer {
6756
a := &analyzer{}
6857

6958
switch cfg.PreferredOptionalMarker {
70-
case OptionalMarker:
71-
a.primaryOptionalMarker = OptionalMarker
72-
a.secondaryOptionalMarker = KubebuilderOptionalMarker
73-
case KubebuilderOptionalMarker:
74-
a.primaryOptionalMarker = KubebuilderOptionalMarker
75-
a.secondaryOptionalMarker = OptionalMarker
59+
case markers.OptionalMarker:
60+
a.primaryOptionalMarker = markers.OptionalMarker
61+
a.secondaryOptionalMarker = markers.KubebuilderOptionalMarker
62+
case markers.KubebuilderOptionalMarker:
63+
a.primaryOptionalMarker = markers.KubebuilderOptionalMarker
64+
a.secondaryOptionalMarker = markers.OptionalMarker
7665
}
7766

7867
switch cfg.PreferredRequiredMarker {
79-
case RequiredMarker:
80-
a.primaryRequiredMarker = RequiredMarker
81-
a.secondaryRequiredMarker = KubebuilderRequiredMarker
82-
case KubebuilderRequiredMarker:
83-
a.primaryRequiredMarker = KubebuilderRequiredMarker
84-
a.secondaryRequiredMarker = RequiredMarker
68+
case markers.RequiredMarker:
69+
a.primaryRequiredMarker = markers.RequiredMarker
70+
a.secondaryRequiredMarker = markers.KubebuilderRequiredMarker
71+
case markers.KubebuilderRequiredMarker:
72+
a.primaryRequiredMarker = markers.KubebuilderRequiredMarker
73+
a.secondaryRequiredMarker = markers.RequiredMarker
8574
}
8675

8776
return &analysis.Analyzer{
@@ -98,19 +87,19 @@ func (a *analyzer) run(pass *analysis.Pass) (interface{}, error) {
9887
return nil, kalerrors.ErrCouldNotGetInspector
9988
}
10089

101-
inspect.InspectFields(func(field *ast.Field, stack []ast.Node, jsonTagInfo extractjsontags.FieldTagInfo, markersAccess markers.Markers) {
90+
inspect.InspectFields(func(field *ast.Field, stack []ast.Node, jsonTagInfo extractjsontags.FieldTagInfo, markersAccess markershelper.Markers) {
10291
a.checkField(pass, field, markersAccess.FieldMarkers(field), jsonTagInfo)
10392
})
10493

105-
inspect.InspectTypeSpec(func(typeSpec *ast.TypeSpec, markersAccess markers.Markers) {
94+
inspect.InspectTypeSpec(func(typeSpec *ast.TypeSpec, markersAccess markershelper.Markers) {
10695
a.checkTypeSpec(pass, typeSpec, markersAccess)
10796
})
10897

10998
return nil, nil //nolint:nilnil
11099
}
111100

112101
//nolint:cyclop
113-
func (a *analyzer) checkField(pass *analysis.Pass, field *ast.Field, fieldMarkers markers.MarkerSet, fieldTagInfo extractjsontags.FieldTagInfo) {
102+
func (a *analyzer) checkField(pass *analysis.Pass, field *ast.Field, fieldMarkers markershelper.MarkerSet, fieldTagInfo extractjsontags.FieldTagInfo) {
114103
if fieldTagInfo.Inline {
115104
// Inline fields would have no effect if they were marked as optional/required.
116105
return
@@ -159,7 +148,7 @@ func (a *analyzer) checkField(pass *analysis.Pass, field *ast.Field, fieldMarker
159148
}
160149
}
161150

162-
func reportShouldReplaceSecondaryMarker(field *ast.Field, marker []markers.Marker, primaryMarker, secondaryMarker, prefix string) analysis.Diagnostic {
151+
func reportShouldReplaceSecondaryMarker(field *ast.Field, marker []markershelper.Marker, primaryMarker, secondaryMarker, prefix string) analysis.Diagnostic {
163152
textEdits := make([]analysis.TextEdit, len(marker))
164153

165154
for i, m := range marker {
@@ -192,7 +181,7 @@ func reportShouldReplaceSecondaryMarker(field *ast.Field, marker []markers.Marke
192181
}
193182
}
194183

195-
func reportShouldRemoveSecondaryMarker(field *ast.Field, marker []markers.Marker, primaryMarker, secondaryMarker, prefix string) analysis.Diagnostic {
184+
func reportShouldRemoveSecondaryMarker(field *ast.Field, marker []markershelper.Marker, primaryMarker, secondaryMarker, prefix string) analysis.Diagnostic {
196185
textEdits := make([]analysis.TextEdit, len(marker))
197186

198187
for i, m := range marker {
@@ -215,7 +204,7 @@ func reportShouldRemoveSecondaryMarker(field *ast.Field, marker []markers.Marker
215204
}
216205
}
217206

218-
func (a *analyzer) checkTypeSpec(pass *analysis.Pass, typeSpec *ast.TypeSpec, markersAccess markers.Markers) {
207+
func (a *analyzer) checkTypeSpec(pass *analysis.Pass, typeSpec *ast.TypeSpec, markersAccess markershelper.Markers) {
219208
name := typeSpec.Name.Name
220209
set := markersAccess.TypeMarkers(typeSpec)
221210

@@ -244,10 +233,10 @@ func (a *analyzer) checkTypeSpec(pass *analysis.Pass, typeSpec *ast.TypeSpec, ma
244233

245234
func defaultConfig(cfg *config.OptionalOrRequiredConfig) {
246235
if cfg.PreferredOptionalMarker == "" {
247-
cfg.PreferredOptionalMarker = OptionalMarker
236+
cfg.PreferredOptionalMarker = markers.OptionalMarker
248237
}
249238

250239
if cfg.PreferredRequiredMarker == "" {
251-
cfg.PreferredRequiredMarker = RequiredMarker
240+
cfg.PreferredRequiredMarker = markers.RequiredMarker
252241
}
253242
}

pkg/analysis/optionalorrequired/analyzer_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"golang.org/x/tools/go/analysis/analysistest"
2222
"sigs.k8s.io/kube-api-linter/pkg/analysis/optionalorrequired"
2323
"sigs.k8s.io/kube-api-linter/pkg/config"
24+
"sigs.k8s.io/kube-api-linter/pkg/markers"
2425
)
2526

2627
func TestDefaultConfiguration(t *testing.T) {
@@ -39,8 +40,8 @@ func TestSwappedMarkerPriority(t *testing.T) {
3940

4041
a, err := optionalorrequired.Initializer().Init(config.LintersConfig{
4142
OptionalOrRequired: config.OptionalOrRequiredConfig{
42-
PreferredOptionalMarker: optionalorrequired.KubebuilderOptionalMarker,
43-
PreferredRequiredMarker: optionalorrequired.KubebuilderRequiredMarker,
43+
PreferredOptionalMarker: markers.KubebuilderOptionalMarker,
44+
PreferredRequiredMarker: markers.KubebuilderRequiredMarker,
4445
},
4546
})
4647
if err != nil {

pkg/analysis/requiredfields/analyzer.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,17 @@ import (
2424
kalerrors "sigs.k8s.io/kube-api-linter/pkg/analysis/errors"
2525
"sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/extractjsontags"
2626
"sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/inspector"
27-
"sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/markers"
27+
markershelper "sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/markers"
2828
"sigs.k8s.io/kube-api-linter/pkg/config"
29+
"sigs.k8s.io/kube-api-linter/pkg/markers"
2930
)
3031

3132
const (
3233
name = "requiredfields"
33-
34-
requiredMarker = "required"
35-
kubebuilderRequiredMarker = "kubebuilder:validation:Required"
3634
)
3735

3836
func init() {
39-
markers.DefaultRegistry().Register(requiredMarker, kubebuilderRequiredMarker)
37+
markershelper.DefaultRegistry().Register(markers.RequiredMarker, markers.KubebuilderRequiredMarker)
4038
}
4139

4240
type analyzer struct {
@@ -65,21 +63,21 @@ func (a *analyzer) run(pass *analysis.Pass) (interface{}, error) {
6563
return nil, kalerrors.ErrCouldNotGetInspector
6664
}
6765

68-
inspect.InspectFields(func(field *ast.Field, stack []ast.Node, jsonTagInfo extractjsontags.FieldTagInfo, markersAccess markers.Markers) {
66+
inspect.InspectFields(func(field *ast.Field, stack []ast.Node, jsonTagInfo extractjsontags.FieldTagInfo, markersAccess markershelper.Markers) {
6967
a.checkField(pass, field, markersAccess.FieldMarkers(field), jsonTagInfo)
7068
})
7169

7270
return nil, nil //nolint:nilnil
7371
}
7472

75-
func (a *analyzer) checkField(pass *analysis.Pass, field *ast.Field, fieldMarkers markers.MarkerSet, fieldTagInfo extractjsontags.FieldTagInfo) {
73+
func (a *analyzer) checkField(pass *analysis.Pass, field *ast.Field, fieldMarkers markershelper.MarkerSet, fieldTagInfo extractjsontags.FieldTagInfo) {
7674
if field == nil || len(field.Names) == 0 {
7775
return
7876
}
7977

8078
fieldName := field.Names[0].Name
8179

82-
if !fieldMarkers.Has(requiredMarker) && !fieldMarkers.Has(kubebuilderRequiredMarker) {
80+
if !fieldMarkers.Has(markers.RequiredMarker) && !fieldMarkers.Has(markers.KubebuilderRequiredMarker) {
8381
// The field is not marked required, so we don't need to check it.
8482
return
8583
}

0 commit comments

Comments
 (0)