blob: b4a98cc4929cd660fc43dd3d1f4158abd48e2782 [file] [log] [blame]
package implementation
import "golang.org/x/tools/internal/lsp/implementation/other"
type ImpP struct{} //@ImpP
func (*ImpP) Laugh() { //@mark(LaughP, "Laugh")
}
type ImpS struct{} //@ImpS
func (ImpS) Laugh() { //@mark(LaughS, "Laugh")
}
type ImpI interface { //@ImpI
Laugh() //@mark(LaughI, "Laugh"),implementations("augh", LaughP),implementations("augh", OtherLaughP),implementations("augh", LaughS),implementations("augh", LaughL),implementations("augh", OtherLaughI),implementations("augh", OtherLaughS)
}
type Laugher interface { //@Laugher,implementations("augher", ImpP),implementations("augher", OtherImpP),implementations("augher", ImpI),implementations("augher", ImpS),implementations("augher", OtherImpI),implementations("augher", OtherImpS),
Laugh() //@mark(LaughL, "Laugh"),implementations("augh", LaughP),implementations("augh", OtherLaughP),implementations("augh", LaughI),implementations("augh", LaughS),implementations("augh", OtherLaughI),implementations("augh", OtherLaughS)
}
type Foo struct {
other.Foo
}
type U interface {
U() //TODO: fix flaky @implementations("U", ImpU)
}
type cryer int
func (cryer) Cry(other.CryType) {} //@mark(CryImpl, "Cry")