code: func FindQueryMethods(sqlPackages sqlPackage, sql *types.Package, ssa *ssa.Program) []*QueryMethod {
  	methods := make([]*QueryMethod, 0)
  	scope := sql.Scope()
  	for _, name := range scope.Names() {
  		o := scope.Lookup(name)
  		if !o.Exported() {
  			continue
  		}
  		if _, ok := o.(*types.TypeName); !ok {
  			continue
  		}
  		n := o.Type().(*types.Named)
  		for i := 0; i < n.NumMethods(); i++ {
  			m := n.Method(i)
  			if !m.Exported() {
  				continue
  			}
  			s := m.Type().(*types.Signature)
  			if num, ok := FuncHasQuery(sqlPackages, s); ok {
  				methods = append(methods, &QueryMethod{
  					Func:     m,
  					SSA:      ssa.FuncValue(m),
  					ArgCount: s.Params().Len(),
  					Param:    num,
  				})
  			}
  		}
  	}
  	return methods
  }
docs: // FindQueryMethods locates all methods in the given package (assumed to be
  // package database/sql) with a string parameter named "query".