type go.pact.im/x/plumb/internal/discover.Provider

92 uses

	go.pact.im/x/plumb/internal/discover (current package)
		discover.go#L101: func Analyze(pkgs []*Package, destPath, outputBase string) ([]*Provider, *diag.Error) {
		discover.go#L102: 	var providers []*Provider
		discover.go#L141: func scanFile(pkg *Package, file *ast.File) ([]*Provider, *diag.Error) {
		discover.go#L142: 	var out []*Provider
		discover.go#L145: 		var ps []*Provider
		discover.go#L258: func scanFunc(pkg *Package, fd *ast.FuncDecl) ([]*Provider, *diag.Error) {
		discover.go#L290: 	var out []*Provider
		discover.go#L292: 		p := &Provider{
		discover.go#L339: func scanGenDecl(pkg *Package, gd *ast.GenDecl) ([]*Provider, *diag.Error) {
		discover.go#L361: 	var out []*Provider
		discover.go#L381: func scanValueSpec(pkg *Package, gd *ast.GenDecl, s *ast.ValueSpec) ([]*Provider, *diag.Error) {
		discover.go#L395: func scanVar(pkg *Package, s *ast.ValueSpec, names []string) ([]*Provider, *diag.Error) {
		discover.go#L412: 	var out []*Provider
		discover.go#L424: 			out = append(out, &Provider{
		discover.go#L437: func scanConversion(pkg *Package, s *ast.ValueSpec, ident *ast.Ident, names []string) ([]*Provider, *diag.Error) {
		discover.go#L488: 	var out []*Provider
		discover.go#L490: 		out = append(out, &Provider{
		discover.go#L503: func scanConst(pkg *Package, s *ast.ValueSpec, names []string) ([]*Provider, *diag.Error) {
		discover.go#L507: 	var out []*Provider
		discover.go#L522: 			out = append(out, &Provider{
		discover.go#L535: func scanTypeSpec(pkg *Package, gd *ast.GenDecl, s *ast.TypeSpec) ([]*Provider, *diag.Error) {
		discover.go#L536: 	var out []*Provider
		discover.go#L572: 		var members []*Provider
		discover.go#L622: func structProviders(pkg *Package, s *ast.TypeSpec, tn *types.TypeName, names []string) ([]*Provider, *diag.Error) {
		discover.go#L637: 	var out []*Provider
		discover.go#L639: 		out = append(out, &Provider{
		discover.go#L656: func scanStructFields(pkg *Package, st *ast.StructType, owner types.Type) ([]*Provider, *diag.Error) {
		discover.go#L657: 	var out []*Provider
		discover.go#L690: 				out = append(out, &Provider{
		discover.go#L710: func scanInterfaceMethods(pkg *Package, it *ast.InterfaceType, owner types.Type) ([]*Provider, *diag.Error) {
		discover.go#L711: 	var out []*Provider
		discover.go#L736: 			out = append(out, &Provider{
		provider.go#L70: type Provider struct {
		provider.go#L91: func (p *Provider) Generic() bool {

	go.pact.im/x/plumb/internal/emit
		report.go#L69: func kindLabel(p *discover.Provider) string {

	go.pact.im/x/plumb/internal/gen
		gen.go#L65: 	bySet := map[string][]*discover.Provider{}

	go.pact.im/x/plumb/internal/solve
		checks.go#L98: func crossBoundarySymbol(p *discover.Provider) types.Object {
		instance.go#L50: 	Prov    *discover.Provider // the source provider this instantiates
		instance.go#L87: func instantiate(p *discover.Provider, ctxt *types.Context, targs []types.Type) (in *Instance, err *diag.Error, miss error) {
		instance.go#L156: func methodSignature(p *discover.Provider, ctxt *types.Context, targs []types.Type) (recvType types.Type, sig *types.Signature, _ error) {
		instance.go#L185: func fieldTypes(p *discover.Provider, ctxt *types.Context, targs []types.Type) (types.Type, types.Type, error) {
		instance.go#L211: func structFields(p *discover.Provider, ctxt *types.Context, targs []types.Type) (declared types.Type, fields []*types.Var, _ error) {
		instance.go#L245: func classifyResults(p *discover.Provider, in *Instance, sig *types.Signature) *diag.Error {
		joint.go#L70: func (s *solver) jointClusters(p *discover.Provider) []map[*types.TypeParam]types.Type {
		joint.go#L162: func (s *solver) jointClusterDone(p *discover.Provider, bind map[*types.TypeParam]types.Type) bool {
		joint.go#L167: func (s *solver) markJointClusterDone(p *discover.Provider, bind map[*types.TypeParam]types.Type) {
		joint.go#L183: func jointBindKey(p *discover.Provider, bind map[*types.TypeParam]types.Type) *types.Tuple {
		lift.go#L18: func (s *solver) liftAll(p *discover.Provider) []types.Type {
		lift.go#L37: func (s *solver) setLiftedConstraints(p *discover.Provider, targs []types.Type, fresh []int) {
		lift.go#L54: func (s *solver) liftOne(orig *types.TypeParam, p *discover.Provider) *types.TypeParam {
		revision.go#L37: func (s *solver) applyCommitment(p *discover.Provider, bind map[*types.TypeParam]types.Type) map[*types.TypeParam]types.Type {
		revision.go#L56: func (s *solver) reviseOrSplit(p *discover.Provider, bind map[*types.TypeParam]types.Type) *diag.Error {
		revision.go#L107: func (s *solver) unionRefused(p *discover.Provider, union map[*types.TypeParam]types.Type) bool {
		revision.go#L112: func (s *solver) markUnionRefused(p *discover.Provider, union map[*types.TypeParam]types.Type) {
		solve.go#L153: 	provs      []*discover.Provider
		solve.go#L160: 	anchors  []*discover.Provider
		solve.go#L161: 	resGen   []*discover.Provider
		solve.go#L167: 	done         map[*discover.Provider]*gotypes.Set[*types.Tuple] // provider → set of instantiated type-arg lists (keyed by ListKey)
		solve.go#L168: 	jointDone    map[*discover.Provider]*gotypes.Set[*types.Tuple] // provider → set of joint-cluster pinnings (keyed by jointBindKey)
		solve.go#L169: 	nearMissDone map[*discover.Provider]*gotypes.Set[*types.Tuple] // provider → set of bindings that failed to instantiate (constraint near-miss)
		solve.go#L170: 	skel         map[*discover.Provider]*Instance                  // provider → memoized own-params skeleton
		solve.go#L171: 	resGenUsed   map[*discover.Provider]bool
		solve.go#L172: 	nearMiss     map[*discover.Provider]error // template → the type-checker error a structural match failed to instantiate with
		solve.go#L184: 	commitments   map[*discover.Provider][]map[*types.TypeParam]types.Type
		solve.go#L185: 	refusedUnions map[*discover.Provider]*gotypes.Set[*types.Tuple]
		solve.go#L205: func Set(name string, provs []*discover.Provider, destPath, outputBase string, dest *DestInfo, ctxt *types.Context) (*Plan, *diag.Error) {
		solve.go#L207: 	provs = slices.SortedStableFunc(slices.Values(provs), func(a, b *discover.Provider) int {
		solve.go#L214: 	commitments := map[*discover.Provider][]map[*types.TypeParam]types.Type{}
		solve.go#L215: 	refused := map[*discover.Provider]*gotypes.Set[*types.Tuple]{}
		solve.go#L224: 			done:          map[*discover.Provider]*gotypes.Set[*types.Tuple]{},
		solve.go#L225: 			jointDone:     map[*discover.Provider]*gotypes.Set[*types.Tuple]{},
		solve.go#L226: 			nearMissDone:  map[*discover.Provider]*gotypes.Set[*types.Tuple]{},
		solve.go#L227: 			skel:          map[*discover.Provider]*Instance{},
		solve.go#L228: 			resGenUsed:    map[*discover.Provider]bool{},
		solve.go#L229: 			nearMiss:      map[*discover.Provider]error{},
		solve.go#L459: func (s *solver) skeleton(p *discover.Provider) *Instance {
		solve.go#L486: func (s *solver) bindInstantiates(p *discover.Provider, bind map[*types.TypeParam]types.Type) bool {
		solve.go#L515: func (s *solver) instantiateTemplate(p *discover.Provider, bind map[*types.TypeParam]types.Type) (bool, *diag.Error) {
		solve.go#L578: func (s *solver) nearMissDoneAt(p *discover.Provider, bind map[*types.TypeParam]types.Type) bool {
		solve.go#L583: func (s *solver) markNearMissDone(p *discover.Provider, bind map[*types.TypeParam]types.Type) {
		solve.go#L596: func (s *solver) instanceDone(p *discover.Provider, targs []types.Type) bool {
		solve.go#L601: func (s *solver) markInstanceDone(p *discover.Provider, targs []types.Type) {
		solve.go#L674: func (s *solver) shadowedDemand(p *discover.Provider) (types.Type, *Instance, types.Type) {
		solve.go#L701: func (s *solver) templateServes(p *discover.Provider, skel *Instance, params map[*types.TypeParam]bool, d types.Type) bool {
		solve.go#L758: 	prov *discover.Provider
		solve.go#L797: func (s *solver) viableProducers(d types.Type) (ps []*discover.Provider, matched bool) {
		solve.go#L816: func ambiguousTemplatesFor(ps []*discover.Provider, d types.Type) *diag.Error {
		solve.go#L817: 	slices.SortFunc(ps, func(a, b *discover.Provider) int { return diag.CmpPos(a.Pos, b.Pos) })
		solve.go#L833: func ownParams(p *discover.Provider) []types.Type {
		solve.go#L844: func paramSet(p *discover.Provider) map[*types.TypeParam]bool {
		solve.go#L857: func (s *solver) coversPinnable(p *discover.Provider, bind map[*types.TypeParam]types.Type) bool {
		solve.go#L884: 	return slices.MinFunc(s.provs, func(a, b *discover.Provider) int {