blob: 23d908f1f8d5be40024ff5efd674528ba4a79ebd [file] [log] [blame]
package b
import (
myFoo "golang.org/x/tools/internal/lsp/foo" //@mark(myFoo, "myFoo"),godef("myFoo", myFoo)
"golang.org/x/tools/internal/lsp/godef/a" //@mark(AImport, re"\".*\"")
)
type Embed struct {
*a.A
a.I
a.S
}
func _() {
e := Embed{}
e.Hi() //@hover("Hi", AHi)
e.B() //@hover("B", AB)
e.Field //@hover("Field", AField)
e.Field2 //@hover("Field2", AField2)
e.Hello() //@hover("Hello", AHello)
e.Hey() //@hover("Hey", AHey)
e.Goodbye() //@hover("Goodbye", AGoodbye)
}
type aAlias = a.A //@mark(aAlias, "aAlias")
type S1 struct { //@S1
F1 int //@mark(S1F1, "F1")
S2 //@godef("S2", S2),mark(S1S2, "S2")
a.A //@godef("A", AString)
aAlias //@godef("a", aAlias)
}
type S2 struct { //@S2
F1 string //@mark(S2F1, "F1")
F2 int //@mark(S2F2, "F2")
*a.A //@godef("A", AString),godef("a",AImport)
}
type S3 struct {
F1 struct {
a.A //@godef("A", AString)
}
}
func Bar() {
a.AStuff() //@godef("AStuff", AStuff)
var x S1 //@godef("S1", S1)
_ = x.S2 //@godef("S2", S1S2)
_ = x.F1 //@godef("F1", S1F1)
_ = x.F2 //@godef("F2", S2F2)
_ = x.S2.F1 //@godef("F1", S2F1)
var _ *myFoo.StructFoo //@godef("myFoo", myFoo)
}
const X = 0 //@mark(bX, "X"),godef("X", bX)