type refGraph … // refGraphForReachableTypes returns a refGraph that contains all reachable types from // the root clientgen types of the provided packages. func refGraphForReachableTypes(universe types.Universe, pkgTypes map[string]*types.Package, initialTypes map[types.Name]string) refGraph { … } // applyConfigForType find the type used in the generate apply configurations for a field. // This may either be an existing type or one of the other generated applyConfig types. func (t refGraph) applyConfigForType(field *types.Type) *types.Type { … } func (t refGraph) isApplyConfig(field *types.Type) bool { … } // genclientTags returns the genclient Tags for the given type. func genclientTags(t *types.Type) util.Tags { … } // findReachableTypes finds all types transitively reachable from a given root type, including // the root type itself. func findReachableTypes(t *types.Type, referencedTypes map[types.Name]*types.Type) { … } var excludeTypes … // requiresApplyConfiguration returns true if a type applyConfig should be generated for the given type. // types applyConfig are only generated for struct types that contain fields with json tags. func requiresApplyConfiguration(t *types.Type) bool { … }