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)