1*71b4c226SZixu Wang // RUN: rm -rf %t
2*71b4c226SZixu Wang // RUN: split-file %s %t
3*71b4c226SZixu Wang // RUN: sed -e "s@INPUT_DIR@%/t@g" %t/reference.output.json.in >> \
4*71b4c226SZixu Wang // RUN: %t/reference.output.json
5*71b4c226SZixu Wang // RUN: %clang -extract-api -target arm64-apple-macosx \
6*71b4c226SZixu Wang // RUN: %t/input.h -o %t/output.json | FileCheck -allow-empty %s
7*71b4c226SZixu Wang 
8*71b4c226SZixu Wang // Generator version is not consistent across test runs, normalize it.
9*71b4c226SZixu Wang // RUN: sed -e "s@\"generator\": \".*\"@\"generator\": \"?\"@g" \
10*71b4c226SZixu Wang // RUN: %t/output.json >> %t/output-normalized.json
11*71b4c226SZixu Wang // RUN: diff %t/reference.output.json %t/output-normalized.json
12*71b4c226SZixu Wang 
13*71b4c226SZixu Wang // CHECK-NOT: error:
14*71b4c226SZixu Wang // CHECK-NOT: warning:
15*71b4c226SZixu Wang 
16*71b4c226SZixu Wang //--- input.h
17*71b4c226SZixu Wang /// Kinds of vehicles
18*71b4c226SZixu Wang enum Vehicle {
19*71b4c226SZixu Wang   Bicycle,
20*71b4c226SZixu Wang   Car,
21*71b4c226SZixu Wang   Train, ///< Move this to the top! -Sheldon
22*71b4c226SZixu Wang   Ship,
23*71b4c226SZixu Wang   Airplane,
24*71b4c226SZixu Wang };
25*71b4c226SZixu Wang 
26*71b4c226SZixu Wang enum Direction : unsigned char {
27*71b4c226SZixu Wang   North = 0,
28*71b4c226SZixu Wang   East,
29*71b4c226SZixu Wang   South,
30*71b4c226SZixu Wang   West
31*71b4c226SZixu Wang };
32*71b4c226SZixu Wang 
33*71b4c226SZixu Wang //--- reference.output.json.in
34*71b4c226SZixu Wang {
35*71b4c226SZixu Wang   "metadata": {
36*71b4c226SZixu Wang     "formatVersion": {
37*71b4c226SZixu Wang       "major": 0,
38*71b4c226SZixu Wang       "minor": 5,
39*71b4c226SZixu Wang       "patch": 3
40*71b4c226SZixu Wang     },
41*71b4c226SZixu Wang     "generator": "?"
42*71b4c226SZixu Wang   },
43*71b4c226SZixu Wang   "module": {
44*71b4c226SZixu Wang     "name": "",
45*71b4c226SZixu Wang     "platform": {
46*71b4c226SZixu Wang       "architecture": "arm64",
47*71b4c226SZixu Wang       "operatingSystem": {
48*71b4c226SZixu Wang         "minimumVersion": {
49*71b4c226SZixu Wang           "major": 11,
50*71b4c226SZixu Wang           "minor": 0,
51*71b4c226SZixu Wang           "patch": 0
52*71b4c226SZixu Wang         },
53*71b4c226SZixu Wang         "name": "macosx"
54*71b4c226SZixu Wang       },
55*71b4c226SZixu Wang       "vendor": "apple"
56*71b4c226SZixu Wang     }
57*71b4c226SZixu Wang   },
58*71b4c226SZixu Wang   "relationhips": [
59*71b4c226SZixu Wang     {
60*71b4c226SZixu Wang       "kind": "memberOf",
61*71b4c226SZixu Wang       "source": "c:@E@Vehicle@Bicycle",
62*71b4c226SZixu Wang       "target": "c:@E@Vehicle"
63*71b4c226SZixu Wang     },
64*71b4c226SZixu Wang     {
65*71b4c226SZixu Wang       "kind": "memberOf",
66*71b4c226SZixu Wang       "source": "c:@E@Vehicle@Car",
67*71b4c226SZixu Wang       "target": "c:@E@Vehicle"
68*71b4c226SZixu Wang     },
69*71b4c226SZixu Wang     {
70*71b4c226SZixu Wang       "kind": "memberOf",
71*71b4c226SZixu Wang       "source": "c:@E@Vehicle@Train",
72*71b4c226SZixu Wang       "target": "c:@E@Vehicle"
73*71b4c226SZixu Wang     },
74*71b4c226SZixu Wang     {
75*71b4c226SZixu Wang       "kind": "memberOf",
76*71b4c226SZixu Wang       "source": "c:@E@Vehicle@Ship",
77*71b4c226SZixu Wang       "target": "c:@E@Vehicle"
78*71b4c226SZixu Wang     },
79*71b4c226SZixu Wang     {
80*71b4c226SZixu Wang       "kind": "memberOf",
81*71b4c226SZixu Wang       "source": "c:@E@Vehicle@Airplane",
82*71b4c226SZixu Wang       "target": "c:@E@Vehicle"
83*71b4c226SZixu Wang     },
84*71b4c226SZixu Wang     {
85*71b4c226SZixu Wang       "kind": "memberOf",
86*71b4c226SZixu Wang       "source": "c:@E@Direction@North",
87*71b4c226SZixu Wang       "target": "c:@E@Direction"
88*71b4c226SZixu Wang     },
89*71b4c226SZixu Wang     {
90*71b4c226SZixu Wang       "kind": "memberOf",
91*71b4c226SZixu Wang       "source": "c:@E@Direction@East",
92*71b4c226SZixu Wang       "target": "c:@E@Direction"
93*71b4c226SZixu Wang     },
94*71b4c226SZixu Wang     {
95*71b4c226SZixu Wang       "kind": "memberOf",
96*71b4c226SZixu Wang       "source": "c:@E@Direction@South",
97*71b4c226SZixu Wang       "target": "c:@E@Direction"
98*71b4c226SZixu Wang     },
99*71b4c226SZixu Wang     {
100*71b4c226SZixu Wang       "kind": "memberOf",
101*71b4c226SZixu Wang       "source": "c:@E@Direction@West",
102*71b4c226SZixu Wang       "target": "c:@E@Direction"
103*71b4c226SZixu Wang     }
104*71b4c226SZixu Wang   ],
105*71b4c226SZixu Wang   "symbols": [
106*71b4c226SZixu Wang     {
107*71b4c226SZixu Wang       "declarationFragments": [
108*71b4c226SZixu Wang         {
109*71b4c226SZixu Wang           "kind": "keyword",
110*71b4c226SZixu Wang           "spelling": "enum"
111*71b4c226SZixu Wang         },
112*71b4c226SZixu Wang         {
113*71b4c226SZixu Wang           "kind": "text",
114*71b4c226SZixu Wang           "spelling": " "
115*71b4c226SZixu Wang         },
116*71b4c226SZixu Wang         {
117*71b4c226SZixu Wang           "kind": "identifier",
118*71b4c226SZixu Wang           "spelling": "Vehicle"
119*71b4c226SZixu Wang         },
120*71b4c226SZixu Wang         {
121*71b4c226SZixu Wang           "kind": "text",
122*71b4c226SZixu Wang           "spelling": ": "
123*71b4c226SZixu Wang         },
124*71b4c226SZixu Wang         {
125*71b4c226SZixu Wang           "kind": "typeIdentifier",
126*71b4c226SZixu Wang           "preciseIdentifier": "c:i",
127*71b4c226SZixu Wang           "spelling": "unsigned int"
128*71b4c226SZixu Wang         }
129*71b4c226SZixu Wang       ],
130*71b4c226SZixu Wang       "docComment": {
131*71b4c226SZixu Wang         "lines": [
132*71b4c226SZixu Wang           {
133*71b4c226SZixu Wang             "range": {
134*71b4c226SZixu Wang               "end": {
135*71b4c226SZixu Wang                 "character": 22,
136*71b4c226SZixu Wang                 "line": 1
137*71b4c226SZixu Wang               },
138*71b4c226SZixu Wang               "start": {
139*71b4c226SZixu Wang                 "character": 5,
140*71b4c226SZixu Wang                 "line": 1
141*71b4c226SZixu Wang               }
142*71b4c226SZixu Wang             },
143*71b4c226SZixu Wang             "text": "Kinds of vehicles"
144*71b4c226SZixu Wang           }
145*71b4c226SZixu Wang         ]
146*71b4c226SZixu Wang       },
147*71b4c226SZixu Wang       "identifier": {
148*71b4c226SZixu Wang         "interfaceLanguage": "c",
149*71b4c226SZixu Wang         "precise": "c:@E@Vehicle"
150*71b4c226SZixu Wang       },
151*71b4c226SZixu Wang       "kind": {
152*71b4c226SZixu Wang         "displayName": "Enumeration",
153*71b4c226SZixu Wang         "identifier": "c.enum"
154*71b4c226SZixu Wang       },
155*71b4c226SZixu Wang       "location": {
156*71b4c226SZixu Wang         "character": 6,
157*71b4c226SZixu Wang         "line": 2,
158*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
159*71b4c226SZixu Wang       },
160*71b4c226SZixu Wang       "names": {
161*71b4c226SZixu Wang         "subHeading": [
162*71b4c226SZixu Wang           {
163*71b4c226SZixu Wang             "kind": "identifier",
164*71b4c226SZixu Wang             "spelling": "Vehicle"
165*71b4c226SZixu Wang           }
166*71b4c226SZixu Wang         ],
167*71b4c226SZixu Wang         "title": "Vehicle"
168*71b4c226SZixu Wang       }
169*71b4c226SZixu Wang     },
170*71b4c226SZixu Wang     {
171*71b4c226SZixu Wang       "declarationFragments": [
172*71b4c226SZixu Wang         {
173*71b4c226SZixu Wang           "kind": "identifier",
174*71b4c226SZixu Wang           "spelling": "Bicycle"
175*71b4c226SZixu Wang         }
176*71b4c226SZixu Wang       ],
177*71b4c226SZixu Wang       "identifier": {
178*71b4c226SZixu Wang         "interfaceLanguage": "c",
179*71b4c226SZixu Wang         "precise": "c:@E@Vehicle@Bicycle"
180*71b4c226SZixu Wang       },
181*71b4c226SZixu Wang       "kind": {
182*71b4c226SZixu Wang         "displayName": "Enumeration Case",
183*71b4c226SZixu Wang         "identifier": "c.enum.case"
184*71b4c226SZixu Wang       },
185*71b4c226SZixu Wang       "location": {
186*71b4c226SZixu Wang         "character": 3,
187*71b4c226SZixu Wang         "line": 3,
188*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
189*71b4c226SZixu Wang       },
190*71b4c226SZixu Wang       "names": {
191*71b4c226SZixu Wang         "subHeading": [
192*71b4c226SZixu Wang           {
193*71b4c226SZixu Wang             "kind": "identifier",
194*71b4c226SZixu Wang             "spelling": "Bicycle"
195*71b4c226SZixu Wang           }
196*71b4c226SZixu Wang         ],
197*71b4c226SZixu Wang         "title": "Bicycle"
198*71b4c226SZixu Wang       }
199*71b4c226SZixu Wang     },
200*71b4c226SZixu Wang     {
201*71b4c226SZixu Wang       "declarationFragments": [
202*71b4c226SZixu Wang         {
203*71b4c226SZixu Wang           "kind": "identifier",
204*71b4c226SZixu Wang           "spelling": "Car"
205*71b4c226SZixu Wang         }
206*71b4c226SZixu Wang       ],
207*71b4c226SZixu Wang       "identifier": {
208*71b4c226SZixu Wang         "interfaceLanguage": "c",
209*71b4c226SZixu Wang         "precise": "c:@E@Vehicle@Car"
210*71b4c226SZixu Wang       },
211*71b4c226SZixu Wang       "kind": {
212*71b4c226SZixu Wang         "displayName": "Enumeration Case",
213*71b4c226SZixu Wang         "identifier": "c.enum.case"
214*71b4c226SZixu Wang       },
215*71b4c226SZixu Wang       "location": {
216*71b4c226SZixu Wang         "character": 3,
217*71b4c226SZixu Wang         "line": 4,
218*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
219*71b4c226SZixu Wang       },
220*71b4c226SZixu Wang       "names": {
221*71b4c226SZixu Wang         "subHeading": [
222*71b4c226SZixu Wang           {
223*71b4c226SZixu Wang             "kind": "identifier",
224*71b4c226SZixu Wang             "spelling": "Car"
225*71b4c226SZixu Wang           }
226*71b4c226SZixu Wang         ],
227*71b4c226SZixu Wang         "title": "Car"
228*71b4c226SZixu Wang       }
229*71b4c226SZixu Wang     },
230*71b4c226SZixu Wang     {
231*71b4c226SZixu Wang       "declarationFragments": [
232*71b4c226SZixu Wang         {
233*71b4c226SZixu Wang           "kind": "identifier",
234*71b4c226SZixu Wang           "spelling": "Train"
235*71b4c226SZixu Wang         }
236*71b4c226SZixu Wang       ],
237*71b4c226SZixu Wang       "docComment": {
238*71b4c226SZixu Wang         "lines": [
239*71b4c226SZixu Wang           {
240*71b4c226SZixu Wang             "range": {
241*71b4c226SZixu Wang               "end": {
242*71b4c226SZixu Wang                 "character": 45,
243*71b4c226SZixu Wang                 "line": 5
244*71b4c226SZixu Wang               },
245*71b4c226SZixu Wang               "start": {
246*71b4c226SZixu Wang                 "character": 15,
247*71b4c226SZixu Wang                 "line": 5
248*71b4c226SZixu Wang               }
249*71b4c226SZixu Wang             },
250*71b4c226SZixu Wang             "text": "Move this to the top! -Sheldon"
251*71b4c226SZixu Wang           }
252*71b4c226SZixu Wang         ]
253*71b4c226SZixu Wang       },
254*71b4c226SZixu Wang       "identifier": {
255*71b4c226SZixu Wang         "interfaceLanguage": "c",
256*71b4c226SZixu Wang         "precise": "c:@E@Vehicle@Train"
257*71b4c226SZixu Wang       },
258*71b4c226SZixu Wang       "kind": {
259*71b4c226SZixu Wang         "displayName": "Enumeration Case",
260*71b4c226SZixu Wang         "identifier": "c.enum.case"
261*71b4c226SZixu Wang       },
262*71b4c226SZixu Wang       "location": {
263*71b4c226SZixu Wang         "character": 3,
264*71b4c226SZixu Wang         "line": 5,
265*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
266*71b4c226SZixu Wang       },
267*71b4c226SZixu Wang       "names": {
268*71b4c226SZixu Wang         "subHeading": [
269*71b4c226SZixu Wang           {
270*71b4c226SZixu Wang             "kind": "identifier",
271*71b4c226SZixu Wang             "spelling": "Train"
272*71b4c226SZixu Wang           }
273*71b4c226SZixu Wang         ],
274*71b4c226SZixu Wang         "title": "Train"
275*71b4c226SZixu Wang       }
276*71b4c226SZixu Wang     },
277*71b4c226SZixu Wang     {
278*71b4c226SZixu Wang       "declarationFragments": [
279*71b4c226SZixu Wang         {
280*71b4c226SZixu Wang           "kind": "identifier",
281*71b4c226SZixu Wang           "spelling": "Ship"
282*71b4c226SZixu Wang         }
283*71b4c226SZixu Wang       ],
284*71b4c226SZixu Wang       "identifier": {
285*71b4c226SZixu Wang         "interfaceLanguage": "c",
286*71b4c226SZixu Wang         "precise": "c:@E@Vehicle@Ship"
287*71b4c226SZixu Wang       },
288*71b4c226SZixu Wang       "kind": {
289*71b4c226SZixu Wang         "displayName": "Enumeration Case",
290*71b4c226SZixu Wang         "identifier": "c.enum.case"
291*71b4c226SZixu Wang       },
292*71b4c226SZixu Wang       "location": {
293*71b4c226SZixu Wang         "character": 3,
294*71b4c226SZixu Wang         "line": 6,
295*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
296*71b4c226SZixu Wang       },
297*71b4c226SZixu Wang       "names": {
298*71b4c226SZixu Wang         "subHeading": [
299*71b4c226SZixu Wang           {
300*71b4c226SZixu Wang             "kind": "identifier",
301*71b4c226SZixu Wang             "spelling": "Ship"
302*71b4c226SZixu Wang           }
303*71b4c226SZixu Wang         ],
304*71b4c226SZixu Wang         "title": "Ship"
305*71b4c226SZixu Wang       }
306*71b4c226SZixu Wang     },
307*71b4c226SZixu Wang     {
308*71b4c226SZixu Wang       "declarationFragments": [
309*71b4c226SZixu Wang         {
310*71b4c226SZixu Wang           "kind": "identifier",
311*71b4c226SZixu Wang           "spelling": "Airplane"
312*71b4c226SZixu Wang         }
313*71b4c226SZixu Wang       ],
314*71b4c226SZixu Wang       "identifier": {
315*71b4c226SZixu Wang         "interfaceLanguage": "c",
316*71b4c226SZixu Wang         "precise": "c:@E@Vehicle@Airplane"
317*71b4c226SZixu Wang       },
318*71b4c226SZixu Wang       "kind": {
319*71b4c226SZixu Wang         "displayName": "Enumeration Case",
320*71b4c226SZixu Wang         "identifier": "c.enum.case"
321*71b4c226SZixu Wang       },
322*71b4c226SZixu Wang       "location": {
323*71b4c226SZixu Wang         "character": 3,
324*71b4c226SZixu Wang         "line": 7,
325*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
326*71b4c226SZixu Wang       },
327*71b4c226SZixu Wang       "names": {
328*71b4c226SZixu Wang         "subHeading": [
329*71b4c226SZixu Wang           {
330*71b4c226SZixu Wang             "kind": "identifier",
331*71b4c226SZixu Wang             "spelling": "Airplane"
332*71b4c226SZixu Wang           }
333*71b4c226SZixu Wang         ],
334*71b4c226SZixu Wang         "title": "Airplane"
335*71b4c226SZixu Wang       }
336*71b4c226SZixu Wang     },
337*71b4c226SZixu Wang     {
338*71b4c226SZixu Wang       "declarationFragments": [
339*71b4c226SZixu Wang         {
340*71b4c226SZixu Wang           "kind": "keyword",
341*71b4c226SZixu Wang           "spelling": "enum"
342*71b4c226SZixu Wang         },
343*71b4c226SZixu Wang         {
344*71b4c226SZixu Wang           "kind": "text",
345*71b4c226SZixu Wang           "spelling": " "
346*71b4c226SZixu Wang         },
347*71b4c226SZixu Wang         {
348*71b4c226SZixu Wang           "kind": "identifier",
349*71b4c226SZixu Wang           "spelling": "Direction"
350*71b4c226SZixu Wang         },
351*71b4c226SZixu Wang         {
352*71b4c226SZixu Wang           "kind": "text",
353*71b4c226SZixu Wang           "spelling": ": "
354*71b4c226SZixu Wang         },
355*71b4c226SZixu Wang         {
356*71b4c226SZixu Wang           "kind": "typeIdentifier",
357*71b4c226SZixu Wang           "preciseIdentifier": "c:c",
358*71b4c226SZixu Wang           "spelling": "unsigned char"
359*71b4c226SZixu Wang         }
360*71b4c226SZixu Wang       ],
361*71b4c226SZixu Wang       "identifier": {
362*71b4c226SZixu Wang         "interfaceLanguage": "c",
363*71b4c226SZixu Wang         "precise": "c:@E@Direction"
364*71b4c226SZixu Wang       },
365*71b4c226SZixu Wang       "kind": {
366*71b4c226SZixu Wang         "displayName": "Enumeration",
367*71b4c226SZixu Wang         "identifier": "c.enum"
368*71b4c226SZixu Wang       },
369*71b4c226SZixu Wang       "location": {
370*71b4c226SZixu Wang         "character": 6,
371*71b4c226SZixu Wang         "line": 10,
372*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
373*71b4c226SZixu Wang       },
374*71b4c226SZixu Wang       "names": {
375*71b4c226SZixu Wang         "subHeading": [
376*71b4c226SZixu Wang           {
377*71b4c226SZixu Wang             "kind": "identifier",
378*71b4c226SZixu Wang             "spelling": "Direction"
379*71b4c226SZixu Wang           }
380*71b4c226SZixu Wang         ],
381*71b4c226SZixu Wang         "title": "Direction"
382*71b4c226SZixu Wang       }
383*71b4c226SZixu Wang     },
384*71b4c226SZixu Wang     {
385*71b4c226SZixu Wang       "declarationFragments": [
386*71b4c226SZixu Wang         {
387*71b4c226SZixu Wang           "kind": "identifier",
388*71b4c226SZixu Wang           "spelling": "North"
389*71b4c226SZixu Wang         }
390*71b4c226SZixu Wang       ],
391*71b4c226SZixu Wang       "identifier": {
392*71b4c226SZixu Wang         "interfaceLanguage": "c",
393*71b4c226SZixu Wang         "precise": "c:@E@Direction@North"
394*71b4c226SZixu Wang       },
395*71b4c226SZixu Wang       "kind": {
396*71b4c226SZixu Wang         "displayName": "Enumeration Case",
397*71b4c226SZixu Wang         "identifier": "c.enum.case"
398*71b4c226SZixu Wang       },
399*71b4c226SZixu Wang       "location": {
400*71b4c226SZixu Wang         "character": 3,
401*71b4c226SZixu Wang         "line": 11,
402*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
403*71b4c226SZixu Wang       },
404*71b4c226SZixu Wang       "names": {
405*71b4c226SZixu Wang         "subHeading": [
406*71b4c226SZixu Wang           {
407*71b4c226SZixu Wang             "kind": "identifier",
408*71b4c226SZixu Wang             "spelling": "North"
409*71b4c226SZixu Wang           }
410*71b4c226SZixu Wang         ],
411*71b4c226SZixu Wang         "title": "North"
412*71b4c226SZixu Wang       }
413*71b4c226SZixu Wang     },
414*71b4c226SZixu Wang     {
415*71b4c226SZixu Wang       "declarationFragments": [
416*71b4c226SZixu Wang         {
417*71b4c226SZixu Wang           "kind": "identifier",
418*71b4c226SZixu Wang           "spelling": "East"
419*71b4c226SZixu Wang         }
420*71b4c226SZixu Wang       ],
421*71b4c226SZixu Wang       "identifier": {
422*71b4c226SZixu Wang         "interfaceLanguage": "c",
423*71b4c226SZixu Wang         "precise": "c:@E@Direction@East"
424*71b4c226SZixu Wang       },
425*71b4c226SZixu Wang       "kind": {
426*71b4c226SZixu Wang         "displayName": "Enumeration Case",
427*71b4c226SZixu Wang         "identifier": "c.enum.case"
428*71b4c226SZixu Wang       },
429*71b4c226SZixu Wang       "location": {
430*71b4c226SZixu Wang         "character": 3,
431*71b4c226SZixu Wang         "line": 12,
432*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
433*71b4c226SZixu Wang       },
434*71b4c226SZixu Wang       "names": {
435*71b4c226SZixu Wang         "subHeading": [
436*71b4c226SZixu Wang           {
437*71b4c226SZixu Wang             "kind": "identifier",
438*71b4c226SZixu Wang             "spelling": "East"
439*71b4c226SZixu Wang           }
440*71b4c226SZixu Wang         ],
441*71b4c226SZixu Wang         "title": "East"
442*71b4c226SZixu Wang       }
443*71b4c226SZixu Wang     },
444*71b4c226SZixu Wang     {
445*71b4c226SZixu Wang       "declarationFragments": [
446*71b4c226SZixu Wang         {
447*71b4c226SZixu Wang           "kind": "identifier",
448*71b4c226SZixu Wang           "spelling": "South"
449*71b4c226SZixu Wang         }
450*71b4c226SZixu Wang       ],
451*71b4c226SZixu Wang       "identifier": {
452*71b4c226SZixu Wang         "interfaceLanguage": "c",
453*71b4c226SZixu Wang         "precise": "c:@E@Direction@South"
454*71b4c226SZixu Wang       },
455*71b4c226SZixu Wang       "kind": {
456*71b4c226SZixu Wang         "displayName": "Enumeration Case",
457*71b4c226SZixu Wang         "identifier": "c.enum.case"
458*71b4c226SZixu Wang       },
459*71b4c226SZixu Wang       "location": {
460*71b4c226SZixu Wang         "character": 3,
461*71b4c226SZixu Wang         "line": 13,
462*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
463*71b4c226SZixu Wang       },
464*71b4c226SZixu Wang       "names": {
465*71b4c226SZixu Wang         "subHeading": [
466*71b4c226SZixu Wang           {
467*71b4c226SZixu Wang             "kind": "identifier",
468*71b4c226SZixu Wang             "spelling": "South"
469*71b4c226SZixu Wang           }
470*71b4c226SZixu Wang         ],
471*71b4c226SZixu Wang         "title": "South"
472*71b4c226SZixu Wang       }
473*71b4c226SZixu Wang     },
474*71b4c226SZixu Wang     {
475*71b4c226SZixu Wang       "declarationFragments": [
476*71b4c226SZixu Wang         {
477*71b4c226SZixu Wang           "kind": "identifier",
478*71b4c226SZixu Wang           "spelling": "West"
479*71b4c226SZixu Wang         }
480*71b4c226SZixu Wang       ],
481*71b4c226SZixu Wang       "identifier": {
482*71b4c226SZixu Wang         "interfaceLanguage": "c",
483*71b4c226SZixu Wang         "precise": "c:@E@Direction@West"
484*71b4c226SZixu Wang       },
485*71b4c226SZixu Wang       "kind": {
486*71b4c226SZixu Wang         "displayName": "Enumeration Case",
487*71b4c226SZixu Wang         "identifier": "c.enum.case"
488*71b4c226SZixu Wang       },
489*71b4c226SZixu Wang       "location": {
490*71b4c226SZixu Wang         "character": 3,
491*71b4c226SZixu Wang         "line": 14,
492*71b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
493*71b4c226SZixu Wang       },
494*71b4c226SZixu Wang       "names": {
495*71b4c226SZixu Wang         "subHeading": [
496*71b4c226SZixu Wang           {
497*71b4c226SZixu Wang             "kind": "identifier",
498*71b4c226SZixu Wang             "spelling": "West"
499*71b4c226SZixu Wang           }
500*71b4c226SZixu Wang         ],
501*71b4c226SZixu Wang         "title": "West"
502*71b4c226SZixu Wang       }
503*71b4c226SZixu Wang     }
504*71b4c226SZixu Wang   ]
505*71b4c226SZixu Wang }
506