-
Notifications
You must be signed in to change notification settings - Fork 585
OCPEDGE-2084: chore(tools): bump kube-api-linter to latest #2657
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Update kube-api-linter from v0.0.0-20251028144537 to v0.0.0-20260114104534. This also bumps k8s.io/gengo/v2 to v2.0.0-20250922181213 as a transitive dependency. Created with support from Claude Opus 4 (Anthropic)
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@jaypoulz: This pull request references OCPEDGE-2084 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Hello @jaypoulz! Some important instructions when contributing to openshift/api: |
📝 WalkthroughWalkthroughThe pull request updates dependency versions in tools/go.mod. The module k8s.io/gengo/v2 is bumped to a newer release, and sigs.k8s.io/kube-api-linter is updated to a more recent version. These are straightforward version updates with no modifications to control flow, error handling, or exported entity signatures. The changes affect only the dependency declarations in the go module file. 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Comment |
|
@jaypoulz: This pull request references OCPEDGE-2084 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||||
|
@jaypoulz: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
User description
Update kube-api-linter from v0.0.0-20251028144537 to v0.0.0-20260114104534. This also bumps k8s.io/gengo/v2 to v2.0.0-20250922181213 as a transitive dependency.
Created with support from Claude Opus 4 (Anthropic)
PR Type
Enhancement
Description
Updated kube-api-linter from v0.0.0-20251028144537 to v0.0.0-20260114104534 with significant new analyzers and improvements
Added declarative validation marker support with orphaned marker detection, marker type enums, and payload structures for both Kubebuilder and k8s validation styles
Implemented new analyzers:
defaults(validates default marker usage),preferredmarkers(enforces marker standardization),minlength(checks minimum length requirements),dependenttags(enforces marker dependencies),nonpointerstructs(validates struct field markers),noreferences(enforces reference field naming), anddefaultorrequired(prevents conflicting markers)Enhanced field inspection infrastructure with qualified field names, list type handling, and improved callback signatures across all analyzers
Refactored multiple analyzers (
nodurations,nomaps,nofloats,nobools,integers) to use newTypeCheckerpattern for cleaner type validationImproved serialization checks with custom marshalling support, explicit zero value validation, and better error reporting
Updated k8s.io/gengo/v2 to v2.0.0-20250922181213 with enhanced comment handling, import ordering, and type alias support
Fixed typos and spelling errors throughout documentation and code comments for improved clarity
Fixed GoSeperator typo in namer package with backward compatibility alias
Diagram Walkthrough
File Walkthrough
45 files
analyzer.go
Support declarative validation markers and orphaned marker detectiontools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/markers/analyzer.go
UnnamedExpressionconstant toUnnamedArgumentand updatedrelated documentation to reflect declarative validation marker
terminology
alongside existing Kubebuilder-style markers with new
MarkerTypeenumtype/field declarations by blank lines, including helper functions for
validation
Payloadstruct to support both stringvalues and nested markers, replacing the previous
ExpressionsmapcontainsOnlyMarkers,looksLikeCommentedCode,hasCodeIndicators) to distinguish markers fromcommented-out code
k8s.io/gengo/v2/codetagspackage for parsing declarativevalidation markers
serialization_check.go
Enhanced serialization checks with qualified field names and custommarshalling supporttools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/utils/serialization/serialization_check.go
qualifiedFieldNameparameter toCheckmethod and related helperfunctions for better error reporting
marker) and treat them as string types for validation
hasExplicitZeroMinValidationfunction to handlepointer-to-slice/map with MinItems=0 or MinProperties=0 markers
handlePointerToPointerTypeandhandleNonPointerToPointerTypemethodsmarkersAccessandunderlyingtype information for enhanced validation
analyzer.go
New defaults analyzer for validating default marker usagetools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/defaults/analyzer.go
+kubebuilder:default, +k8s:default)
required
preferred ones
zero_value.go
Enhanced zero value validation with qualified names and custommarshallingtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/utils/zero_value.go
qualifiedFieldNameparameter toIsZeroValueValidand relatedfunctions for improved error reporting
GetTypeMarkerValuefunction to extract Type marker values forstructs with custom marshalling
them as strings instead of structs
IsFieldOptionalfunction to check for optional markers (mirrorsexisting
IsFieldRequired)enumFieldAllowsEmptyto usePayload.Valueinstead ofExpressionsmapGetMinPropertieshelper function for extracting minimumproperties marker values
IsKubernetesListTypefunction to detect Kubernetes List typestructs
analyzer.go
New preferred markers analyzer for marker standardizationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/preferredmarkers/analyzer.go
markers
preferred identifiers
reconstruction
edits
analyzer.go
New minlength analyzer for validation marker requirementstools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/minlength/analyzer.go
arrays, maps, and structs
markers
element validation
(exactlyOneOf/atLeastOneOf)
inspector.go
Refactored field inspection with qualified names and list typehandlingtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/helpers/inspector/inspector.go
InspectFieldscallback signature to includequalifiedFieldNameparameter and remove
stackparameterInspectFieldsIncludingListTypesmethod for inspecting fields inlist type structs
inspectFieldsmethodwith
skipListTypesparameterprefix
shouldProcessFieldto useIsKubernetesListTypeutilityfunction
utils.go
Added utility functions for type checking and qualified namingtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/utils/utils.go
IsStringTypefunction to check if an expression is a stringtype, including aliases
IsPointerfunction to check if an expression is a pointerGetStructNameandGetStructNameFromFilefunctions to retrievestruct names for fields
GetQualifiedFieldNamefunction to construct qualified fieldnames
GetMinPropertiesfunction to extract minimum properties markervalues
IsKubernetesListTypefunction to detect Kubernetes List typestructs with structural validation
hasListFieldsandgetFieldTypeNamefor listtype detection
TypeAwareMarkerCollectionForFieldto use correct import formarkers helper
analyzer.go
Updated jsontags analyzer for new field inspection interfacetools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/jsontags/analyzer.go
InspectFieldscallback to useInspectFieldsIncludingListTypesfor broader field coverage
qualifiedFieldNameparameter insteadof computing field name locally
stackparameter from callbackanalyzer.go
New nonpointerstructs analyzer for struct field markerstools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/nonpointerstructs/analyzer.go
nonpointerstructslinter to enforcerequired/optional markers on non-pointer struct fields
required, and those without are marked as optional
analyzer.go
Refactor ssatags analyzer for qualified field namestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/ssatags/analyzer.go
InspectFieldscallback signature to usequalifiedFieldNameparameter instead of
stackandFieldName()utilitymarker.Expressions[""]tomarker.Payload.Valueprovided qualified name
parse.go
Enhance comment handling and import ordering in parsertools/vendor/k8s.io/gengo/v2/parser/parse.go
maps,reflect, andslicespackagesminimize()function to remove blank lines and deprecatedparagraphs from comments
addCommentsToType()to handle comment conflicts between typealiases and real types with detailed logging
formatCommentBlock()helper for formatting comment outputslices.Sorted(maps.Keys())splitLines()to returnnilfor empty strings instead of slicewith empty string
analyzer.go
Add ExactlyOneOf marker support to arrayofstruct analyzertools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/arrayofstruct/analyzer.go
init()function to registerKubebuilderExactlyOneOfmarkerInspectFieldscallback to usequalifiedFieldNameparameterinstead of
stackhasExactlyOneOfMarker()function to check for union markers thatsatisfy required field constraints
getStructType()to prevent infiniterecursion
analyzer.go
Refactor namingconventions analyzer for qualified field namestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/namingconventions/analyzer.go
InspectFieldscallback signature to usequalifiedFieldNameparameter instead of
stackandmarkersAccessqualifiedFieldNameinstead of callingutils.FieldName()config.go
New defaults analyzer configuration typestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/defaults/config.go
OmitEmptyPolicyandOmitZeroPolicytypes with multiple policy options
DefaultsConfigstruct with configuration for default markersand omitempty/omitzero tag handling
policy behavior
analyzer.go
Refactor nodurations analyzer to use TypeChecker patterntools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/nodurations/analyzer.go
fmtimport as it's no longer neededTypeCheckerpattern withisDurationType()predicate and
checkDuration()callbackTypeCheckerutilitychecker pattern
analyzer.go
New dependenttags analyzer for marker dependenciestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/dependenttags/analyzer.go
dependenttagslinter to enforce dependenciesbetween markers
DependencyTypeAll(all dependenciesrequired) and
DependencyTypeAny(at least one required)or required
util.go
Update serialization utilities for qualified field namestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/utils/serialization/util.go
reportShouldAddOmitEmpty()to usequalifiedFieldNameparameterinstead of
fieldNamereportShouldAddOmitZero()to usequalifiedFieldNameparameterinstead of
fieldNamereportShouldRemoveOmitZero()to usequalifiedFieldNameparameter instead of
fieldNameinitializer.go
New preferredmarkers initializer with validationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/preferredmarkers/initializer.go
preferredmarkerslinter with configurationvalidation
with duplicate checking
analyzer.go
Enhance statussubresource analyzer with List type handlingtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/statussubresource/analyzer.go
utilspackagepatterns
instead of switch statement
analyzer.go
New noreferences analyzer for reference field namingtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/noreferences/analyzer.go
namingconventionslinter to enforce field namingconventions for references
PolicyPreferAbbreviatedReference(replace withRef/Refs) and
PolicyNoReferences(warn about reference words)analyzer.go
Refactor uniquemarkers analyzer for marker types and qualified namestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/uniquemarkers/analyzer.go
InspectFieldscallback signature to usequalifiedFieldNameparameter instead of
stackconstructIdentifier()to handle bothMarkerTypeDeclarativeValidationandMarkerTypeKubebuildermarker typesmarker.Expressionstomarker.ArgumentsqualifiedFieldNameparameteranalyzer.go
Refactor commentstart analyzer for qualified field namestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/commentstart/analyzer.go
go/typesandutilsInspectFieldscallback signature to usequalifiedFieldNameparameter instead of
stackandmarkersAccessparameter
analyzer.go
Refactor conflictingmarkers analyzer for qualified field namestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/conflictingmarkers/analyzer.go
InspectFieldscallback signature to usequalifiedFieldNameparameter instead of
stackqualifiedFieldNamethrough thecall chain
concatenation
analyzer.go
Refactor nomaps analyzer to use TypeChecker patterntools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/nomaps/analyzer.go
go/typesimportTypeCheckerpattern withisMap()predicate andcheckMap()callbackisStringToStringMap()andisBasicMap()helper functionschecker pattern
initializer.go
New defaults initializer with configuration validationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/defaults/initializer.go
defaultsanalyzer with configurationvalidation
omitempty/omitzero policies
analyzer.go
Refactor forbiddenmarkers analyzer for qualified names and markerattributestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/forbiddenmarkers/analyzer.go
InspectFieldscallback signature to usequalifiedFieldNameparameter instead of
stackmarker.Expressionstomarker.ArgumentsqualifiedFieldNameparameteranalyzer.go
Refactor integers analyzer to use TypeChecker patterntools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/integers/analyzer.go
inspector.Analyzerinstead of standardinspect.AnalyzerTypeCheckerpattern withutils.IsBasicTypepredicate
preorder traversal
initializer.go
New dependenttags initializer with validationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/dependenttags/initializer.go
dependenttagsanalyzer with configurationvalidation
dependency types
analyzer.go
Refactor nofloats analyzer to use TypeChecker patterntools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/nofloats/analyzer.go
inspector.Analyzerinstead of standardinspect.AnalyzerTypeCheckerpattern withutils.IsBasicTypepredicate
preorder traversal
analyzer.go
Refactor nobools analyzer to use TypeChecker patterntools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/nobools/analyzer.go
inspector.Analyzerinstead of standardinspect.AnalyzerTypeCheckerpattern withutils.IsBasicTypepredicate
preorder traversal
type_check.go
Enhance TypeChecker with predicate-based type checkingtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/utils/type_check.go
NewTypeChecker()to accept bothisTypeFuncpredicate andcheckFunccallback parameterscheckTypeExpr()to check the predicate before recursing intotype structure
checkField()to useGetQualifiedFieldName()instead ofFieldName()*ast.IndexExprin type expression checkingcheckIdent()for basic typesanalyzer.go
New defaultorrequired analyzer for marker conflictstools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/defaultorrequired/analyzer.go
conflictingmarkerslinter to enforce that fieldswith defaults are not marked as required
required marker combinations
initializer.go
Add noreferences linter initializer and validationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/noreferences/initializer.go
noreferenceslinterPolicyenum valuesPolicyPreferAbbreviatedReferenceandPolicyNoReferencespolicies
analyzer.go
Update duplicatemarkers to use qualified field namestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/duplicatemarkers/analyzer.go
InspectFieldscallback signature to usequalifiedFieldNameparameter
stackparameter from callbackcheckFieldfunction to accept and usequalifiedFieldNameinstead of extracting field name
config.go
Add dependenttags linter configuration structurestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/dependenttags/config.go
DependencyTypeenum withAllandAnyvalues
Configstruct with list of dependency rulesRulestruct specifying marker identifier and dependent markersconfig.go
Add preferredmarkers linter configuration structurestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/preferredmarkers/config.go
preferredmarkerslinterConfigstruct with list of preferred markersMarkerstruct with preferred identifier and equivalentidentifiers
EquivalentIdentifierstruct for marker replacement suggestionsmarkers.go
Add new kubebuilder and k8s marker constantstools/vendor/sigs.k8s.io/kube-api-linter/pkg/markers/markers.go
KubebuilderAtLeastOneOfMarkerconstant for CEL validationenforcing at least one field
KubebuilderExactlyOneOfconstant for CEL validation enforcingexactly one field
K8sDefaultMarkerconstant for default value specification in k8svalidation
config.go
Add noreferences linter configuration structurestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/noreferences/config.go
Policytype for reference handlingPolicyPreferAbbreviatedReferenceandPolicyNoReferencesconstants
Configstruct with optionalPolicyfieldconfig.go
Add nonpointerstructs linter configuration structurestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/nonpointerstructs/config.go
nonpointerstructslinterConfigstruct with preferred marker settingsPreferredRequiredMarkerandPreferredOptionalMarkerconfiguration options
analyzer.go
Update maxlength to use qualified field namestools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/maxlength/analyzer.go
InspectFieldscallback signature to usequalifiedFieldNameparameter
stackandjsonTagInfoparameters from callbackcheckFieldfunction to acceptqualifiedFieldNamedirectlyinitializer.go
Add minlength linter initializertools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/minlength/initializer.go
minlengthlinterinitializer.go
Add defaultorrequired analyzer initializertools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/defaultorrequired/initializer.go
defaultorrequiredanalyzeranalyzer.go
Update statusoptional callback signaturetools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/statusoptional/analyzer.go
InspectFieldscallback signature to remove unusedstackparameter
parse_pre_122.go
Add isTypeAlias function for pre-1.22 supporttools/vendor/k8s.io/gengo/v2/parser/parse_pre_122.go
isTypeAliasfunction for pre-1.22 Go versionsfalseas type aliases are not supported in older Goversions
8 files
doc.go
New preferredmarkers linter documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/preferredmarkers/doc.go
preferredmarkerslinterfunctionality
applied
doc.go
New minlength analyzer documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/minlength/doc.go
minlengthanalyzer functionalityproperties on maps, and fields on structs
constraints
doc.go
Add dependenttags analyzer documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/dependenttags/doc.go
dependenttagsanalyzer packageAllandAnydependency typesdoc.go
Add nonpointerstructs linter documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/nonpointerstructs/doc.go
nonpointerstructslinterdoc.go
Add noreferences linter documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/noreferences/doc.go
noreferenceslinterRef/Refsnaming convention overReference/ReferencesPreferAbbreviatedReferenceandNoReferencesdoc.go
Add defaults linter documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/defaults/doc.go
defaultslinteroptionalmarker andomitempty/omitzerotagsdoc.go
Add defaultorrequired analyzer documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/defaultorrequired/doc.go
defaultorrequiredanalyzerdoc.go
Fix naming conventions operation name typotools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/namingconventions/doc.go
Replaceoperation renamed toReplacement2 files
doc.go
Register new analyzers in linter registrytools/vendor/sigs.k8s.io/kube-api-linter/pkg/registration/doc.go
defaultorrequired,defaults,dependenttags,minlength,namingconventions,nonpointerstructs,noreferences,preferredmarkersinitializer.go
Disable statusoptional analyzer by defaulttools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/statusoptional/initializer.go
truetofalse2 files
namer.go
Fix GoSeperator typo with backward compatibilitytools/vendor/k8s.io/gengo/v2/namer/namer.go
GoSeperatortoGoSeparatorGoSeperatoralias pointing toGoSeparatorfor backwardcompatibility
GoSeparatorconstantimport_tracker.go
Update import_tracker to use GoSeparatortools/vendor/k8s.io/gengo/v2/generator/import_tracker.go
GoSeperatortoGoSeparatorGoSeparatorconstant13 files
initializer.go
Fix spelling errors in initializer commentstools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/initializer/initializer.go
inializertoinitializerintializestoinitializesinitializrtoinitializedconfig.go
Fix grammar in requiredfields configurationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/requiredfields/config.go
wonttowill notconfig.go
Fix spelling in optionalfields configurationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/optionalfields/config.go
acuratelytoaccuratelydoc.go
Fix spelling in optionalfields documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/optionalfields/doc.go
numebrtonumberdoc.go
Fix spelling in conditions documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/conditions/doc.go
KuberenetestoKubernetesdoc.go
Fix spelling in integers documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/integers/doc.go
anaylzertoanalyzerdoc.go
Fix spelling in nobools documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/nobools/doc.go
meaningultomeaningfulbase.go
Fix spelling in plugin documentationtools/vendor/sigs.k8s.io/kube-api-linter/pkg/plugin/base/base.go
anaylzerstoanalyzersinitializer.go
Fix spelling in nomaps initializertools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/nomaps/initializer.go
intializedtoinitializedconfig.go
Fix duplicate word in serialization configtools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/utils/serialization/config.go
the thetotheinitializer.go
Fix spelling in uniquemarkers initializertools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/uniquemarkers/initializer.go
intializedtoinitializedinitializer.go
Fix spelling in ssatags initializertools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/ssatags/initializer.go
intializedtoinitializedinitializer.go
Fix spelling in optionalfields initializertools/vendor/sigs.k8s.io/kube-api-linter/pkg/analysis/optionalfields/initializer.go
intializedtoinitialized8 files