src

Go monorepo.
git clone git://code.dwrz.net/src
Log | Files | Refs

signatures.go (3003B)


      1 package knowledge
      2 
      3 import (
      4 	"go/token"
      5 	"go/types"
      6 )
      7 
      8 var Signatures = map[string]*types.Signature{
      9 	"(io.Seeker).Seek": types.NewSignatureType(nil, nil, nil,
     10 		types.NewTuple(
     11 			types.NewParam(token.NoPos, nil, "", types.Typ[types.Int64]),
     12 			types.NewParam(token.NoPos, nil, "", types.Typ[types.Int]),
     13 		),
     14 		types.NewTuple(
     15 			types.NewParam(token.NoPos, nil, "", types.Typ[types.Int64]),
     16 			types.NewParam(token.NoPos, nil, "", types.Universe.Lookup("error").Type()),
     17 		),
     18 		false,
     19 	),
     20 
     21 	"(io.Writer).Write": types.NewSignatureType(nil, nil, nil,
     22 		types.NewTuple(
     23 			types.NewParam(token.NoPos, nil, "", types.NewSlice(types.Typ[types.Byte])),
     24 		),
     25 		types.NewTuple(
     26 			types.NewParam(token.NoPos, nil, "", types.Typ[types.Int]),
     27 			types.NewParam(token.NoPos, nil, "", types.Universe.Lookup("error").Type()),
     28 		),
     29 		false,
     30 	),
     31 
     32 	"(io.StringWriter).WriteString": types.NewSignatureType(nil, nil, nil,
     33 		types.NewTuple(
     34 			types.NewParam(token.NoPos, nil, "", types.Typ[types.String]),
     35 		),
     36 		types.NewTuple(
     37 			types.NewParam(token.NoPos, nil, "", types.Typ[types.Int]),
     38 			types.NewParam(token.NoPos, nil, "", types.Universe.Lookup("error").Type()),
     39 		),
     40 		false,
     41 	),
     42 
     43 	"(encoding.TextMarshaler).MarshalText": types.NewSignatureType(nil, nil, nil,
     44 		types.NewTuple(),
     45 		types.NewTuple(
     46 			types.NewParam(token.NoPos, nil, "", types.NewSlice(types.Typ[types.Byte])),
     47 			types.NewParam(token.NoPos, nil, "", types.Universe.Lookup("error").Type()),
     48 		),
     49 		false,
     50 	),
     51 
     52 	"(encoding/json.Marshaler).MarshalJSON": types.NewSignatureType(nil, nil, nil,
     53 		types.NewTuple(),
     54 		types.NewTuple(
     55 			types.NewParam(token.NoPos, nil, "", types.NewSlice(types.Typ[types.Byte])),
     56 			types.NewParam(token.NoPos, nil, "", types.Universe.Lookup("error").Type()),
     57 		),
     58 		false,
     59 	),
     60 
     61 	"(fmt.Stringer).String": types.NewSignatureType(nil, nil, nil,
     62 		types.NewTuple(),
     63 		types.NewTuple(
     64 			types.NewParam(token.NoPos, nil, "", types.Typ[types.String]),
     65 		),
     66 		false,
     67 	),
     68 }
     69 
     70 var Interfaces = map[string]*types.Interface{
     71 	"fmt.Stringer": types.NewInterfaceType(
     72 		[]*types.Func{
     73 			types.NewFunc(token.NoPos, nil, "String", Signatures["(fmt.Stringer).String"]),
     74 		},
     75 		nil,
     76 	).Complete(),
     77 
     78 	"error": types.Universe.Lookup("error").Type().Underlying().(*types.Interface),
     79 
     80 	"io.Writer": types.NewInterfaceType(
     81 		[]*types.Func{
     82 			types.NewFunc(token.NoPos, nil, "Write", Signatures["(io.Writer).Write"]),
     83 		},
     84 		nil,
     85 	).Complete(),
     86 
     87 	"io.StringWriter": types.NewInterfaceType(
     88 		[]*types.Func{
     89 			types.NewFunc(token.NoPos, nil, "WriteString", Signatures["(io.StringWriter).WriteString"]),
     90 		},
     91 		nil,
     92 	).Complete(),
     93 
     94 	"encoding.TextMarshaler": types.NewInterfaceType(
     95 		[]*types.Func{
     96 			types.NewFunc(token.NoPos, nil, "MarshalText", Signatures["(encoding.TextMarshaler).MarshalText"]),
     97 		},
     98 		nil,
     99 	).Complete(),
    100 
    101 	"encoding/json.Marshaler": types.NewInterfaceType(
    102 		[]*types.Func{
    103 			types.NewFunc(token.NoPos, nil, "MarshalJSON", Signatures["(encoding/json.Marshaler).MarshalJSON"]),
    104 		},
    105 		nil,
    106 	).Complete(),
    107 }