171b4c226SZixu Wang // RUN: rm -rf %t 271b4c226SZixu Wang // RUN: split-file %s %t 3e08c4354SZixu Wang // RUN: sed -e "s@INPUT_DIR@%{/t:regex_replacement}@g" \ 4e08c4354SZixu 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 33*7443a504SDaniel Grumberg enum { 34*7443a504SDaniel Grumberg Constant = 1 35*7443a504SDaniel Grumberg }; 36*7443a504SDaniel Grumberg 37*7443a504SDaniel Grumberg enum { 38*7443a504SDaniel Grumberg OtherConstant = 2 39*7443a504SDaniel Grumberg }; 40*7443a504SDaniel Grumberg 4171b4c226SZixu Wang //--- reference.output.json.in 4271b4c226SZixu Wang { 4371b4c226SZixu Wang "metadata": { 4471b4c226SZixu Wang "formatVersion": { 4571b4c226SZixu Wang "major": 0, 4671b4c226SZixu Wang "minor": 5, 4771b4c226SZixu Wang "patch": 3 4871b4c226SZixu Wang }, 4971b4c226SZixu Wang "generator": "?" 5071b4c226SZixu Wang }, 5171b4c226SZixu Wang "module": { 5271b4c226SZixu Wang "name": "", 5371b4c226SZixu Wang "platform": { 5471b4c226SZixu Wang "architecture": "arm64", 5571b4c226SZixu Wang "operatingSystem": { 5671b4c226SZixu Wang "minimumVersion": { 5771b4c226SZixu Wang "major": 11, 5871b4c226SZixu Wang "minor": 0, 5971b4c226SZixu Wang "patch": 0 6071b4c226SZixu Wang }, 6171b4c226SZixu Wang "name": "macosx" 6271b4c226SZixu Wang }, 6371b4c226SZixu Wang "vendor": "apple" 6471b4c226SZixu Wang } 6571b4c226SZixu Wang }, 6628d79314SDaniel Grumberg "relationships": [ 6771b4c226SZixu Wang { 6871b4c226SZixu Wang "kind": "memberOf", 6971b4c226SZixu Wang "source": "c:@E@Vehicle@Bicycle", 7071b4c226SZixu Wang "target": "c:@E@Vehicle" 7171b4c226SZixu Wang }, 7271b4c226SZixu Wang { 7371b4c226SZixu Wang "kind": "memberOf", 7471b4c226SZixu Wang "source": "c:@E@Vehicle@Car", 7571b4c226SZixu Wang "target": "c:@E@Vehicle" 7671b4c226SZixu Wang }, 7771b4c226SZixu Wang { 7871b4c226SZixu Wang "kind": "memberOf", 7971b4c226SZixu Wang "source": "c:@E@Vehicle@Train", 8071b4c226SZixu Wang "target": "c:@E@Vehicle" 8171b4c226SZixu Wang }, 8271b4c226SZixu Wang { 8371b4c226SZixu Wang "kind": "memberOf", 8471b4c226SZixu Wang "source": "c:@E@Vehicle@Ship", 8571b4c226SZixu Wang "target": "c:@E@Vehicle" 8671b4c226SZixu Wang }, 8771b4c226SZixu Wang { 8871b4c226SZixu Wang "kind": "memberOf", 8971b4c226SZixu Wang "source": "c:@E@Vehicle@Airplane", 9071b4c226SZixu Wang "target": "c:@E@Vehicle" 9171b4c226SZixu Wang }, 9271b4c226SZixu Wang { 9371b4c226SZixu Wang "kind": "memberOf", 9471b4c226SZixu Wang "source": "c:@E@Direction@North", 9571b4c226SZixu Wang "target": "c:@E@Direction" 9671b4c226SZixu Wang }, 9771b4c226SZixu Wang { 9871b4c226SZixu Wang "kind": "memberOf", 9971b4c226SZixu Wang "source": "c:@E@Direction@East", 10071b4c226SZixu Wang "target": "c:@E@Direction" 10171b4c226SZixu Wang }, 10271b4c226SZixu Wang { 10371b4c226SZixu Wang "kind": "memberOf", 10471b4c226SZixu Wang "source": "c:@E@Direction@South", 10571b4c226SZixu Wang "target": "c:@E@Direction" 10671b4c226SZixu Wang }, 10771b4c226SZixu Wang { 10871b4c226SZixu Wang "kind": "memberOf", 10971b4c226SZixu Wang "source": "c:@E@Direction@West", 11071b4c226SZixu Wang "target": "c:@E@Direction" 111*7443a504SDaniel Grumberg }, 112*7443a504SDaniel Grumberg { 113*7443a504SDaniel Grumberg "kind": "memberOf", 114*7443a504SDaniel Grumberg "source": "c:@Ea@Constant@Constant", 115*7443a504SDaniel Grumberg "target": "c:@Ea@Constant" 116*7443a504SDaniel Grumberg }, 117*7443a504SDaniel Grumberg { 118*7443a504SDaniel Grumberg "kind": "memberOf", 119*7443a504SDaniel Grumberg "source": "c:@Ea@OtherConstant@OtherConstant", 120*7443a504SDaniel Grumberg "target": "c:@Ea@OtherConstant" 12171b4c226SZixu Wang } 12271b4c226SZixu Wang ], 12371b4c226SZixu Wang "symbols": [ 12471b4c226SZixu Wang { 12528d79314SDaniel Grumberg "accessLevel": "public", 12671b4c226SZixu Wang "declarationFragments": [ 12771b4c226SZixu Wang { 12871b4c226SZixu Wang "kind": "keyword", 12971b4c226SZixu Wang "spelling": "enum" 13071b4c226SZixu Wang }, 13171b4c226SZixu Wang { 13271b4c226SZixu Wang "kind": "text", 13371b4c226SZixu Wang "spelling": " " 13471b4c226SZixu Wang }, 13571b4c226SZixu Wang { 13671b4c226SZixu Wang "kind": "identifier", 13771b4c226SZixu Wang "spelling": "Vehicle" 13871b4c226SZixu Wang }, 13971b4c226SZixu Wang { 14071b4c226SZixu Wang "kind": "text", 14171b4c226SZixu Wang "spelling": ": " 14271b4c226SZixu Wang }, 14371b4c226SZixu Wang { 14471b4c226SZixu Wang "kind": "typeIdentifier", 14571b4c226SZixu Wang "preciseIdentifier": "c:i", 14671b4c226SZixu Wang "spelling": "unsigned int" 14771b4c226SZixu Wang } 14871b4c226SZixu Wang ], 14971b4c226SZixu Wang "docComment": { 15071b4c226SZixu Wang "lines": [ 15171b4c226SZixu Wang { 15271b4c226SZixu Wang "range": { 15371b4c226SZixu Wang "end": { 15471b4c226SZixu Wang "character": 22, 15571b4c226SZixu Wang "line": 1 15671b4c226SZixu Wang }, 15771b4c226SZixu Wang "start": { 15871b4c226SZixu Wang "character": 5, 15971b4c226SZixu Wang "line": 1 16071b4c226SZixu Wang } 16171b4c226SZixu Wang }, 16271b4c226SZixu Wang "text": "Kinds of vehicles" 16371b4c226SZixu Wang } 16471b4c226SZixu Wang ] 16571b4c226SZixu Wang }, 16671b4c226SZixu Wang "identifier": { 16771b4c226SZixu Wang "interfaceLanguage": "c", 16871b4c226SZixu Wang "precise": "c:@E@Vehicle" 16971b4c226SZixu Wang }, 17071b4c226SZixu Wang "kind": { 17171b4c226SZixu Wang "displayName": "Enumeration", 17271b4c226SZixu Wang "identifier": "c.enum" 17371b4c226SZixu Wang }, 17471b4c226SZixu Wang "location": { 17528d79314SDaniel Grumberg "position": { 17671b4c226SZixu Wang "character": 6, 17728d79314SDaniel Grumberg "line": 2 17828d79314SDaniel Grumberg }, 17971b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 18071b4c226SZixu Wang }, 18171b4c226SZixu Wang "names": { 18280ae3665SDaniel Grumberg "navigator": [ 18380ae3665SDaniel Grumberg { 18480ae3665SDaniel Grumberg "kind": "identifier", 18580ae3665SDaniel Grumberg "spelling": "Vehicle" 18680ae3665SDaniel Grumberg } 18780ae3665SDaniel Grumberg ], 18871b4c226SZixu Wang "subHeading": [ 18971b4c226SZixu Wang { 19071b4c226SZixu Wang "kind": "identifier", 19171b4c226SZixu Wang "spelling": "Vehicle" 19271b4c226SZixu Wang } 19371b4c226SZixu Wang ], 19471b4c226SZixu Wang "title": "Vehicle" 19528d79314SDaniel Grumberg }, 19628d79314SDaniel Grumberg "pathComponents": [ 19728d79314SDaniel Grumberg "Vehicle" 19828d79314SDaniel Grumberg ] 19971b4c226SZixu Wang }, 20071b4c226SZixu Wang { 20128d79314SDaniel Grumberg "accessLevel": "public", 20271b4c226SZixu Wang "declarationFragments": [ 20371b4c226SZixu Wang { 20471b4c226SZixu Wang "kind": "identifier", 20571b4c226SZixu Wang "spelling": "Bicycle" 20671b4c226SZixu Wang } 20771b4c226SZixu Wang ], 20871b4c226SZixu Wang "identifier": { 20971b4c226SZixu Wang "interfaceLanguage": "c", 21071b4c226SZixu Wang "precise": "c:@E@Vehicle@Bicycle" 21171b4c226SZixu Wang }, 21271b4c226SZixu Wang "kind": { 21371b4c226SZixu Wang "displayName": "Enumeration Case", 21471b4c226SZixu Wang "identifier": "c.enum.case" 21571b4c226SZixu Wang }, 21671b4c226SZixu Wang "location": { 21728d79314SDaniel Grumberg "position": { 21871b4c226SZixu Wang "character": 3, 21928d79314SDaniel Grumberg "line": 3 22028d79314SDaniel Grumberg }, 22171b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 22271b4c226SZixu Wang }, 22371b4c226SZixu Wang "names": { 22480ae3665SDaniel Grumberg "navigator": [ 22580ae3665SDaniel Grumberg { 22680ae3665SDaniel Grumberg "kind": "identifier", 22780ae3665SDaniel Grumberg "spelling": "Bicycle" 22880ae3665SDaniel Grumberg } 22980ae3665SDaniel Grumberg ], 23071b4c226SZixu Wang "subHeading": [ 23171b4c226SZixu Wang { 23271b4c226SZixu Wang "kind": "identifier", 23371b4c226SZixu Wang "spelling": "Bicycle" 23471b4c226SZixu Wang } 23571b4c226SZixu Wang ], 23671b4c226SZixu Wang "title": "Bicycle" 23728d79314SDaniel Grumberg }, 23828d79314SDaniel Grumberg "pathComponents": [ 23928d79314SDaniel Grumberg "Vehicle", 24028d79314SDaniel Grumberg "Bicycle" 24128d79314SDaniel Grumberg ] 24271b4c226SZixu Wang }, 24371b4c226SZixu Wang { 24428d79314SDaniel Grumberg "accessLevel": "public", 24571b4c226SZixu Wang "declarationFragments": [ 24671b4c226SZixu Wang { 24771b4c226SZixu Wang "kind": "identifier", 24871b4c226SZixu Wang "spelling": "Car" 24971b4c226SZixu Wang } 25071b4c226SZixu Wang ], 25171b4c226SZixu Wang "identifier": { 25271b4c226SZixu Wang "interfaceLanguage": "c", 25371b4c226SZixu Wang "precise": "c:@E@Vehicle@Car" 25471b4c226SZixu Wang }, 25571b4c226SZixu Wang "kind": { 25671b4c226SZixu Wang "displayName": "Enumeration Case", 25771b4c226SZixu Wang "identifier": "c.enum.case" 25871b4c226SZixu Wang }, 25971b4c226SZixu Wang "location": { 26028d79314SDaniel Grumberg "position": { 26171b4c226SZixu Wang "character": 3, 26228d79314SDaniel Grumberg "line": 4 26328d79314SDaniel Grumberg }, 26471b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 26571b4c226SZixu Wang }, 26671b4c226SZixu Wang "names": { 26780ae3665SDaniel Grumberg "navigator": [ 26880ae3665SDaniel Grumberg { 26980ae3665SDaniel Grumberg "kind": "identifier", 27080ae3665SDaniel Grumberg "spelling": "Car" 27180ae3665SDaniel Grumberg } 27280ae3665SDaniel Grumberg ], 27371b4c226SZixu Wang "subHeading": [ 27471b4c226SZixu Wang { 27571b4c226SZixu Wang "kind": "identifier", 27671b4c226SZixu Wang "spelling": "Car" 27771b4c226SZixu Wang } 27871b4c226SZixu Wang ], 27971b4c226SZixu Wang "title": "Car" 28028d79314SDaniel Grumberg }, 28128d79314SDaniel Grumberg "pathComponents": [ 28228d79314SDaniel Grumberg "Vehicle", 28328d79314SDaniel Grumberg "Car" 28428d79314SDaniel Grumberg ] 28571b4c226SZixu Wang }, 28671b4c226SZixu Wang { 28728d79314SDaniel Grumberg "accessLevel": "public", 28871b4c226SZixu Wang "declarationFragments": [ 28971b4c226SZixu Wang { 29071b4c226SZixu Wang "kind": "identifier", 29171b4c226SZixu Wang "spelling": "Train" 29271b4c226SZixu Wang } 29371b4c226SZixu Wang ], 29471b4c226SZixu Wang "docComment": { 29571b4c226SZixu Wang "lines": [ 29671b4c226SZixu Wang { 29771b4c226SZixu Wang "range": { 29871b4c226SZixu Wang "end": { 29971b4c226SZixu Wang "character": 45, 30071b4c226SZixu Wang "line": 5 30171b4c226SZixu Wang }, 30271b4c226SZixu Wang "start": { 30371b4c226SZixu Wang "character": 15, 30471b4c226SZixu Wang "line": 5 30571b4c226SZixu Wang } 30671b4c226SZixu Wang }, 30771b4c226SZixu Wang "text": "Move this to the top! -Sheldon" 30871b4c226SZixu Wang } 30971b4c226SZixu Wang ] 31071b4c226SZixu Wang }, 31171b4c226SZixu Wang "identifier": { 31271b4c226SZixu Wang "interfaceLanguage": "c", 31371b4c226SZixu Wang "precise": "c:@E@Vehicle@Train" 31471b4c226SZixu Wang }, 31571b4c226SZixu Wang "kind": { 31671b4c226SZixu Wang "displayName": "Enumeration Case", 31771b4c226SZixu Wang "identifier": "c.enum.case" 31871b4c226SZixu Wang }, 31971b4c226SZixu Wang "location": { 32028d79314SDaniel Grumberg "position": { 32171b4c226SZixu Wang "character": 3, 32228d79314SDaniel Grumberg "line": 5 32328d79314SDaniel Grumberg }, 32471b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 32571b4c226SZixu Wang }, 32671b4c226SZixu Wang "names": { 32780ae3665SDaniel Grumberg "navigator": [ 32880ae3665SDaniel Grumberg { 32980ae3665SDaniel Grumberg "kind": "identifier", 33080ae3665SDaniel Grumberg "spelling": "Train" 33180ae3665SDaniel Grumberg } 33280ae3665SDaniel Grumberg ], 33371b4c226SZixu Wang "subHeading": [ 33471b4c226SZixu Wang { 33571b4c226SZixu Wang "kind": "identifier", 33671b4c226SZixu Wang "spelling": "Train" 33771b4c226SZixu Wang } 33871b4c226SZixu Wang ], 33971b4c226SZixu Wang "title": "Train" 34028d79314SDaniel Grumberg }, 34128d79314SDaniel Grumberg "pathComponents": [ 34228d79314SDaniel Grumberg "Vehicle", 34328d79314SDaniel Grumberg "Train" 34428d79314SDaniel Grumberg ] 34571b4c226SZixu Wang }, 34671b4c226SZixu Wang { 34728d79314SDaniel Grumberg "accessLevel": "public", 34871b4c226SZixu Wang "declarationFragments": [ 34971b4c226SZixu Wang { 35071b4c226SZixu Wang "kind": "identifier", 35171b4c226SZixu Wang "spelling": "Ship" 35271b4c226SZixu Wang } 35371b4c226SZixu Wang ], 35471b4c226SZixu Wang "identifier": { 35571b4c226SZixu Wang "interfaceLanguage": "c", 35671b4c226SZixu Wang "precise": "c:@E@Vehicle@Ship" 35771b4c226SZixu Wang }, 35871b4c226SZixu Wang "kind": { 35971b4c226SZixu Wang "displayName": "Enumeration Case", 36071b4c226SZixu Wang "identifier": "c.enum.case" 36171b4c226SZixu Wang }, 36271b4c226SZixu Wang "location": { 36328d79314SDaniel Grumberg "position": { 36471b4c226SZixu Wang "character": 3, 36528d79314SDaniel Grumberg "line": 6 36628d79314SDaniel Grumberg }, 36771b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 36871b4c226SZixu Wang }, 36971b4c226SZixu Wang "names": { 37080ae3665SDaniel Grumberg "navigator": [ 37180ae3665SDaniel Grumberg { 37280ae3665SDaniel Grumberg "kind": "identifier", 37380ae3665SDaniel Grumberg "spelling": "Ship" 37480ae3665SDaniel Grumberg } 37580ae3665SDaniel Grumberg ], 37671b4c226SZixu Wang "subHeading": [ 37771b4c226SZixu Wang { 37871b4c226SZixu Wang "kind": "identifier", 37971b4c226SZixu Wang "spelling": "Ship" 38071b4c226SZixu Wang } 38171b4c226SZixu Wang ], 38271b4c226SZixu Wang "title": "Ship" 38328d79314SDaniel Grumberg }, 38428d79314SDaniel Grumberg "pathComponents": [ 38528d79314SDaniel Grumberg "Vehicle", 38628d79314SDaniel Grumberg "Ship" 38728d79314SDaniel Grumberg ] 38871b4c226SZixu Wang }, 38971b4c226SZixu Wang { 39028d79314SDaniel Grumberg "accessLevel": "public", 39171b4c226SZixu Wang "declarationFragments": [ 39271b4c226SZixu Wang { 39371b4c226SZixu Wang "kind": "identifier", 39471b4c226SZixu Wang "spelling": "Airplane" 39571b4c226SZixu Wang } 39671b4c226SZixu Wang ], 39771b4c226SZixu Wang "identifier": { 39871b4c226SZixu Wang "interfaceLanguage": "c", 39971b4c226SZixu Wang "precise": "c:@E@Vehicle@Airplane" 40071b4c226SZixu Wang }, 40171b4c226SZixu Wang "kind": { 40271b4c226SZixu Wang "displayName": "Enumeration Case", 40371b4c226SZixu Wang "identifier": "c.enum.case" 40471b4c226SZixu Wang }, 40571b4c226SZixu Wang "location": { 40628d79314SDaniel Grumberg "position": { 40771b4c226SZixu Wang "character": 3, 40828d79314SDaniel Grumberg "line": 7 40928d79314SDaniel Grumberg }, 41071b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 41171b4c226SZixu Wang }, 41271b4c226SZixu Wang "names": { 41380ae3665SDaniel Grumberg "navigator": [ 41480ae3665SDaniel Grumberg { 41580ae3665SDaniel Grumberg "kind": "identifier", 41680ae3665SDaniel Grumberg "spelling": "Airplane" 41780ae3665SDaniel Grumberg } 41880ae3665SDaniel Grumberg ], 41971b4c226SZixu Wang "subHeading": [ 42071b4c226SZixu Wang { 42171b4c226SZixu Wang "kind": "identifier", 42271b4c226SZixu Wang "spelling": "Airplane" 42371b4c226SZixu Wang } 42471b4c226SZixu Wang ], 42571b4c226SZixu Wang "title": "Airplane" 42628d79314SDaniel Grumberg }, 42728d79314SDaniel Grumberg "pathComponents": [ 42828d79314SDaniel Grumberg "Vehicle", 42928d79314SDaniel Grumberg "Airplane" 43028d79314SDaniel Grumberg ] 43171b4c226SZixu Wang }, 43271b4c226SZixu Wang { 43328d79314SDaniel Grumberg "accessLevel": "public", 43471b4c226SZixu Wang "declarationFragments": [ 43571b4c226SZixu Wang { 43671b4c226SZixu Wang "kind": "keyword", 43771b4c226SZixu Wang "spelling": "enum" 43871b4c226SZixu Wang }, 43971b4c226SZixu Wang { 44071b4c226SZixu Wang "kind": "text", 44171b4c226SZixu Wang "spelling": " " 44271b4c226SZixu Wang }, 44371b4c226SZixu Wang { 44471b4c226SZixu Wang "kind": "identifier", 44571b4c226SZixu Wang "spelling": "Direction" 44671b4c226SZixu Wang }, 44771b4c226SZixu Wang { 44871b4c226SZixu Wang "kind": "text", 44971b4c226SZixu Wang "spelling": ": " 45071b4c226SZixu Wang }, 45171b4c226SZixu Wang { 45271b4c226SZixu Wang "kind": "typeIdentifier", 45371b4c226SZixu Wang "preciseIdentifier": "c:c", 45471b4c226SZixu Wang "spelling": "unsigned char" 45571b4c226SZixu Wang } 45671b4c226SZixu Wang ], 45771b4c226SZixu Wang "identifier": { 45871b4c226SZixu Wang "interfaceLanguage": "c", 45971b4c226SZixu Wang "precise": "c:@E@Direction" 46071b4c226SZixu Wang }, 46171b4c226SZixu Wang "kind": { 46271b4c226SZixu Wang "displayName": "Enumeration", 46371b4c226SZixu Wang "identifier": "c.enum" 46471b4c226SZixu Wang }, 46571b4c226SZixu Wang "location": { 46628d79314SDaniel Grumberg "position": { 46771b4c226SZixu Wang "character": 6, 46828d79314SDaniel Grumberg "line": 10 46928d79314SDaniel Grumberg }, 47071b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 47171b4c226SZixu Wang }, 47271b4c226SZixu Wang "names": { 47380ae3665SDaniel Grumberg "navigator": [ 47480ae3665SDaniel Grumberg { 47580ae3665SDaniel Grumberg "kind": "identifier", 47680ae3665SDaniel Grumberg "spelling": "Direction" 47780ae3665SDaniel Grumberg } 47880ae3665SDaniel Grumberg ], 47971b4c226SZixu Wang "subHeading": [ 48071b4c226SZixu Wang { 48171b4c226SZixu Wang "kind": "identifier", 48271b4c226SZixu Wang "spelling": "Direction" 48371b4c226SZixu Wang } 48471b4c226SZixu Wang ], 48571b4c226SZixu Wang "title": "Direction" 48628d79314SDaniel Grumberg }, 48728d79314SDaniel Grumberg "pathComponents": [ 48828d79314SDaniel Grumberg "Direction" 48928d79314SDaniel Grumberg ] 49071b4c226SZixu Wang }, 49171b4c226SZixu Wang { 49228d79314SDaniel Grumberg "accessLevel": "public", 49371b4c226SZixu Wang "declarationFragments": [ 49471b4c226SZixu Wang { 49571b4c226SZixu Wang "kind": "identifier", 49671b4c226SZixu Wang "spelling": "North" 49771b4c226SZixu Wang } 49871b4c226SZixu Wang ], 49971b4c226SZixu Wang "identifier": { 50071b4c226SZixu Wang "interfaceLanguage": "c", 50171b4c226SZixu Wang "precise": "c:@E@Direction@North" 50271b4c226SZixu Wang }, 50371b4c226SZixu Wang "kind": { 50471b4c226SZixu Wang "displayName": "Enumeration Case", 50571b4c226SZixu Wang "identifier": "c.enum.case" 50671b4c226SZixu Wang }, 50771b4c226SZixu Wang "location": { 50828d79314SDaniel Grumberg "position": { 50971b4c226SZixu Wang "character": 3, 51028d79314SDaniel Grumberg "line": 11 51128d79314SDaniel Grumberg }, 51271b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 51371b4c226SZixu Wang }, 51471b4c226SZixu Wang "names": { 51580ae3665SDaniel Grumberg "navigator": [ 51680ae3665SDaniel Grumberg { 51780ae3665SDaniel Grumberg "kind": "identifier", 51880ae3665SDaniel Grumberg "spelling": "North" 51980ae3665SDaniel Grumberg } 52080ae3665SDaniel Grumberg ], 52171b4c226SZixu Wang "subHeading": [ 52271b4c226SZixu Wang { 52371b4c226SZixu Wang "kind": "identifier", 52471b4c226SZixu Wang "spelling": "North" 52571b4c226SZixu Wang } 52671b4c226SZixu Wang ], 52771b4c226SZixu Wang "title": "North" 52828d79314SDaniel Grumberg }, 52928d79314SDaniel Grumberg "pathComponents": [ 53028d79314SDaniel Grumberg "Direction", 53128d79314SDaniel Grumberg "North" 53228d79314SDaniel Grumberg ] 53371b4c226SZixu Wang }, 53471b4c226SZixu Wang { 53528d79314SDaniel Grumberg "accessLevel": "public", 53671b4c226SZixu Wang "declarationFragments": [ 53771b4c226SZixu Wang { 53871b4c226SZixu Wang "kind": "identifier", 53971b4c226SZixu Wang "spelling": "East" 54071b4c226SZixu Wang } 54171b4c226SZixu Wang ], 54271b4c226SZixu Wang "identifier": { 54371b4c226SZixu Wang "interfaceLanguage": "c", 54471b4c226SZixu Wang "precise": "c:@E@Direction@East" 54571b4c226SZixu Wang }, 54671b4c226SZixu Wang "kind": { 54771b4c226SZixu Wang "displayName": "Enumeration Case", 54871b4c226SZixu Wang "identifier": "c.enum.case" 54971b4c226SZixu Wang }, 55071b4c226SZixu Wang "location": { 55128d79314SDaniel Grumberg "position": { 55271b4c226SZixu Wang "character": 3, 55328d79314SDaniel Grumberg "line": 12 55428d79314SDaniel Grumberg }, 55571b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 55671b4c226SZixu Wang }, 55771b4c226SZixu Wang "names": { 55880ae3665SDaniel Grumberg "navigator": [ 55980ae3665SDaniel Grumberg { 56080ae3665SDaniel Grumberg "kind": "identifier", 56180ae3665SDaniel Grumberg "spelling": "East" 56280ae3665SDaniel Grumberg } 56380ae3665SDaniel Grumberg ], 56471b4c226SZixu Wang "subHeading": [ 56571b4c226SZixu Wang { 56671b4c226SZixu Wang "kind": "identifier", 56771b4c226SZixu Wang "spelling": "East" 56871b4c226SZixu Wang } 56971b4c226SZixu Wang ], 57071b4c226SZixu Wang "title": "East" 57128d79314SDaniel Grumberg }, 57228d79314SDaniel Grumberg "pathComponents": [ 57328d79314SDaniel Grumberg "Direction", 57428d79314SDaniel Grumberg "East" 57528d79314SDaniel Grumberg ] 57671b4c226SZixu Wang }, 57771b4c226SZixu Wang { 57828d79314SDaniel Grumberg "accessLevel": "public", 57971b4c226SZixu Wang "declarationFragments": [ 58071b4c226SZixu Wang { 58171b4c226SZixu Wang "kind": "identifier", 58271b4c226SZixu Wang "spelling": "South" 58371b4c226SZixu Wang } 58471b4c226SZixu Wang ], 58571b4c226SZixu Wang "identifier": { 58671b4c226SZixu Wang "interfaceLanguage": "c", 58771b4c226SZixu Wang "precise": "c:@E@Direction@South" 58871b4c226SZixu Wang }, 58971b4c226SZixu Wang "kind": { 59071b4c226SZixu Wang "displayName": "Enumeration Case", 59171b4c226SZixu Wang "identifier": "c.enum.case" 59271b4c226SZixu Wang }, 59371b4c226SZixu Wang "location": { 59428d79314SDaniel Grumberg "position": { 59571b4c226SZixu Wang "character": 3, 59628d79314SDaniel Grumberg "line": 13 59728d79314SDaniel Grumberg }, 59871b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 59971b4c226SZixu Wang }, 60071b4c226SZixu Wang "names": { 60180ae3665SDaniel Grumberg "navigator": [ 60280ae3665SDaniel Grumberg { 60380ae3665SDaniel Grumberg "kind": "identifier", 60480ae3665SDaniel Grumberg "spelling": "South" 60580ae3665SDaniel Grumberg } 60680ae3665SDaniel Grumberg ], 60771b4c226SZixu Wang "subHeading": [ 60871b4c226SZixu Wang { 60971b4c226SZixu Wang "kind": "identifier", 61071b4c226SZixu Wang "spelling": "South" 61171b4c226SZixu Wang } 61271b4c226SZixu Wang ], 61371b4c226SZixu Wang "title": "South" 61428d79314SDaniel Grumberg }, 61528d79314SDaniel Grumberg "pathComponents": [ 61628d79314SDaniel Grumberg "Direction", 61728d79314SDaniel Grumberg "South" 61828d79314SDaniel Grumberg ] 61971b4c226SZixu Wang }, 62071b4c226SZixu Wang { 62128d79314SDaniel Grumberg "accessLevel": "public", 62271b4c226SZixu Wang "declarationFragments": [ 62371b4c226SZixu Wang { 62471b4c226SZixu Wang "kind": "identifier", 62571b4c226SZixu Wang "spelling": "West" 62671b4c226SZixu Wang } 62771b4c226SZixu Wang ], 62871b4c226SZixu Wang "identifier": { 62971b4c226SZixu Wang "interfaceLanguage": "c", 63071b4c226SZixu Wang "precise": "c:@E@Direction@West" 63171b4c226SZixu Wang }, 63271b4c226SZixu Wang "kind": { 63371b4c226SZixu Wang "displayName": "Enumeration Case", 63471b4c226SZixu Wang "identifier": "c.enum.case" 63571b4c226SZixu Wang }, 63671b4c226SZixu Wang "location": { 63728d79314SDaniel Grumberg "position": { 63871b4c226SZixu Wang "character": 3, 63928d79314SDaniel Grumberg "line": 14 64028d79314SDaniel Grumberg }, 64171b4c226SZixu Wang "uri": "file://INPUT_DIR/input.h" 64271b4c226SZixu Wang }, 64371b4c226SZixu Wang "names": { 64480ae3665SDaniel Grumberg "navigator": [ 64580ae3665SDaniel Grumberg { 64680ae3665SDaniel Grumberg "kind": "identifier", 64780ae3665SDaniel Grumberg "spelling": "West" 64880ae3665SDaniel Grumberg } 64980ae3665SDaniel Grumberg ], 65071b4c226SZixu Wang "subHeading": [ 65171b4c226SZixu Wang { 65271b4c226SZixu Wang "kind": "identifier", 65371b4c226SZixu Wang "spelling": "West" 65471b4c226SZixu Wang } 65571b4c226SZixu Wang ], 65671b4c226SZixu Wang "title": "West" 65728d79314SDaniel Grumberg }, 65828d79314SDaniel Grumberg "pathComponents": [ 65928d79314SDaniel Grumberg "Direction", 66028d79314SDaniel Grumberg "West" 66128d79314SDaniel Grumberg ] 662*7443a504SDaniel Grumberg }, 663*7443a504SDaniel Grumberg { 664*7443a504SDaniel Grumberg "accessLevel": "public", 665*7443a504SDaniel Grumberg "declarationFragments": [ 666*7443a504SDaniel Grumberg { 667*7443a504SDaniel Grumberg "kind": "keyword", 668*7443a504SDaniel Grumberg "spelling": "enum" 669*7443a504SDaniel Grumberg }, 670*7443a504SDaniel Grumberg { 671*7443a504SDaniel Grumberg "kind": "text", 672*7443a504SDaniel Grumberg "spelling": ": " 673*7443a504SDaniel Grumberg }, 674*7443a504SDaniel Grumberg { 675*7443a504SDaniel Grumberg "kind": "typeIdentifier", 676*7443a504SDaniel Grumberg "preciseIdentifier": "c:i", 677*7443a504SDaniel Grumberg "spelling": "unsigned int" 678*7443a504SDaniel Grumberg } 679*7443a504SDaniel Grumberg ], 680*7443a504SDaniel Grumberg "identifier": { 681*7443a504SDaniel Grumberg "interfaceLanguage": "c", 682*7443a504SDaniel Grumberg "precise": "c:@Ea@Constant" 683*7443a504SDaniel Grumberg }, 684*7443a504SDaniel Grumberg "kind": { 685*7443a504SDaniel Grumberg "displayName": "Enumeration", 686*7443a504SDaniel Grumberg "identifier": "c.enum" 687*7443a504SDaniel Grumberg }, 688*7443a504SDaniel Grumberg "location": { 689*7443a504SDaniel Grumberg "position": { 690*7443a504SDaniel Grumberg "character": 1, 691*7443a504SDaniel Grumberg "line": 17 692*7443a504SDaniel Grumberg }, 693*7443a504SDaniel Grumberg "uri": "file://INPUT_DIR/input.h" 694*7443a504SDaniel Grumberg }, 695*7443a504SDaniel Grumberg "names": { 696*7443a504SDaniel Grumberg "navigator": [ 697*7443a504SDaniel Grumberg { 698*7443a504SDaniel Grumberg "kind": "identifier", 699*7443a504SDaniel Grumberg "spelling": "(anonymous)" 700*7443a504SDaniel Grumberg } 701*7443a504SDaniel Grumberg ], 702*7443a504SDaniel Grumberg "title": "(anonymous)" 703*7443a504SDaniel Grumberg }, 704*7443a504SDaniel Grumberg "pathComponents": [ 705*7443a504SDaniel Grumberg "(anonymous)" 706*7443a504SDaniel Grumberg ] 707*7443a504SDaniel Grumberg }, 708*7443a504SDaniel Grumberg { 709*7443a504SDaniel Grumberg "accessLevel": "public", 710*7443a504SDaniel Grumberg "declarationFragments": [ 711*7443a504SDaniel Grumberg { 712*7443a504SDaniel Grumberg "kind": "identifier", 713*7443a504SDaniel Grumberg "spelling": "Constant" 714*7443a504SDaniel Grumberg } 715*7443a504SDaniel Grumberg ], 716*7443a504SDaniel Grumberg "identifier": { 717*7443a504SDaniel Grumberg "interfaceLanguage": "c", 718*7443a504SDaniel Grumberg "precise": "c:@Ea@Constant@Constant" 719*7443a504SDaniel Grumberg }, 720*7443a504SDaniel Grumberg "kind": { 721*7443a504SDaniel Grumberg "displayName": "Enumeration Case", 722*7443a504SDaniel Grumberg "identifier": "c.enum.case" 723*7443a504SDaniel Grumberg }, 724*7443a504SDaniel Grumberg "location": { 725*7443a504SDaniel Grumberg "position": { 726*7443a504SDaniel Grumberg "character": 3, 727*7443a504SDaniel Grumberg "line": 18 728*7443a504SDaniel Grumberg }, 729*7443a504SDaniel Grumberg "uri": "file://INPUT_DIR/input.h" 730*7443a504SDaniel Grumberg }, 731*7443a504SDaniel Grumberg "names": { 732*7443a504SDaniel Grumberg "navigator": [ 733*7443a504SDaniel Grumberg { 734*7443a504SDaniel Grumberg "kind": "identifier", 735*7443a504SDaniel Grumberg "spelling": "Constant" 736*7443a504SDaniel Grumberg } 737*7443a504SDaniel Grumberg ], 738*7443a504SDaniel Grumberg "subHeading": [ 739*7443a504SDaniel Grumberg { 740*7443a504SDaniel Grumberg "kind": "identifier", 741*7443a504SDaniel Grumberg "spelling": "Constant" 742*7443a504SDaniel Grumberg } 743*7443a504SDaniel Grumberg ], 744*7443a504SDaniel Grumberg "title": "Constant" 745*7443a504SDaniel Grumberg }, 746*7443a504SDaniel Grumberg "pathComponents": [ 747*7443a504SDaniel Grumberg "(anonymous)", 748*7443a504SDaniel Grumberg "Constant" 749*7443a504SDaniel Grumberg ] 750*7443a504SDaniel Grumberg }, 751*7443a504SDaniel Grumberg { 752*7443a504SDaniel Grumberg "accessLevel": "public", 753*7443a504SDaniel Grumberg "declarationFragments": [ 754*7443a504SDaniel Grumberg { 755*7443a504SDaniel Grumberg "kind": "keyword", 756*7443a504SDaniel Grumberg "spelling": "enum" 757*7443a504SDaniel Grumberg }, 758*7443a504SDaniel Grumberg { 759*7443a504SDaniel Grumberg "kind": "text", 760*7443a504SDaniel Grumberg "spelling": ": " 761*7443a504SDaniel Grumberg }, 762*7443a504SDaniel Grumberg { 763*7443a504SDaniel Grumberg "kind": "typeIdentifier", 764*7443a504SDaniel Grumberg "preciseIdentifier": "c:i", 765*7443a504SDaniel Grumberg "spelling": "unsigned int" 766*7443a504SDaniel Grumberg } 767*7443a504SDaniel Grumberg ], 768*7443a504SDaniel Grumberg "identifier": { 769*7443a504SDaniel Grumberg "interfaceLanguage": "c", 770*7443a504SDaniel Grumberg "precise": "c:@Ea@OtherConstant" 771*7443a504SDaniel Grumberg }, 772*7443a504SDaniel Grumberg "kind": { 773*7443a504SDaniel Grumberg "displayName": "Enumeration", 774*7443a504SDaniel Grumberg "identifier": "c.enum" 775*7443a504SDaniel Grumberg }, 776*7443a504SDaniel Grumberg "location": { 777*7443a504SDaniel Grumberg "position": { 778*7443a504SDaniel Grumberg "character": 1, 779*7443a504SDaniel Grumberg "line": 21 780*7443a504SDaniel Grumberg }, 781*7443a504SDaniel Grumberg "uri": "file://INPUT_DIR/input.h" 782*7443a504SDaniel Grumberg }, 783*7443a504SDaniel Grumberg "names": { 784*7443a504SDaniel Grumberg "navigator": [ 785*7443a504SDaniel Grumberg { 786*7443a504SDaniel Grumberg "kind": "identifier", 787*7443a504SDaniel Grumberg "spelling": "(anonymous)" 788*7443a504SDaniel Grumberg } 789*7443a504SDaniel Grumberg ], 790*7443a504SDaniel Grumberg "title": "(anonymous)" 791*7443a504SDaniel Grumberg }, 792*7443a504SDaniel Grumberg "pathComponents": [ 793*7443a504SDaniel Grumberg "(anonymous)" 794*7443a504SDaniel Grumberg ] 795*7443a504SDaniel Grumberg }, 796*7443a504SDaniel Grumberg { 797*7443a504SDaniel Grumberg "accessLevel": "public", 798*7443a504SDaniel Grumberg "declarationFragments": [ 799*7443a504SDaniel Grumberg { 800*7443a504SDaniel Grumberg "kind": "identifier", 801*7443a504SDaniel Grumberg "spelling": "OtherConstant" 802*7443a504SDaniel Grumberg } 803*7443a504SDaniel Grumberg ], 804*7443a504SDaniel Grumberg "identifier": { 805*7443a504SDaniel Grumberg "interfaceLanguage": "c", 806*7443a504SDaniel Grumberg "precise": "c:@Ea@OtherConstant@OtherConstant" 807*7443a504SDaniel Grumberg }, 808*7443a504SDaniel Grumberg "kind": { 809*7443a504SDaniel Grumberg "displayName": "Enumeration Case", 810*7443a504SDaniel Grumberg "identifier": "c.enum.case" 811*7443a504SDaniel Grumberg }, 812*7443a504SDaniel Grumberg "location": { 813*7443a504SDaniel Grumberg "position": { 814*7443a504SDaniel Grumberg "character": 3, 815*7443a504SDaniel Grumberg "line": 22 816*7443a504SDaniel Grumberg }, 817*7443a504SDaniel Grumberg "uri": "file://INPUT_DIR/input.h" 818*7443a504SDaniel Grumberg }, 819*7443a504SDaniel Grumberg "names": { 820*7443a504SDaniel Grumberg "navigator": [ 821*7443a504SDaniel Grumberg { 822*7443a504SDaniel Grumberg "kind": "identifier", 823*7443a504SDaniel Grumberg "spelling": "OtherConstant" 824*7443a504SDaniel Grumberg } 825*7443a504SDaniel Grumberg ], 826*7443a504SDaniel Grumberg "subHeading": [ 827*7443a504SDaniel Grumberg { 828*7443a504SDaniel Grumberg "kind": "identifier", 829*7443a504SDaniel Grumberg "spelling": "OtherConstant" 830*7443a504SDaniel Grumberg } 831*7443a504SDaniel Grumberg ], 832*7443a504SDaniel Grumberg "title": "OtherConstant" 833*7443a504SDaniel Grumberg }, 834*7443a504SDaniel Grumberg "pathComponents": [ 835*7443a504SDaniel Grumberg "(anonymous)", 836*7443a504SDaniel Grumberg "OtherConstant" 837*7443a504SDaniel Grumberg ] 83871b4c226SZixu Wang } 83971b4c226SZixu Wang ] 84071b4c226SZixu Wang } 841