src

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

arg.go (3273B)


      1 package knowledge
      2 
      3 var Args = map[string]int{
      4 	"(*sync.Pool).Put.x":                     0,
      5 	"(*text/template.Template).Parse.text":   0,
      6 	"(io.Seeker).Seek.offset":                0,
      7 	"(time.Time).Sub.u":                      0,
      8 	"append.elems":                           1,
      9 	"append.slice":                           0,
     10 	"bytes.Equal.a":                          0,
     11 	"bytes.Equal.b":                          1,
     12 	"encoding/ascii85.Encode.dst":            0,
     13 	"encoding/ascii85.Encode.src":            1,
     14 	"(*encoding/base32.Encoding).Encode.dst": 0,
     15 	"(*encoding/base32.Encoding).Encode.src": 1,
     16 	"(*encoding/base64.Encoding).Encode.dst": 0,
     17 	"(*encoding/base64.Encoding).Encode.src": 1,
     18 	"encoding/binary.Write.data":             2,
     19 	"encoding/hex.Encode.dst":                0,
     20 	"encoding/hex.Encode.src":                1,
     21 	"(*encoding/json.Decoder).Decode.v":      0,
     22 	"(*encoding/json.Encoder).Encode.v":      0,
     23 	"(*encoding/xml.Decoder).Decode.v":       0,
     24 	"(*encoding/xml.Encoder).Encode.v":       0,
     25 	"errors.New.text":                        0,
     26 	"fmt.Fprintf.format":                     1,
     27 	"fmt.Printf.format":                      0,
     28 	"fmt.Sprintf.a[0]":                       1,
     29 	"fmt.Sprintf.format":                     0,
     30 	"json.Marshal.v":                         0,
     31 	"json.MarshalIndent.v":                   0,
     32 	"json.Unmarshal.v":                       1,
     33 	"len.v":                                  0,
     34 	"make.size[0]":                           1,
     35 	"make.size[1]":                           2,
     36 	"make.t":                                 0,
     37 	"net/url.Parse.rawurl":                   0,
     38 	"os.OpenFile.flag":                       1,
     39 	"os/exec.Command.name":                   0,
     40 	"os/signal.Notify.c":                     0,
     41 	"regexp.Compile.expr":                    0,
     42 	"runtime.SetFinalizer.finalizer":         1,
     43 	"runtime.SetFinalizer.obj":               0,
     44 	"sort.Sort.data":                         0,
     45 	"strconv.AppendFloat.bitSize":            4,
     46 	"strconv.AppendFloat.fmt":                2,
     47 	"strconv.AppendInt.base":                 2,
     48 	"strconv.AppendUint.base":                2,
     49 	"strconv.FormatComplex.bitSize":          3,
     50 	"strconv.FormatComplex.fmt":              1,
     51 	"strconv.FormatFloat.bitSize":            3,
     52 	"strconv.FormatFloat.fmt":                1,
     53 	"strconv.FormatInt.base":                 1,
     54 	"strconv.FormatUint.base":                1,
     55 	"strconv.ParseComplex.bitSize":           1,
     56 	"strconv.ParseFloat.bitSize":             1,
     57 	"strconv.ParseInt.base":                  1,
     58 	"strconv.ParseInt.bitSize":               2,
     59 	"strconv.ParseUint.base":                 1,
     60 	"strconv.ParseUint.bitSize":              2,
     61 	"time.Parse.layout":                      0,
     62 	"time.Sleep.d":                           0,
     63 	"xml.Marshal.v":                          0,
     64 	"xml.MarshalIndent.v":                    0,
     65 	"xml.Unmarshal.v":                        1,
     66 }
     67 
     68 // Arg turns the name of an argument into an argument index.
     69 // Indices are zero-based and method receivers do not count as arguments.
     70 //
     71 // Arg refers to a manually compiled mapping (see the Args variable.)
     72 // Modify the knowledge package to add new arguments.
     73 func Arg(name string) int {
     74 	n, ok := Args[name]
     75 	if !ok {
     76 		panic("unknown argument " + name)
     77 	}
     78 	return n
     79 }