arg.go raw
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.Unmarshal.v": 1,
32 "len.v": 0,
33 "make.size[0]": 1,
34 "make.size[1]": 2,
35 "make.t": 0,
36 "net/url.Parse.rawurl": 0,
37 "os.OpenFile.flag": 1,
38 "os/exec.Command.name": 0,
39 "os/signal.Notify.c": 0,
40 "regexp.Compile.expr": 0,
41 "runtime.SetFinalizer.finalizer": 1,
42 "runtime.SetFinalizer.obj": 0,
43 "sort.Sort.data": 0,
44 "strconv.AppendFloat.bitSize": 4,
45 "strconv.AppendFloat.fmt": 2,
46 "strconv.AppendInt.base": 2,
47 "strconv.AppendUint.base": 2,
48 "strconv.FormatComplex.bitSize": 3,
49 "strconv.FormatComplex.fmt": 1,
50 "strconv.FormatFloat.bitSize": 3,
51 "strconv.FormatFloat.fmt": 1,
52 "strconv.FormatInt.base": 1,
53 "strconv.FormatUint.base": 1,
54 "strconv.ParseComplex.bitSize": 1,
55 "strconv.ParseFloat.bitSize": 1,
56 "strconv.ParseInt.base": 1,
57 "strconv.ParseInt.bitSize": 2,
58 "strconv.ParseUint.base": 1,
59 "strconv.ParseUint.bitSize": 2,
60 "time.Parse.layout": 0,
61 "time.Sleep.d": 0,
62 "xml.Marshal.v": 0,
63 "xml.Unmarshal.v": 1,
64 }
65
66 // Arg turns the name of an argument into an argument index.
67 // Indices are zero-based and method receivers do not count as arguments.
68 //
69 // Arg refers to a manually compiled mapping (see the Args variable.)
70 // Modify the knowledge package to add new arguments.
71 func Arg(name string) int {
72 n, ok := Args[name]
73 if !ok {
74 panic("unknown argument " + name)
75 }
76 return n
77 }
78