Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201105173854-bc9fc8d8c4bc / internal / lsp / testdata / godef / b / b.go
1 package b
2
3 import (
4         myFoo "golang.org/x/tools/internal/lsp/foo" //@mark(myFoo, "myFoo"),godef("myFoo", myFoo)
5         "golang.org/x/tools/internal/lsp/godef/a"   //@mark(AImport, re"\".*\"")
6 )
7
8 type Embed struct {
9         *a.A
10         a.I
11         a.S
12 }
13
14 func _() {
15         e := Embed{}
16         e.Hi()      //@hover("Hi", AHi)
17         e.B()       //@hover("B", AB)
18         e.Field     //@hover("Field", AField)
19         e.Field2    //@hover("Field2", AField2)
20         e.Hello()   //@hover("Hello", AHello)
21         e.Hey()     //@hover("Hey", AHey)
22         e.Goodbye() //@hover("Goodbye", AGoodbye)
23 }
24
25 type S1 struct { //@S1
26         F1  int //@mark(S1F1, "F1")
27         S2      //@godef("S2", S2),mark(S1S2, "S2")
28         a.A     //@godef("A", AString)
29 }
30
31 type S2 struct { //@S2
32         F1   string //@mark(S2F1, "F1")
33         F2   int    //@mark(S2F2, "F2")
34         *a.A        //@godef("A", AString),godef("a",AImport)
35 }
36
37 type S3 struct {
38         F1 struct {
39                 a.A //@godef("A", AString)
40         }
41 }
42
43 func Bar() {
44         a.AStuff()  //@godef("AStuff", AStuff)
45         var x S1    //@godef("S1", S1)
46         _ = x.S2    //@godef("S2", S1S2)
47         _ = x.F1    //@godef("F1", S1F1)
48         _ = x.F2    //@godef("F2", S2F2)
49         _ = x.S2.F1 //@godef("F1", S2F1)
50
51         var _ *myFoo.StructFoo //@godef("myFoo", myFoo)
52 }
53
54 const X = 0 //@mark(bX, "X"),godef("X", bX)