LEFT | RIGHT |
1 -------- @describe pkgdecl -------- | 1 -------- @describe pkgdecl -------- |
2 { | 2 { |
3 » "mode": "describepkg", | 3 » "mode": "describe", |
4 » "describepkg": { | 4 » "describe": { |
5 "desc": "definition of package \"main\"", | 5 "desc": "definition of package \"main\"", |
6 "pos": "testdata/src/main/describe-json.go:1:9", | 6 "pos": "testdata/src/main/describe-json.go:1:9", |
7 » » "members": [ | 7 » » "detail": "package", |
8 » » » { | 8 » » "package": { |
9 » » » » "name": "C", | 9 » » » "path": "main", |
10 » » » » "type": "int", | 10 » » » "members": [ |
11 » » » » "pos": "testdata/src/main/describe-json.go:26:6"
, | 11 » » » » { |
12 » » » » "kind": "type", | 12 » » » » » "name": "C", |
13 » » » » "methods": [ | 13 » » » » » "type": "int", |
14 » » » » » { | 14 » » » » » "pos": "testdata/src/main/describe-json.
go:26:6", |
15 » » » » » » "name": "method (describe.C) f()
", | 15 » » » » » "kind": "type", |
16 » » » » » » "pos": "testdata/src/main/descri
be-json.go:29:12" | 16 » » » » » "methods": [ |
17 » » » » » } | 17 » » » » » » { |
18 » » » » ] | 18 » » » » » » » "name": "method (describ
e.C) f()", |
19 » » » }, | 19 » » » » » » » "pos": "testdata/src/mai
n/describe-json.go:29:12" |
20 » » » { | 20 » » » » » » } |
21 » » » » "name": "D", | 21 » » » » » ] |
22 » » » » "type": "struct{}", | 22 » » » » }, |
23 » » » » "pos": "testdata/src/main/describe-json.go:27:6"
, | 23 » » » » { |
24 » » » » "kind": "type", | 24 » » » » » "name": "D", |
25 » » » » "methods": [ | 25 » » » » » "type": "struct{}", |
26 » » » » » { | 26 » » » » » "pos": "testdata/src/main/describe-json.
go:27:6", |
27 » » » » » » "name": "method (*describe.D) f(
)", | 27 » » » » » "kind": "type", |
28 » » » » » » "pos": "testdata/src/main/descri
be-json.go:30:13" | 28 » » » » » "methods": [ |
29 » » » » » } | 29 » » » » » » { |
30 » » » » ] | 30 » » » » » » » "name": "method (*descri
be.D) f()", |
31 » » » }, | 31 » » » » » » » "pos": "testdata/src/mai
n/describe-json.go:30:13" |
32 » » » { | 32 » » » » » » } |
33 » » » » "name": "I", | 33 » » » » » ] |
34 » » » » "type": "interface{f()}", | 34 » » » » }, |
35 » » » » "pos": "testdata/src/main/describe-json.go:22:6"
, | 35 » » » » { |
36 » » » » "kind": "type", | 36 » » » » » "name": "I", |
37 » » » » "methods": [ | 37 » » » » » "type": "interface{f()}", |
38 » » » » » { | 38 » » » » » "pos": "testdata/src/main/describe-json.
go:22:6", |
39 » » » » » » "name": "method (describe.I) f()
", | 39 » » » » » "kind": "type", |
40 » » » » » » "pos": "testdata/src/main/descri
be-json.go:23:2" | 40 » » » » » "methods": [ |
41 » » » » » } | 41 » » » » » » { |
42 » » » » ] | 42 » » » » » » » "name": "method (describ
e.I) f()", |
43 » » » }, | 43 » » » » » » » "pos": "testdata/src/mai
n/describe-json.go:23:2" |
44 » » » { | 44 » » » » » » } |
45 » » » » "name": "init", | 45 » » » » » ] |
46 » » » » "type": "func()", | 46 » » » » }, |
47 » » » » "pos": "-", | 47 » » » » { |
48 » » » » "kind": "func" | 48 » » » » » "name": "init", |
49 » » » }, | 49 » » » » » "type": "func()", |
50 » » » { | 50 » » » » » "pos": "-", |
51 » » » » "name": "init$guard", | 51 » » » » » "kind": "func" |
52 » » » » "type": "bool", | 52 » » » » }, |
53 » » » » "pos": "-", | 53 » » » » { |
54 » » » » "kind": "var" | 54 » » » » » "name": "init$guard", |
55 » » » }, | 55 » » » » » "type": "bool", |
56 » » » { | 56 » » » » » "pos": "-", |
57 » » » » "name": "main", | 57 » » » » » "kind": "var" |
58 » » » » "type": "func()", | 58 » » » » }, |
59 » » » » "pos": "testdata/src/main/describe-json.go:9:6", | 59 » » » » { |
60 » » » » "kind": "func" | 60 » » » » » "name": "main", |
61 » » » } | 61 » » » » » "type": "func()", |
62 » » ] | 62 » » » » » "pos": "testdata/src/main/describe-json.
go:9:6", |
| 63 » » » » » "kind": "func" |
| 64 » » » » } |
| 65 » » » ] |
| 66 » » } |
63 } | 67 } |
64 }-------- @implements implements -------- | 68 }-------- @implements implements -------- |
65 { | 69 { |
66 » "mode": "", | 70 » "mode": "implements", |
67 "implements": [ | 71 "implements": [ |
68 { | 72 { |
69 "i": "describe.I", | 73 "i": "describe.I", |
70 "ipos": "testdata/src/main/describe-json.go:22:6", | 74 "ipos": "testdata/src/main/describe-json.go:22:6", |
71 "c": "describe.C", | 75 "c": "describe.C", |
72 "cpos": "testdata/src/main/describe-json.go:26:6" | 76 "cpos": "testdata/src/main/describe-json.go:26:6" |
73 }, | 77 }, |
74 { | 78 { |
75 "i": "describe.I", | 79 "i": "describe.I", |
76 "ipos": "testdata/src/main/describe-json.go:22:6", | 80 "ipos": "testdata/src/main/describe-json.go:22:6", |
77 "c": "*describe.D", | 81 "c": "*describe.D", |
78 "cpos": "testdata/src/main/describe-json.go:27:6" | 82 "cpos": "testdata/src/main/describe-json.go:27:6" |
79 } | 83 } |
80 ] | 84 ] |
81 }-------- @describe desc-val-p -------- | 85 }-------- @describe desc-val-p -------- |
82 { | 86 { |
83 » "mode": "describeval", | 87 » "mode": "describe", |
84 » "describeval": { | 88 » "describe": { |
85 "desc": "identifier", | 89 "desc": "identifier", |
86 "pos": "testdata/src/main/describe-json.go:11:2", | 90 "pos": "testdata/src/main/describe-json.go:11:2", |
87 » » "type": "*int", | 91 » » "detail": "value", |
88 » » "objpos": "testdata/src/main/describe-json.go:11:2", | 92 » » "value": { |
89 » » "pts": [ | 93 » » » "type": "*int", |
90 » » » { | 94 » » » "objpos": "testdata/src/main/describe-json.go:11:2", |
91 » » » » "type": "*int", | 95 » » » "pts": [ |
92 » » » » "namepos": "", | 96 » » » » { |
93 » » » » "labels": [ | 97 » » » » » "type": "*int", |
94 » » » » » { | 98 » » » » » "namepos": "", |
95 » » » » » » "pos": "testdata/src/main/descri
be-json.go:10:6", | 99 » » » » » "labels": [ |
96 » » » » » » "desc": "s.x[*]" | 100 » » » » » » { |
97 » » » » » } | 101 » » » » » » » "pos": "testdata/src/mai
n/describe-json.go:10:6", |
98 » » » » ] | 102 » » » » » » » "desc": "s.x[*]" |
99 » » » } | 103 » » » » » » } |
100 » » ] | 104 » » » » » ] |
| 105 » » » » } |
| 106 » » » ] |
| 107 » » } |
101 } | 108 } |
102 }-------- @describe desc-val-i -------- | 109 }-------- @describe desc-val-i -------- |
103 { | 110 { |
104 » "mode": "describeval", | 111 » "mode": "describe", |
105 » "describeval": { | 112 » "describe": { |
106 "desc": "identifier", | 113 "desc": "identifier", |
107 "pos": "testdata/src/main/describe-json.go:17:6", | 114 "pos": "testdata/src/main/describe-json.go:17:6", |
108 » » "type": "describe.I", | 115 » » "detail": "value", |
109 » » "objpos": "testdata/src/main/describe-json.go:13:6", | 116 » » "value": { |
110 » » "pts": [ | 117 » » » "type": "describe.I", |
111 » » » { | 118 » » » "objpos": "testdata/src/main/describe-json.go:13:6", |
112 » » » » "type": "*describe.D", | 119 » » » "pts": [ |
113 » » » » "namepos": "testdata/src/main/describe-json.go:2
7:6", | 120 » » » » { |
114 » » » » "labels": [ | 121 » » » » » "type": "*describe.D", |
115 » » » » » { | 122 » » » » » "namepos": "testdata/src/main/describe-j
son.go:27:6", |
116 » » » » » » "pos": "testdata/src/main/descri
be-json.go:15:10", | 123 » » » » » "labels": [ |
117 » » » » » » "desc": "new" | 124 » » » » » » { |
118 » » » » » } | 125 » » » » » » » "pos": "testdata/src/mai
n/describe-json.go:15:10", |
119 » » » » ] | 126 » » » » » » » "desc": "new" |
120 » » » }, | 127 » » » » » » } |
121 » » » { | 128 » » » » » ] |
122 » » » » "type": "describe.C", | 129 » » » » }, |
123 » » » » "namepos": "testdata/src/main/describe-json.go:2
6:6" | 130 » » » » { |
124 » » » } | 131 » » » » » "type": "describe.C", |
125 » » ] | 132 » » » » » "namepos": "testdata/src/main/describe-j
son.go:26:6" |
| 133 » » » » } |
| 134 » » » ] |
| 135 » » } |
126 } | 136 } |
127 }-------- @describe desc-stmt -------- | 137 }-------- @describe desc-stmt -------- |
128 { | 138 { |
129 » "mode": "describeunk", | 139 » "mode": "describe", |
130 » "describeunk": { | 140 » "describe": { |
131 "desc": "go statement", | 141 "desc": "go statement", |
132 » » "pos": "testdata/src/main/describe-json.go:19:2" | 142 » » "pos": "testdata/src/main/describe-json.go:19:2", |
| 143 » » "detail": "unknown" |
133 } | 144 } |
134 }-------- @describe desc-type-C -------- | 145 }-------- @describe desc-type-C -------- |
135 { | 146 { |
136 » "mode": "describetyp", | 147 » "mode": "describe", |
137 » "describetyp": { | 148 » "describe": { |
138 "desc": "definition of type describe.C", | 149 "desc": "definition of type describe.C", |
139 "pos": "testdata/src/main/describe-json.go:26:6", | 150 "pos": "testdata/src/main/describe-json.go:26:6", |
140 » » "namepos": "testdata/src/main/describe-json.go:26:6", | 151 » » "detail": "type", |
141 » » "namedef": "int", | 152 » » "type": { |
142 » » "methods": [ | 153 » » » "type": "describe.C", |
143 » » » { | 154 » » » "namepos": "testdata/src/main/describe-json.go:26:6", |
144 » » » » "name": "method (describe.C) f()", | 155 » » » "namedef": "int", |
145 » » » » "pos": "testdata/src/main/describe-json.go:29:12
" | 156 » » » "methods": [ |
146 » » » } | 157 » » » » { |
147 » » ] | 158 » » » » » "name": "method (describe.C) f()", |
| 159 » » » » » "pos": "testdata/src/main/describe-json.
go:29:12" |
| 160 » » » » } |
| 161 » » » ] |
| 162 » » } |
148 } | 163 } |
149 } | 164 } |
LEFT | RIGHT |