github.com/v2fly/tools@v0.100.0/internal/lsp/testdata/godef/b/b.go (about) 1 package b 2 3 import ( 4 myFoo "github.com/v2fly/tools/internal/lsp/foo" //@mark(myFoo, "myFoo"),godef("myFoo", myFoo) 5 "github.com/v2fly/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 aAlias = a.A //@mark(aAlias, "aAlias") 26 27 type S1 struct { //@S1 28 F1 int //@mark(S1F1, "F1") 29 S2 //@godef("S2", S2),mark(S1S2, "S2") 30 a.A //@godef("A", AString) 31 aAlias //@godef("a", aAlias) 32 } 33 34 type S2 struct { //@S2 35 F1 string //@mark(S2F1, "F1") 36 F2 int //@mark(S2F2, "F2") 37 *a.A //@godef("A", AString),godef("a",AImport) 38 } 39 40 type S3 struct { 41 F1 struct { 42 a.A //@godef("A", AString) 43 } 44 } 45 46 func Bar() { 47 a.AStuff() //@godef("AStuff", AStuff) 48 var x S1 //@godef("S1", S1) 49 _ = x.S2 //@godef("S2", S1S2) 50 _ = x.F1 //@godef("F1", S1F1) 51 _ = x.F2 //@godef("F2", S2F2) 52 _ = x.S2.F1 //@godef("F1", S2F1) 53 54 var _ *myFoo.StructFoo //@godef("myFoo", myFoo) 55 } 56 57 const X = 0 //@mark(bX, "X"),godef("X", bX)