171b4c226SZixu Wang // RUN: rm -rf %t
271b4c226SZixu Wang // RUN: split-file %s %t
3*e08c4354SZixu Wang // RUN: sed -e "s@INPUT_DIR@%{/t:regex_replacement}@g" \
4*e08c4354SZixu Wang // RUN: %t/reference.output.json.in >> %t/reference.output.json
571b4c226SZixu Wang // RUN: %clang -extract-api -target arm64-apple-macosx \
671b4c226SZixu Wang // RUN: %t/input.h -o %t/output.json | FileCheck -allow-empty %s
771b4c226SZixu Wang 
871b4c226SZixu Wang // Generator version is not consistent across test runs, normalize it.
971b4c226SZixu Wang // RUN: sed -e "s@\"generator\": \".*\"@\"generator\": \"?\"@g" \
1071b4c226SZixu Wang // RUN: %t/output.json >> %t/output-normalized.json
1171b4c226SZixu Wang // RUN: diff %t/reference.output.json %t/output-normalized.json
1271b4c226SZixu Wang 
1371b4c226SZixu Wang // CHECK-NOT: error:
1471b4c226SZixu Wang // CHECK-NOT: warning:
1571b4c226SZixu Wang 
1671b4c226SZixu Wang //--- input.h
1771b4c226SZixu Wang /// Kinds of vehicles
1871b4c226SZixu Wang enum Vehicle {
1971b4c226SZixu Wang   Bicycle,
2071b4c226SZixu Wang   Car,
2171b4c226SZixu Wang   Train, ///< Move this to the top! -Sheldon
2271b4c226SZixu Wang   Ship,
2371b4c226SZixu Wang   Airplane,
2471b4c226SZixu Wang };
2571b4c226SZixu Wang 
2671b4c226SZixu Wang enum Direction : unsigned char {
2771b4c226SZixu Wang   North = 0,
2871b4c226SZixu Wang   East,
2971b4c226SZixu Wang   South,
3071b4c226SZixu Wang   West
3171b4c226SZixu Wang };
3271b4c226SZixu Wang 
3371b4c226SZixu Wang //--- reference.output.json.in
3471b4c226SZixu Wang {
3571b4c226SZixu Wang   "metadata": {
3671b4c226SZixu Wang     "formatVersion": {
3771b4c226SZixu Wang       "major": 0,
3871b4c226SZixu Wang       "minor": 5,
3971b4c226SZixu Wang       "patch": 3
4071b4c226SZixu Wang     },
4171b4c226SZixu Wang     "generator": "?"
4271b4c226SZixu Wang   },
4371b4c226SZixu Wang   "module": {
4471b4c226SZixu Wang     "name": "",
4571b4c226SZixu Wang     "platform": {
4671b4c226SZixu Wang       "architecture": "arm64",
4771b4c226SZixu Wang       "operatingSystem": {
4871b4c226SZixu Wang         "minimumVersion": {
4971b4c226SZixu Wang           "major": 11,
5071b4c226SZixu Wang           "minor": 0,
5171b4c226SZixu Wang           "patch": 0
5271b4c226SZixu Wang         },
5371b4c226SZixu Wang         "name": "macosx"
5471b4c226SZixu Wang       },
5571b4c226SZixu Wang       "vendor": "apple"
5671b4c226SZixu Wang     }
5771b4c226SZixu Wang   },
5828d79314SDaniel Grumberg   "relationships": [
5971b4c226SZixu Wang     {
6071b4c226SZixu Wang       "kind": "memberOf",
6171b4c226SZixu Wang       "source": "c:@E@Vehicle@Bicycle",
6271b4c226SZixu Wang       "target": "c:@E@Vehicle"
6371b4c226SZixu Wang     },
6471b4c226SZixu Wang     {
6571b4c226SZixu Wang       "kind": "memberOf",
6671b4c226SZixu Wang       "source": "c:@E@Vehicle@Car",
6771b4c226SZixu Wang       "target": "c:@E@Vehicle"
6871b4c226SZixu Wang     },
6971b4c226SZixu Wang     {
7071b4c226SZixu Wang       "kind": "memberOf",
7171b4c226SZixu Wang       "source": "c:@E@Vehicle@Train",
7271b4c226SZixu Wang       "target": "c:@E@Vehicle"
7371b4c226SZixu Wang     },
7471b4c226SZixu Wang     {
7571b4c226SZixu Wang       "kind": "memberOf",
7671b4c226SZixu Wang       "source": "c:@E@Vehicle@Ship",
7771b4c226SZixu Wang       "target": "c:@E@Vehicle"
7871b4c226SZixu Wang     },
7971b4c226SZixu Wang     {
8071b4c226SZixu Wang       "kind": "memberOf",
8171b4c226SZixu Wang       "source": "c:@E@Vehicle@Airplane",
8271b4c226SZixu Wang       "target": "c:@E@Vehicle"
8371b4c226SZixu Wang     },
8471b4c226SZixu Wang     {
8571b4c226SZixu Wang       "kind": "memberOf",
8671b4c226SZixu Wang       "source": "c:@E@Direction@North",
8771b4c226SZixu Wang       "target": "c:@E@Direction"
8871b4c226SZixu Wang     },
8971b4c226SZixu Wang     {
9071b4c226SZixu Wang       "kind": "memberOf",
9171b4c226SZixu Wang       "source": "c:@E@Direction@East",
9271b4c226SZixu Wang       "target": "c:@E@Direction"
9371b4c226SZixu Wang     },
9471b4c226SZixu Wang     {
9571b4c226SZixu Wang       "kind": "memberOf",
9671b4c226SZixu Wang       "source": "c:@E@Direction@South",
9771b4c226SZixu Wang       "target": "c:@E@Direction"
9871b4c226SZixu Wang     },
9971b4c226SZixu Wang     {
10071b4c226SZixu Wang       "kind": "memberOf",
10171b4c226SZixu Wang       "source": "c:@E@Direction@West",
10271b4c226SZixu Wang       "target": "c:@E@Direction"
10371b4c226SZixu Wang     }
10471b4c226SZixu Wang   ],
10571b4c226SZixu Wang   "symbols": [
10671b4c226SZixu Wang     {
10728d79314SDaniel Grumberg       "accessLevel": "public",
10871b4c226SZixu Wang       "declarationFragments": [
10971b4c226SZixu Wang         {
11071b4c226SZixu Wang           "kind": "keyword",
11171b4c226SZixu Wang           "spelling": "enum"
11271b4c226SZixu Wang         },
11371b4c226SZixu Wang         {
11471b4c226SZixu Wang           "kind": "text",
11571b4c226SZixu Wang           "spelling": " "
11671b4c226SZixu Wang         },
11771b4c226SZixu Wang         {
11871b4c226SZixu Wang           "kind": "identifier",
11971b4c226SZixu Wang           "spelling": "Vehicle"
12071b4c226SZixu Wang         },
12171b4c226SZixu Wang         {
12271b4c226SZixu Wang           "kind": "text",
12371b4c226SZixu Wang           "spelling": ": "
12471b4c226SZixu Wang         },
12571b4c226SZixu Wang         {
12671b4c226SZixu Wang           "kind": "typeIdentifier",
12771b4c226SZixu Wang           "preciseIdentifier": "c:i",
12871b4c226SZixu Wang           "spelling": "unsigned int"
12971b4c226SZixu Wang         }
13071b4c226SZixu Wang       ],
13171b4c226SZixu Wang       "docComment": {
13271b4c226SZixu Wang         "lines": [
13371b4c226SZixu Wang           {
13471b4c226SZixu Wang             "range": {
13571b4c226SZixu Wang               "end": {
13671b4c226SZixu Wang                 "character": 22,
13771b4c226SZixu Wang                 "line": 1
13871b4c226SZixu Wang               },
13971b4c226SZixu Wang               "start": {
14071b4c226SZixu Wang                 "character": 5,
14171b4c226SZixu Wang                 "line": 1
14271b4c226SZixu Wang               }
14371b4c226SZixu Wang             },
14471b4c226SZixu Wang             "text": "Kinds of vehicles"
14571b4c226SZixu Wang           }
14671b4c226SZixu Wang         ]
14771b4c226SZixu Wang       },
14871b4c226SZixu Wang       "identifier": {
14971b4c226SZixu Wang         "interfaceLanguage": "c",
15071b4c226SZixu Wang         "precise": "c:@E@Vehicle"
15171b4c226SZixu Wang       },
15271b4c226SZixu Wang       "kind": {
15371b4c226SZixu Wang         "displayName": "Enumeration",
15471b4c226SZixu Wang         "identifier": "c.enum"
15571b4c226SZixu Wang       },
15671b4c226SZixu Wang       "location": {
15728d79314SDaniel Grumberg         "position": {
15871b4c226SZixu Wang           "character": 6,
15928d79314SDaniel Grumberg           "line": 2
16028d79314SDaniel Grumberg         },
16171b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
16271b4c226SZixu Wang       },
16371b4c226SZixu Wang       "names": {
16480ae3665SDaniel Grumberg         "navigator": [
16580ae3665SDaniel Grumberg           {
16680ae3665SDaniel Grumberg             "kind": "identifier",
16780ae3665SDaniel Grumberg             "spelling": "Vehicle"
16880ae3665SDaniel Grumberg           }
16980ae3665SDaniel Grumberg         ],
17071b4c226SZixu Wang         "subHeading": [
17171b4c226SZixu Wang           {
17271b4c226SZixu Wang             "kind": "identifier",
17371b4c226SZixu Wang             "spelling": "Vehicle"
17471b4c226SZixu Wang           }
17571b4c226SZixu Wang         ],
17671b4c226SZixu Wang         "title": "Vehicle"
17728d79314SDaniel Grumberg       },
17828d79314SDaniel Grumberg       "pathComponents": [
17928d79314SDaniel Grumberg         "Vehicle"
18028d79314SDaniel Grumberg       ]
18171b4c226SZixu Wang     },
18271b4c226SZixu Wang     {
18328d79314SDaniel Grumberg       "accessLevel": "public",
18471b4c226SZixu Wang       "declarationFragments": [
18571b4c226SZixu Wang         {
18671b4c226SZixu Wang           "kind": "identifier",
18771b4c226SZixu Wang           "spelling": "Bicycle"
18871b4c226SZixu Wang         }
18971b4c226SZixu Wang       ],
19071b4c226SZixu Wang       "identifier": {
19171b4c226SZixu Wang         "interfaceLanguage": "c",
19271b4c226SZixu Wang         "precise": "c:@E@Vehicle@Bicycle"
19371b4c226SZixu Wang       },
19471b4c226SZixu Wang       "kind": {
19571b4c226SZixu Wang         "displayName": "Enumeration Case",
19671b4c226SZixu Wang         "identifier": "c.enum.case"
19771b4c226SZixu Wang       },
19871b4c226SZixu Wang       "location": {
19928d79314SDaniel Grumberg         "position": {
20071b4c226SZixu Wang           "character": 3,
20128d79314SDaniel Grumberg           "line": 3
20228d79314SDaniel Grumberg         },
20371b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
20471b4c226SZixu Wang       },
20571b4c226SZixu Wang       "names": {
20680ae3665SDaniel Grumberg         "navigator": [
20780ae3665SDaniel Grumberg           {
20880ae3665SDaniel Grumberg             "kind": "identifier",
20980ae3665SDaniel Grumberg             "spelling": "Bicycle"
21080ae3665SDaniel Grumberg           }
21180ae3665SDaniel Grumberg         ],
21271b4c226SZixu Wang         "subHeading": [
21371b4c226SZixu Wang           {
21471b4c226SZixu Wang             "kind": "identifier",
21571b4c226SZixu Wang             "spelling": "Bicycle"
21671b4c226SZixu Wang           }
21771b4c226SZixu Wang         ],
21871b4c226SZixu Wang         "title": "Bicycle"
21928d79314SDaniel Grumberg       },
22028d79314SDaniel Grumberg       "pathComponents": [
22128d79314SDaniel Grumberg         "Vehicle",
22228d79314SDaniel Grumberg         "Bicycle"
22328d79314SDaniel Grumberg       ]
22471b4c226SZixu Wang     },
22571b4c226SZixu Wang     {
22628d79314SDaniel Grumberg       "accessLevel": "public",
22771b4c226SZixu Wang       "declarationFragments": [
22871b4c226SZixu Wang         {
22971b4c226SZixu Wang           "kind": "identifier",
23071b4c226SZixu Wang           "spelling": "Car"
23171b4c226SZixu Wang         }
23271b4c226SZixu Wang       ],
23371b4c226SZixu Wang       "identifier": {
23471b4c226SZixu Wang         "interfaceLanguage": "c",
23571b4c226SZixu Wang         "precise": "c:@E@Vehicle@Car"
23671b4c226SZixu Wang       },
23771b4c226SZixu Wang       "kind": {
23871b4c226SZixu Wang         "displayName": "Enumeration Case",
23971b4c226SZixu Wang         "identifier": "c.enum.case"
24071b4c226SZixu Wang       },
24171b4c226SZixu Wang       "location": {
24228d79314SDaniel Grumberg         "position": {
24371b4c226SZixu Wang           "character": 3,
24428d79314SDaniel Grumberg           "line": 4
24528d79314SDaniel Grumberg         },
24671b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
24771b4c226SZixu Wang       },
24871b4c226SZixu Wang       "names": {
24980ae3665SDaniel Grumberg         "navigator": [
25080ae3665SDaniel Grumberg           {
25180ae3665SDaniel Grumberg             "kind": "identifier",
25280ae3665SDaniel Grumberg             "spelling": "Car"
25380ae3665SDaniel Grumberg           }
25480ae3665SDaniel Grumberg         ],
25571b4c226SZixu Wang         "subHeading": [
25671b4c226SZixu Wang           {
25771b4c226SZixu Wang             "kind": "identifier",
25871b4c226SZixu Wang             "spelling": "Car"
25971b4c226SZixu Wang           }
26071b4c226SZixu Wang         ],
26171b4c226SZixu Wang         "title": "Car"
26228d79314SDaniel Grumberg       },
26328d79314SDaniel Grumberg       "pathComponents": [
26428d79314SDaniel Grumberg         "Vehicle",
26528d79314SDaniel Grumberg         "Car"
26628d79314SDaniel Grumberg       ]
26771b4c226SZixu Wang     },
26871b4c226SZixu Wang     {
26928d79314SDaniel Grumberg       "accessLevel": "public",
27071b4c226SZixu Wang       "declarationFragments": [
27171b4c226SZixu Wang         {
27271b4c226SZixu Wang           "kind": "identifier",
27371b4c226SZixu Wang           "spelling": "Train"
27471b4c226SZixu Wang         }
27571b4c226SZixu Wang       ],
27671b4c226SZixu Wang       "docComment": {
27771b4c226SZixu Wang         "lines": [
27871b4c226SZixu Wang           {
27971b4c226SZixu Wang             "range": {
28071b4c226SZixu Wang               "end": {
28171b4c226SZixu Wang                 "character": 45,
28271b4c226SZixu Wang                 "line": 5
28371b4c226SZixu Wang               },
28471b4c226SZixu Wang               "start": {
28571b4c226SZixu Wang                 "character": 15,
28671b4c226SZixu Wang                 "line": 5
28771b4c226SZixu Wang               }
28871b4c226SZixu Wang             },
28971b4c226SZixu Wang             "text": "Move this to the top! -Sheldon"
29071b4c226SZixu Wang           }
29171b4c226SZixu Wang         ]
29271b4c226SZixu Wang       },
29371b4c226SZixu Wang       "identifier": {
29471b4c226SZixu Wang         "interfaceLanguage": "c",
29571b4c226SZixu Wang         "precise": "c:@E@Vehicle@Train"
29671b4c226SZixu Wang       },
29771b4c226SZixu Wang       "kind": {
29871b4c226SZixu Wang         "displayName": "Enumeration Case",
29971b4c226SZixu Wang         "identifier": "c.enum.case"
30071b4c226SZixu Wang       },
30171b4c226SZixu Wang       "location": {
30228d79314SDaniel Grumberg         "position": {
30371b4c226SZixu Wang           "character": 3,
30428d79314SDaniel Grumberg           "line": 5
30528d79314SDaniel Grumberg         },
30671b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
30771b4c226SZixu Wang       },
30871b4c226SZixu Wang       "names": {
30980ae3665SDaniel Grumberg         "navigator": [
31080ae3665SDaniel Grumberg           {
31180ae3665SDaniel Grumberg             "kind": "identifier",
31280ae3665SDaniel Grumberg             "spelling": "Train"
31380ae3665SDaniel Grumberg           }
31480ae3665SDaniel Grumberg         ],
31571b4c226SZixu Wang         "subHeading": [
31671b4c226SZixu Wang           {
31771b4c226SZixu Wang             "kind": "identifier",
31871b4c226SZixu Wang             "spelling": "Train"
31971b4c226SZixu Wang           }
32071b4c226SZixu Wang         ],
32171b4c226SZixu Wang         "title": "Train"
32228d79314SDaniel Grumberg       },
32328d79314SDaniel Grumberg       "pathComponents": [
32428d79314SDaniel Grumberg         "Vehicle",
32528d79314SDaniel Grumberg         "Train"
32628d79314SDaniel Grumberg       ]
32771b4c226SZixu Wang     },
32871b4c226SZixu Wang     {
32928d79314SDaniel Grumberg       "accessLevel": "public",
33071b4c226SZixu Wang       "declarationFragments": [
33171b4c226SZixu Wang         {
33271b4c226SZixu Wang           "kind": "identifier",
33371b4c226SZixu Wang           "spelling": "Ship"
33471b4c226SZixu Wang         }
33571b4c226SZixu Wang       ],
33671b4c226SZixu Wang       "identifier": {
33771b4c226SZixu Wang         "interfaceLanguage": "c",
33871b4c226SZixu Wang         "precise": "c:@E@Vehicle@Ship"
33971b4c226SZixu Wang       },
34071b4c226SZixu Wang       "kind": {
34171b4c226SZixu Wang         "displayName": "Enumeration Case",
34271b4c226SZixu Wang         "identifier": "c.enum.case"
34371b4c226SZixu Wang       },
34471b4c226SZixu Wang       "location": {
34528d79314SDaniel Grumberg         "position": {
34671b4c226SZixu Wang           "character": 3,
34728d79314SDaniel Grumberg           "line": 6
34828d79314SDaniel Grumberg         },
34971b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
35071b4c226SZixu Wang       },
35171b4c226SZixu Wang       "names": {
35280ae3665SDaniel Grumberg         "navigator": [
35380ae3665SDaniel Grumberg           {
35480ae3665SDaniel Grumberg             "kind": "identifier",
35580ae3665SDaniel Grumberg             "spelling": "Ship"
35680ae3665SDaniel Grumberg           }
35780ae3665SDaniel Grumberg         ],
35871b4c226SZixu Wang         "subHeading": [
35971b4c226SZixu Wang           {
36071b4c226SZixu Wang             "kind": "identifier",
36171b4c226SZixu Wang             "spelling": "Ship"
36271b4c226SZixu Wang           }
36371b4c226SZixu Wang         ],
36471b4c226SZixu Wang         "title": "Ship"
36528d79314SDaniel Grumberg       },
36628d79314SDaniel Grumberg       "pathComponents": [
36728d79314SDaniel Grumberg         "Vehicle",
36828d79314SDaniel Grumberg         "Ship"
36928d79314SDaniel Grumberg       ]
37071b4c226SZixu Wang     },
37171b4c226SZixu Wang     {
37228d79314SDaniel Grumberg       "accessLevel": "public",
37371b4c226SZixu Wang       "declarationFragments": [
37471b4c226SZixu Wang         {
37571b4c226SZixu Wang           "kind": "identifier",
37671b4c226SZixu Wang           "spelling": "Airplane"
37771b4c226SZixu Wang         }
37871b4c226SZixu Wang       ],
37971b4c226SZixu Wang       "identifier": {
38071b4c226SZixu Wang         "interfaceLanguage": "c",
38171b4c226SZixu Wang         "precise": "c:@E@Vehicle@Airplane"
38271b4c226SZixu Wang       },
38371b4c226SZixu Wang       "kind": {
38471b4c226SZixu Wang         "displayName": "Enumeration Case",
38571b4c226SZixu Wang         "identifier": "c.enum.case"
38671b4c226SZixu Wang       },
38771b4c226SZixu Wang       "location": {
38828d79314SDaniel Grumberg         "position": {
38971b4c226SZixu Wang           "character": 3,
39028d79314SDaniel Grumberg           "line": 7
39128d79314SDaniel Grumberg         },
39271b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
39371b4c226SZixu Wang       },
39471b4c226SZixu Wang       "names": {
39580ae3665SDaniel Grumberg         "navigator": [
39680ae3665SDaniel Grumberg           {
39780ae3665SDaniel Grumberg             "kind": "identifier",
39880ae3665SDaniel Grumberg             "spelling": "Airplane"
39980ae3665SDaniel Grumberg           }
40080ae3665SDaniel Grumberg         ],
40171b4c226SZixu Wang         "subHeading": [
40271b4c226SZixu Wang           {
40371b4c226SZixu Wang             "kind": "identifier",
40471b4c226SZixu Wang             "spelling": "Airplane"
40571b4c226SZixu Wang           }
40671b4c226SZixu Wang         ],
40771b4c226SZixu Wang         "title": "Airplane"
40828d79314SDaniel Grumberg       },
40928d79314SDaniel Grumberg       "pathComponents": [
41028d79314SDaniel Grumberg         "Vehicle",
41128d79314SDaniel Grumberg         "Airplane"
41228d79314SDaniel Grumberg       ]
41371b4c226SZixu Wang     },
41471b4c226SZixu Wang     {
41528d79314SDaniel Grumberg       "accessLevel": "public",
41671b4c226SZixu Wang       "declarationFragments": [
41771b4c226SZixu Wang         {
41871b4c226SZixu Wang           "kind": "keyword",
41971b4c226SZixu Wang           "spelling": "enum"
42071b4c226SZixu Wang         },
42171b4c226SZixu Wang         {
42271b4c226SZixu Wang           "kind": "text",
42371b4c226SZixu Wang           "spelling": " "
42471b4c226SZixu Wang         },
42571b4c226SZixu Wang         {
42671b4c226SZixu Wang           "kind": "identifier",
42771b4c226SZixu Wang           "spelling": "Direction"
42871b4c226SZixu Wang         },
42971b4c226SZixu Wang         {
43071b4c226SZixu Wang           "kind": "text",
43171b4c226SZixu Wang           "spelling": ": "
43271b4c226SZixu Wang         },
43371b4c226SZixu Wang         {
43471b4c226SZixu Wang           "kind": "typeIdentifier",
43571b4c226SZixu Wang           "preciseIdentifier": "c:c",
43671b4c226SZixu Wang           "spelling": "unsigned char"
43771b4c226SZixu Wang         }
43871b4c226SZixu Wang       ],
43971b4c226SZixu Wang       "identifier": {
44071b4c226SZixu Wang         "interfaceLanguage": "c",
44171b4c226SZixu Wang         "precise": "c:@E@Direction"
44271b4c226SZixu Wang       },
44371b4c226SZixu Wang       "kind": {
44471b4c226SZixu Wang         "displayName": "Enumeration",
44571b4c226SZixu Wang         "identifier": "c.enum"
44671b4c226SZixu Wang       },
44771b4c226SZixu Wang       "location": {
44828d79314SDaniel Grumberg         "position": {
44971b4c226SZixu Wang           "character": 6,
45028d79314SDaniel Grumberg           "line": 10
45128d79314SDaniel Grumberg         },
45271b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
45371b4c226SZixu Wang       },
45471b4c226SZixu Wang       "names": {
45580ae3665SDaniel Grumberg         "navigator": [
45680ae3665SDaniel Grumberg           {
45780ae3665SDaniel Grumberg             "kind": "identifier",
45880ae3665SDaniel Grumberg             "spelling": "Direction"
45980ae3665SDaniel Grumberg           }
46080ae3665SDaniel Grumberg         ],
46171b4c226SZixu Wang         "subHeading": [
46271b4c226SZixu Wang           {
46371b4c226SZixu Wang             "kind": "identifier",
46471b4c226SZixu Wang             "spelling": "Direction"
46571b4c226SZixu Wang           }
46671b4c226SZixu Wang         ],
46771b4c226SZixu Wang         "title": "Direction"
46828d79314SDaniel Grumberg       },
46928d79314SDaniel Grumberg       "pathComponents": [
47028d79314SDaniel Grumberg         "Direction"
47128d79314SDaniel Grumberg       ]
47271b4c226SZixu Wang     },
47371b4c226SZixu Wang     {
47428d79314SDaniel Grumberg       "accessLevel": "public",
47571b4c226SZixu Wang       "declarationFragments": [
47671b4c226SZixu Wang         {
47771b4c226SZixu Wang           "kind": "identifier",
47871b4c226SZixu Wang           "spelling": "North"
47971b4c226SZixu Wang         }
48071b4c226SZixu Wang       ],
48171b4c226SZixu Wang       "identifier": {
48271b4c226SZixu Wang         "interfaceLanguage": "c",
48371b4c226SZixu Wang         "precise": "c:@E@Direction@North"
48471b4c226SZixu Wang       },
48571b4c226SZixu Wang       "kind": {
48671b4c226SZixu Wang         "displayName": "Enumeration Case",
48771b4c226SZixu Wang         "identifier": "c.enum.case"
48871b4c226SZixu Wang       },
48971b4c226SZixu Wang       "location": {
49028d79314SDaniel Grumberg         "position": {
49171b4c226SZixu Wang           "character": 3,
49228d79314SDaniel Grumberg           "line": 11
49328d79314SDaniel Grumberg         },
49471b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
49571b4c226SZixu Wang       },
49671b4c226SZixu Wang       "names": {
49780ae3665SDaniel Grumberg         "navigator": [
49880ae3665SDaniel Grumberg           {
49980ae3665SDaniel Grumberg             "kind": "identifier",
50080ae3665SDaniel Grumberg             "spelling": "North"
50180ae3665SDaniel Grumberg           }
50280ae3665SDaniel Grumberg         ],
50371b4c226SZixu Wang         "subHeading": [
50471b4c226SZixu Wang           {
50571b4c226SZixu Wang             "kind": "identifier",
50671b4c226SZixu Wang             "spelling": "North"
50771b4c226SZixu Wang           }
50871b4c226SZixu Wang         ],
50971b4c226SZixu Wang         "title": "North"
51028d79314SDaniel Grumberg       },
51128d79314SDaniel Grumberg       "pathComponents": [
51228d79314SDaniel Grumberg         "Direction",
51328d79314SDaniel Grumberg         "North"
51428d79314SDaniel Grumberg       ]
51571b4c226SZixu Wang     },
51671b4c226SZixu Wang     {
51728d79314SDaniel Grumberg       "accessLevel": "public",
51871b4c226SZixu Wang       "declarationFragments": [
51971b4c226SZixu Wang         {
52071b4c226SZixu Wang           "kind": "identifier",
52171b4c226SZixu Wang           "spelling": "East"
52271b4c226SZixu Wang         }
52371b4c226SZixu Wang       ],
52471b4c226SZixu Wang       "identifier": {
52571b4c226SZixu Wang         "interfaceLanguage": "c",
52671b4c226SZixu Wang         "precise": "c:@E@Direction@East"
52771b4c226SZixu Wang       },
52871b4c226SZixu Wang       "kind": {
52971b4c226SZixu Wang         "displayName": "Enumeration Case",
53071b4c226SZixu Wang         "identifier": "c.enum.case"
53171b4c226SZixu Wang       },
53271b4c226SZixu Wang       "location": {
53328d79314SDaniel Grumberg         "position": {
53471b4c226SZixu Wang           "character": 3,
53528d79314SDaniel Grumberg           "line": 12
53628d79314SDaniel Grumberg         },
53771b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
53871b4c226SZixu Wang       },
53971b4c226SZixu Wang       "names": {
54080ae3665SDaniel Grumberg         "navigator": [
54180ae3665SDaniel Grumberg           {
54280ae3665SDaniel Grumberg             "kind": "identifier",
54380ae3665SDaniel Grumberg             "spelling": "East"
54480ae3665SDaniel Grumberg           }
54580ae3665SDaniel Grumberg         ],
54671b4c226SZixu Wang         "subHeading": [
54771b4c226SZixu Wang           {
54871b4c226SZixu Wang             "kind": "identifier",
54971b4c226SZixu Wang             "spelling": "East"
55071b4c226SZixu Wang           }
55171b4c226SZixu Wang         ],
55271b4c226SZixu Wang         "title": "East"
55328d79314SDaniel Grumberg       },
55428d79314SDaniel Grumberg       "pathComponents": [
55528d79314SDaniel Grumberg         "Direction",
55628d79314SDaniel Grumberg         "East"
55728d79314SDaniel Grumberg       ]
55871b4c226SZixu Wang     },
55971b4c226SZixu Wang     {
56028d79314SDaniel Grumberg       "accessLevel": "public",
56171b4c226SZixu Wang       "declarationFragments": [
56271b4c226SZixu Wang         {
56371b4c226SZixu Wang           "kind": "identifier",
56471b4c226SZixu Wang           "spelling": "South"
56571b4c226SZixu Wang         }
56671b4c226SZixu Wang       ],
56771b4c226SZixu Wang       "identifier": {
56871b4c226SZixu Wang         "interfaceLanguage": "c",
56971b4c226SZixu Wang         "precise": "c:@E@Direction@South"
57071b4c226SZixu Wang       },
57171b4c226SZixu Wang       "kind": {
57271b4c226SZixu Wang         "displayName": "Enumeration Case",
57371b4c226SZixu Wang         "identifier": "c.enum.case"
57471b4c226SZixu Wang       },
57571b4c226SZixu Wang       "location": {
57628d79314SDaniel Grumberg         "position": {
57771b4c226SZixu Wang           "character": 3,
57828d79314SDaniel Grumberg           "line": 13
57928d79314SDaniel Grumberg         },
58071b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
58171b4c226SZixu Wang       },
58271b4c226SZixu Wang       "names": {
58380ae3665SDaniel Grumberg         "navigator": [
58480ae3665SDaniel Grumberg           {
58580ae3665SDaniel Grumberg             "kind": "identifier",
58680ae3665SDaniel Grumberg             "spelling": "South"
58780ae3665SDaniel Grumberg           }
58880ae3665SDaniel Grumberg         ],
58971b4c226SZixu Wang         "subHeading": [
59071b4c226SZixu Wang           {
59171b4c226SZixu Wang             "kind": "identifier",
59271b4c226SZixu Wang             "spelling": "South"
59371b4c226SZixu Wang           }
59471b4c226SZixu Wang         ],
59571b4c226SZixu Wang         "title": "South"
59628d79314SDaniel Grumberg       },
59728d79314SDaniel Grumberg       "pathComponents": [
59828d79314SDaniel Grumberg         "Direction",
59928d79314SDaniel Grumberg         "South"
60028d79314SDaniel Grumberg       ]
60171b4c226SZixu Wang     },
60271b4c226SZixu Wang     {
60328d79314SDaniel Grumberg       "accessLevel": "public",
60471b4c226SZixu Wang       "declarationFragments": [
60571b4c226SZixu Wang         {
60671b4c226SZixu Wang           "kind": "identifier",
60771b4c226SZixu Wang           "spelling": "West"
60871b4c226SZixu Wang         }
60971b4c226SZixu Wang       ],
61071b4c226SZixu Wang       "identifier": {
61171b4c226SZixu Wang         "interfaceLanguage": "c",
61271b4c226SZixu Wang         "precise": "c:@E@Direction@West"
61371b4c226SZixu Wang       },
61471b4c226SZixu Wang       "kind": {
61571b4c226SZixu Wang         "displayName": "Enumeration Case",
61671b4c226SZixu Wang         "identifier": "c.enum.case"
61771b4c226SZixu Wang       },
61871b4c226SZixu Wang       "location": {
61928d79314SDaniel Grumberg         "position": {
62071b4c226SZixu Wang           "character": 3,
62128d79314SDaniel Grumberg           "line": 14
62228d79314SDaniel Grumberg         },
62371b4c226SZixu Wang         "uri": "file://INPUT_DIR/input.h"
62471b4c226SZixu Wang       },
62571b4c226SZixu Wang       "names": {
62680ae3665SDaniel Grumberg         "navigator": [
62780ae3665SDaniel Grumberg           {
62880ae3665SDaniel Grumberg             "kind": "identifier",
62980ae3665SDaniel Grumberg             "spelling": "West"
63080ae3665SDaniel Grumberg           }
63180ae3665SDaniel Grumberg         ],
63271b4c226SZixu Wang         "subHeading": [
63371b4c226SZixu Wang           {
63471b4c226SZixu Wang             "kind": "identifier",
63571b4c226SZixu Wang             "spelling": "West"
63671b4c226SZixu Wang           }
63771b4c226SZixu Wang         ],
63871b4c226SZixu Wang         "title": "West"
63928d79314SDaniel Grumberg       },
64028d79314SDaniel Grumberg       "pathComponents": [
64128d79314SDaniel Grumberg         "Direction",
64228d79314SDaniel Grumberg         "West"
64328d79314SDaniel Grumberg       ]
64471b4c226SZixu Wang     }
64571b4c226SZixu Wang   ]
64671b4c226SZixu Wang }
647