--- /dev/null
+package describe // @describe pkgdecl "describe"
+
+// Tests of 'describe' query, -format=json.
+// See go.tools/guru/guru_test.go for explanation.
+// See describe-json.golden for expected query results.
+
+func main() {
+ var s struct{ x [3]int }
+ p := &s.x[0] // @describe desc-val-p "p"
+ _ = p
+
+ var i I = C(0)
+ if i == nil {
+ i = new(D)
+ }
+ print(i) // @describe desc-val-i "\\bi\\b"
+
+ go main() // @describe desc-stmt "go"
+}
+
+type I interface {
+ f()
+}
+
+type C int // @describe desc-type-C "C"
+type D struct{}
+
+func (c C) f() {} // @describe desc-param-c "\\bc\\b"
+func (d *D) f() {} // @describe desc-param-d "\\bd\\b"