type go/types.Signature
92 uses
go/types (current package)
assignments.go#L75: if sig, _ := under(x.typ).(*Signature); sig != nil && sig.TypeParams().Len() > 0 {
builtins.go#L877: func makeSig(res Type, args ...Type) *Signature {
builtins.go#L888: return &Signature{params: params, results: result}
call.go#L33: sig := x.typ.(*Signature)
call.go#L63: func (check *Checker) instantiateSignature(pos token.Pos, typ *Signature, targs []Type, xlist []ast.Expr) (res *Signature) {
call.go#L76: inst := check.instance(pos, typ, targs, check.bestContext(nil)).(*Signature)
call.go#L174: sig, _ := coreType(x.typ).(*Signature)
call.go#L288: func (check *Checker) arguments(call *ast.CallExpr, sig *Signature, targs []Type, args []*operand, xlist []ast.Expr) (rsig *Signature) {
call.go#L514: x.typ = x.typ.(*Signature).results.vars[0].typ
call.go#L604: sig := m.typ.(*Signature)
call.go#L632: x.typ = &Signature{
call.go#L706: sig := *obj.typ.(*Signature)
check.go#L44: sig *Signature // function signature if inside a function; nil otherwise
check.go#L461: func (check *Checker) recordBuiltinType(f ast.Expr, sig *Signature) {
decl.go#L784: sig := new(Signature)
expr.go#L719: case *Pointer, *Signature, *Slice, *Map, *Chan:
expr.go#L857: case *Slice, *Signature, *Map:
expr.go#L879: case *Signature:
expr.go#L1231: case *Signature:
expr.go#L1295: if sig, ok := check.typ(e.Type).(*Signature); ok {
index.go#L38: if sig, _ := under(x.typ).(*Signature); sig != nil && sig.TypeParams().Len() > 0 {
infer.go#L409: case *Signature:
infer.go#L740: case *Signature:
instantiate.go#L48: case *Signature:
instantiate.go#L87: case *Signature:
instantiate.go#L95: sig := check.subst(pos, orig, makeSubstMap(tparams.list(), targs), ctxt).(*Signature)
interface.go#L61: if sig := m.typ.(*Signature); sig.recv == nil {
interface.go#L182: sig, _ := typ.(*Signature)
lookup.go#L428: WriteSignature(buf, f.typ.(*Signature), qf)
mono.go#L244: case *Signature:
named.go#L157: origSig := origm.typ.(*Signature)
named.go#L178: sig = check.subst(origm.pos, origSig, smap, ctxt).(*Signature)
object.go#L327: func NewFunc(pos token.Pos, pkg *Package, name string, sig *Signature) *Func {
object.go#L347: func (obj *Func) Scope() *Scope { return obj.typ.(*Signature).scope }
object.go#L355: if sig, _ := obj.typ.(*Signature); sig != nil && sig.recv != nil {
object.go#L431: WriteSignature(buf, typ.(*Signature), qf)
object.go#L532: sig := f.typ.(*Signature)
predicates.go#L157: case *Slice, *Pointer, *Signature, *Map, *Chan:
predicates.go#L250: case *Signature:
predicates.go#L251: y, _ := y.(*Signature)
selection.go#L65: sig := *s.obj.(*Func).typ.(*Signature)
selection.go#L76: sig := *s.obj.(*Func).typ.(*Signature)
selection.go#L140: WriteSignature(&buf, T.(*Signature), qf)
signature.go#L17: type Signature struct {
signature.go#L37: func NewSignature(recv *Var, params, results *Tuple, variadic bool) *Signature {
signature.go#L46: func NewSignatureType(recv *Var, recvTypeParams, typeParams []*TypeParam, params, results *Tuple, variadic bool) *Signature {
signature.go#L56: sig := &Signature{recv: recv, params: params, results: results, variadic: variadic}
signature.go#L78: func (s *Signature) Recv() *Var { return s.recv }
signature.go#L81: func (s *Signature) TypeParams() *TypeParamList { return s.tparams }
signature.go#L84: func (s *Signature) RecvTypeParams() *TypeParamList { return s.rparams }
signature.go#L87: func (s *Signature) Params() *Tuple { return s.params }
signature.go#L90: func (s *Signature) Results() *Tuple { return s.results }
signature.go#L93: func (s *Signature) Variadic() bool { return s.variadic }
signature.go#L95: func (t *Signature) Underlying() Type { return t }
signature.go#L96: func (t *Signature) String() string { return TypeString(t, nil) }
signature.go#L102: func (check *Checker) funcType(sig *Signature, recvPar *ast.FieldList, ftyp *ast.FuncType) {
stmt.go#L16: func (check *Checker) funcBody(decl *declInfo, name string, sig *Signature, body *ast.BlockStmt, iota constant.Value) {
subst.go#L119: case *Signature:
subst.go#L138: return &Signature{
subst.go#L406: sig := method.Type().(*Signature)
typestring.go#L72: func WriteSignature(buf *bytes.Buffer, sig *Signature, qf Qualifier) {
typestring.go#L183: case *Signature:
typestring.go#L238: w.signature(m.typ.(*Signature))
typestring.go#L331: w.signature(m.typ.(*Signature))
typestring.go#L439: func (w *typeWriter) signature(sig *Signature) {
typexpr.go#L324: typ := new(Signature)
unify.go#L462: case *Signature:
unify.go#L468: if y, ok := y.(*Signature); ok {
golang.org/x/exp/apidiff
apidiff.go#L205: sig, ok := t.(*types.Signature)
compatibility.go#L347: return method.Type().(*types.Signature).Recv().Type()
correspondence.go#L60: case *types.Signature:
correspondence.go#L61: if new, ok := new.(*types.Signature); ok {
messageset.go#L59: sig := f.Type().(*types.Signature)
golang.org/x/tools/internal/gcimporter
bexport.go#L231: sig := obj.Type().(*types.Signature)
bexport.go#L363: case *types.Signature:
bexport.go#L413: sig := m.Type().(*types.Signature)
bexport.go#L477: sig := m.Type().(*types.Signature)
bimport.go#L528: t := new(types.Signature)
iexport.go#L448: sig, _ := obj.Type().(*types.Signature)
iexport.go#L540: sig, _ := m.Type().(*types.Signature)
iexport.go#L765: case *types.Signature:
iexport.go#L811: sig, _ := m.Type().(*types.Signature)
iexport.go#L838: func (w *exportWriter) signature(sig *types.Signature) {
iimport.go#L904: func (r *importReader) signature(recv *types.Var, rparams []*typeparams.TypeParam, tparams []*typeparams.TypeParam) *types.Signature {
ureader_yes.go#L448: func (r *reader) signature(recv *types.Var, rtparams, tparams []*types.TypeParam) *types.Signature {
ureader_yes.go#L570: sig := fn.Type().(*types.Signature)
golang.org/x/tools/internal/typeparams
common.go#L88: recv := fn.Type().(*types.Signature).Recv()
typeparams_go118.go#L54: func NewSignatureType(recv *types.Var, recvTypeParams, typeParams []*TypeParam, params, results *types.Tuple, variadic bool) *types.Signature {
typeparams_go118.go#L59: func ForSignature(sig *types.Signature) *TypeParamList {
typeparams_go118.go#L64: func RecvTypeParams(sig *types.Signature) *TypeParamList {