@@ -171,7 +171,6 @@ func GetTargets(context *generator.Context, args *Args) []generator.Target {
171
171
}
172
172
173
173
var targets []generator.Target
174
- linter := newLinter ()
175
174
176
175
// First load other "input" packages. We do this as a single call because
177
176
// it is MUCH faster.
@@ -242,6 +241,12 @@ func GetTargets(context *generator.Context, args *Args) []generator.Target {
242
241
// Initialize all validator plugins exactly once.
243
242
validator := validators .InitGlobalValidator (context )
244
243
244
+ // Create a type discoverer for all types of all inputs.
245
+ td := NewTypeDiscoverer (validator , inputToPkg )
246
+
247
+ // Create a linter to collect errors as we go.
248
+ linter := newLinter ()
249
+
245
250
// Build a cache of type->callNode for every type we need.
246
251
for _ , input := range context .Inputs {
247
252
klog .V (2 ).InfoS ("processing" , "pkg" , input )
@@ -303,7 +308,6 @@ func GetTargets(context *generator.Context, args *Args) []generator.Target {
303
308
return cmp .Compare (a .Name .String (), b .Name .String ())
304
309
})
305
310
306
- td := NewTypeDiscoverer (validator , inputToPkg )
307
311
for _ , t := range rootTypes {
308
312
klog .V (4 ).InfoS ("pre-processing" , "type" , t )
309
313
if err := td .DiscoverType (t ); err != nil {
0 commit comments