github.com/v2fly/tools@v0.100.0/internal/lsp/testdata/implementation/implementation.go (about) 1 package implementation 2 3 import "github.com/v2fly/tools/internal/lsp/implementation/other" 4 5 type ImpP struct{} //@ImpP,implementations("ImpP", Laugher, OtherLaugher) 6 7 func (*ImpP) Laugh() { //@mark(LaughP, "Laugh"),implementations("Laugh", Laugh, OtherLaugh) 8 } 9 10 type ImpS struct{} //@ImpS,implementations("ImpS", Laugher, OtherLaugher) 11 12 func (ImpS) Laugh() { //@mark(LaughS, "Laugh"),implementations("Laugh", Laugh, OtherLaugh) 13 } 14 15 type Laugher interface { //@Laugher,implementations("Laugher", ImpP, OtherImpP, ImpS, OtherImpS) 16 Laugh() //@Laugh,implementations("Laugh", LaughP, OtherLaughP, LaughS, OtherLaughS) 17 } 18 19 type Foo struct { //@implementations("Foo", Joker) 20 other.Foo 21 } 22 23 type Joker interface { //@Joker 24 Joke() //@Joke,implementations("Joke", ImpJoker) 25 } 26 27 type cryer int //@implementations("cryer", Cryer) 28 29 func (cryer) Cry(other.CryType) {} //@mark(CryImpl, "Cry"),implementations("Cry", Cry) 30 31 type Empty interface{} //@implementations("Empty")