--- /dev/null
+package main
+
+// Tests of 'implements' query applied to methods, -output=json.
+// See go.tools/guru/guru_test.go for explanation.
+// See implements-methods.golden for expected query results.
+
+import _ "lib"
+
+func main() {
+}
+
+type F interface {
+ f() // @implements F.f "f"
+}
+
+type FG interface {
+ f() // @implements FG.f "f"
+ g() []int // @implements FG.g "g"
+}
+
+type C int
+type D struct{}
+
+func (c *C) f() {} // @implements *C.f "f"
+func (d D) f() {} // @implements D.f "f"
+
+func (d *D) g() []int { return nil } // @implements *D.g "g"
+
+type sorter []int
+
+func (sorter) Len() int { return 0 } // @implements Len "Len"
+func (sorter) Less(i, j int) bool { return false }
+func (sorter) Swap(i, j int) {}
+
+type I interface {
+ Method(*int) *int // @implements I.Method "Method"
+}