func mkRegistry()

in processor/processor.go [496:528]


func mkRegistry(customMarkers []config.Marker) (*markers.Registry, error) {
	registry := &markers.Registry{}
	if err := registry.Define(objectRootMarker, markers.DescribesType, true); err != nil {
		return nil, err
	}

	for _, marker := range crdmarkers.AllDefinitions {
		if err := registry.Register(marker.Definition); err != nil {
			return nil, err
		}
	}

	for _, marker := range customMarkers {
		t := markers.DescribesField
		switch marker.Target {
		case config.TargetTypePackage:
			t = markers.DescribesPackage
		case config.TargetTypeType:
			t = markers.DescribesType
		case config.TargetTypeField:
			t = markers.DescribesField
		default:
			zap.S().Warnf("Skipping custom marker %s with unknown target type %s", marker.Name, marker.Target)
			continue
		}

		if err := registry.Define(marker.Name, t, struct{}{}); err != nil {
			return nil, fmt.Errorf("failed to define custom marker %s: %w", marker.Name, err)
		}
	}

	return registry, nil
}