| -------- @describe pkgdecl -------- | 
 | { | 
 | 	"desc": "definition of package \"describe-json\"", | 
 | 	"pos": "testdata/src/describe-json/main.go:1:9", | 
 | 	"detail": "package", | 
 | 	"package": { | 
 | 		"path": "describe-json", | 
 | 		"members": [ | 
 | 			{ | 
 | 				"name": "C", | 
 | 				"type": "int", | 
 | 				"pos": "testdata/src/describe-json/main.go:25:6", | 
 | 				"kind": "type", | 
 | 				"methods": [ | 
 | 					{ | 
 | 						"name": "method (C) f()", | 
 | 						"pos": "testdata/src/describe-json/main.go:28:12" | 
 | 					} | 
 | 				] | 
 | 			}, | 
 | 			{ | 
 | 				"name": "D", | 
 | 				"type": "struct{}", | 
 | 				"pos": "testdata/src/describe-json/main.go:26:6", | 
 | 				"kind": "type", | 
 | 				"methods": [ | 
 | 					{ | 
 | 						"name": "method (*D) f()", | 
 | 						"pos": "testdata/src/describe-json/main.go:29:13" | 
 | 					} | 
 | 				] | 
 | 			}, | 
 | 			{ | 
 | 				"name": "I", | 
 | 				"type": "interface{f()}", | 
 | 				"pos": "testdata/src/describe-json/main.go:21:6", | 
 | 				"kind": "type", | 
 | 				"methods": [ | 
 | 					{ | 
 | 						"name": "method (I) f()", | 
 | 						"pos": "testdata/src/describe-json/main.go:22:2" | 
 | 					} | 
 | 				] | 
 | 			}, | 
 | 			{ | 
 | 				"name": "main", | 
 | 				"type": "func()", | 
 | 				"pos": "testdata/src/describe-json/main.go:7:6", | 
 | 				"kind": "func" | 
 | 			} | 
 | 		] | 
 | 	} | 
 | } | 
 | -------- @describe desc-val-p -------- | 
 | { | 
 | 	"desc": "identifier", | 
 | 	"pos": "testdata/src/describe-json/main.go:9:2", | 
 | 	"detail": "value", | 
 | 	"value": { | 
 | 		"type": "*int", | 
 | 		"objpos": "testdata/src/describe-json/main.go:9:2" | 
 | 	} | 
 | } | 
 | -------- @describe desc-val-i -------- | 
 | { | 
 | 	"desc": "identifier", | 
 | 	"pos": "testdata/src/describe-json/main.go:16:8", | 
 | 	"detail": "value", | 
 | 	"value": { | 
 | 		"type": "I", | 
 | 		"objpos": "testdata/src/describe-json/main.go:12:6", | 
 | 		"typespos": [ | 
 | 			{ | 
 | 				"objpos": "testdata/src/describe-json/main.go:21:6", | 
 | 				"desc": "I" | 
 | 			} | 
 | 		] | 
 | 	} | 
 | } | 
 | -------- @describe desc-stmt -------- | 
 | { | 
 | 	"desc": "go statement", | 
 | 	"pos": "testdata/src/describe-json/main.go:18:2", | 
 | 	"detail": "unknown" | 
 | } | 
 | -------- @describe desc-type-C -------- | 
 | { | 
 | 	"desc": "definition of type C (size 8, align 8)", | 
 | 	"pos": "testdata/src/describe-json/main.go:25:6", | 
 | 	"detail": "type", | 
 | 	"type": { | 
 | 		"type": "C", | 
 | 		"namepos": "testdata/src/describe-json/main.go:25:6", | 
 | 		"namedef": "int", | 
 | 		"methods": [ | 
 | 			{ | 
 | 				"name": "method (C) f()", | 
 | 				"pos": "testdata/src/describe-json/main.go:28:12" | 
 | 			} | 
 | 		] | 
 | 	} | 
 | } | 
 | -------- @describe desc-param-c -------- | 
 | { | 
 | 	"desc": "identifier", | 
 | 	"pos": "testdata/src/describe-json/main.go:28:7", | 
 | 	"detail": "value", | 
 | 	"value": { | 
 | 		"type": "C", | 
 | 		"objpos": "testdata/src/describe-json/main.go:28:7", | 
 | 		"typespos": [ | 
 | 			{ | 
 | 				"objpos": "testdata/src/describe-json/main.go:25:6", | 
 | 				"desc": "C" | 
 | 			} | 
 | 		] | 
 | 	} | 
 | } | 
 | -------- @describe desc-param-d -------- | 
 | { | 
 | 	"desc": "identifier", | 
 | 	"pos": "testdata/src/describe-json/main.go:29:7", | 
 | 	"detail": "value", | 
 | 	"value": { | 
 | 		"type": "*D", | 
 | 		"objpos": "testdata/src/describe-json/main.go:29:7", | 
 | 		"typespos": [ | 
 | 			{ | 
 | 				"objpos": "testdata/src/describe-json/main.go:26:6", | 
 | 				"desc": "D" | 
 | 			} | 
 | 		] | 
 | 	} | 
 | } |