Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201028153306-37f0764111ff / internal / lsp / testdata / variadic / variadic.go.in
1 package variadic
2
3 func foo(i int, strs ...string) {}
4
5 func bar() []string { //@item(vFunc, "bar", "func() []string", "func")
6         return nil
7 }
8
9 func _() {
10         var (
11                 i  int        //@item(vInt, "i", "int", "var")
12                 s  string     //@item(vStr, "s", "string", "var")
13                 ss []string   //@item(vStrSlice, "ss", "[]string", "var")
14                 v interface{} //@item(vIntf, "v", "interface{}", "var")
15         )
16
17         foo()           //@rank(")", vInt, vStr),rank(")", vInt, vStrSlice)
18         foo(123, )      //@rank(")", vStr, vInt),rank(")", vStrSlice, vInt)
19         foo(123, "", )  //@rank(")", vStr, vInt),rank(")", vStr, vStrSlice)
20         foo(123, s, "") //@rank(", \"", vStr, vStrSlice)
21
22   // snippet will add the "..." for you
23         foo(123, ) //@snippet(")", vStrSlice, "ss...", "ss..."),snippet(")", vFunc, "bar()...", "bar()..."),snippet(")", vStr, "s", "s")
24
25         // don't add "..." for interface{}
26         foo(123, ) //@snippet(")", vIntf, "v", "v")
27 }
28
29 func qux(...func()) {}
30 func f()            {} //@item(vVarArg, "f", "func()", "func")
31
32 func _() {
33         qux(f) //@snippet(")", vVarArg, "f", "f")
34 }
35
36 func _() {
37         foo(0, []string{}...) //@complete(")")
38 }