19b36e126SZixu Wang// RUN: rm -rf %t 29b36e126SZixu 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 59b36e126SZixu Wang// RUN: %clang -extract-api -x objective-c-header -target arm64-apple-macosx \ 69b36e126SZixu Wang// RUN: %t/input.h -o %t/output.json | FileCheck -allow-empty %s 79b36e126SZixu Wang 89b36e126SZixu Wang// Generator version is not consistent across test runs, normalize it. 99b36e126SZixu Wang// RUN: sed -e "s@\"generator\": \".*\"@\"generator\": \"?\"@g" \ 109b36e126SZixu Wang// RUN: %t/output.json >> %t/output-normalized.json 119b36e126SZixu Wang// RUN: diff %t/reference.output.json %t/output-normalized.json 129b36e126SZixu Wang 139b36e126SZixu Wang// CHECK-NOT: error: 149b36e126SZixu Wang// CHECK-NOT: warning: 159b36e126SZixu Wang 169b36e126SZixu Wang//--- input.h 179b36e126SZixu Wang@protocol Protocol; 189b36e126SZixu Wang 199b36e126SZixu Wang@interface Super <Protocol> 209b36e126SZixu Wang@property(readonly, getter=getProperty) unsigned Property; 219b36e126SZixu Wang+ (id)getWithProperty:(unsigned) Property; 2280ae3665SDaniel Grumberg- (void)setProperty:(unsigned) Property andOtherThing: (unsigned) Thing; 239b36e126SZixu Wang@end 249b36e126SZixu Wang 259b36e126SZixu Wang@interface Derived : Super { 269b36e126SZixu Wang char Ivar; 279b36e126SZixu Wang} 289b36e126SZixu Wang- (char)getIvar; 299b36e126SZixu Wang@end 309b36e126SZixu Wang 319b36e126SZixu Wang//--- reference.output.json.in 329b36e126SZixu Wang{ 339b36e126SZixu Wang "metadata": { 349b36e126SZixu Wang "formatVersion": { 359b36e126SZixu Wang "major": 0, 369b36e126SZixu Wang "minor": 5, 379b36e126SZixu Wang "patch": 3 389b36e126SZixu Wang }, 399b36e126SZixu Wang "generator": "?" 409b36e126SZixu Wang }, 419b36e126SZixu Wang "module": { 429b36e126SZixu Wang "name": "", 439b36e126SZixu Wang "platform": { 449b36e126SZixu Wang "architecture": "arm64", 459b36e126SZixu Wang "operatingSystem": { 469b36e126SZixu Wang "minimumVersion": { 479b36e126SZixu Wang "major": 11, 489b36e126SZixu Wang "minor": 0, 499b36e126SZixu Wang "patch": 0 509b36e126SZixu Wang }, 519b36e126SZixu Wang "name": "macosx" 529b36e126SZixu Wang }, 539b36e126SZixu Wang "vendor": "apple" 549b36e126SZixu Wang } 559b36e126SZixu Wang }, 5628d79314SDaniel Grumberg "relationships": [ 579b36e126SZixu Wang { 589b36e126SZixu Wang "kind": "memberOf", 599b36e126SZixu Wang "source": "c:objc(cs)Super(cm)getWithProperty:", 609b36e126SZixu Wang "target": "c:objc(cs)Super" 619b36e126SZixu Wang }, 629b36e126SZixu Wang { 639b36e126SZixu Wang "kind": "memberOf", 6480ae3665SDaniel Grumberg "source": "c:objc(cs)Super(im)setProperty:andOtherThing:", 6580ae3665SDaniel Grumberg "target": "c:objc(cs)Super" 6680ae3665SDaniel Grumberg }, 6780ae3665SDaniel Grumberg { 6880ae3665SDaniel Grumberg "kind": "memberOf", 699b36e126SZixu Wang "source": "c:objc(cs)Super(py)Property", 709b36e126SZixu Wang "target": "c:objc(cs)Super" 719b36e126SZixu Wang }, 729b36e126SZixu Wang { 739b36e126SZixu Wang "kind": "conformsTo", 749b36e126SZixu Wang "source": "c:objc(cs)Super", 759b36e126SZixu Wang "target": "c:objc(pl)Protocol" 769b36e126SZixu Wang }, 779b36e126SZixu Wang { 789b36e126SZixu Wang "kind": "memberOf", 799b36e126SZixu Wang "source": "c:objc(cs)Derived@Ivar", 809b36e126SZixu Wang "target": "c:objc(cs)Derived" 819b36e126SZixu Wang }, 829b36e126SZixu Wang { 839b36e126SZixu Wang "kind": "memberOf", 849b36e126SZixu Wang "source": "c:objc(cs)Derived(im)getIvar", 859b36e126SZixu Wang "target": "c:objc(cs)Derived" 869b36e126SZixu Wang }, 879b36e126SZixu Wang { 889b36e126SZixu Wang "kind": "inheritsFrom", 899b36e126SZixu Wang "source": "c:objc(cs)Derived", 909b36e126SZixu Wang "target": "c:objc(cs)Super" 919b36e126SZixu Wang } 929b36e126SZixu Wang ], 939b36e126SZixu Wang "symbols": [ 949b36e126SZixu Wang { 9528d79314SDaniel Grumberg "accessLevel": "public", 969b36e126SZixu Wang "declarationFragments": [ 979b36e126SZixu Wang { 989b36e126SZixu Wang "kind": "keyword", 999b36e126SZixu Wang "spelling": "@interface" 1009b36e126SZixu Wang }, 1019b36e126SZixu Wang { 1029b36e126SZixu Wang "kind": "text", 1039b36e126SZixu Wang "spelling": " " 1049b36e126SZixu Wang }, 1059b36e126SZixu Wang { 1069b36e126SZixu Wang "kind": "identifier", 1079b36e126SZixu Wang "spelling": "Super" 1089b36e126SZixu Wang } 1099b36e126SZixu Wang ], 1109b36e126SZixu Wang "identifier": { 1119b36e126SZixu Wang "interfaceLanguage": "objective-c", 1129b36e126SZixu Wang "precise": "c:objc(cs)Super" 1139b36e126SZixu Wang }, 1149b36e126SZixu Wang "kind": { 1159b36e126SZixu Wang "displayName": "Class", 1169b36e126SZixu Wang "identifier": "objective-c.class" 1179b36e126SZixu Wang }, 1189b36e126SZixu Wang "location": { 11928d79314SDaniel Grumberg "position": { 1209b36e126SZixu Wang "character": 12, 12128d79314SDaniel Grumberg "line": 3 12228d79314SDaniel Grumberg }, 1239b36e126SZixu Wang "uri": "file://INPUT_DIR/input.h" 1249b36e126SZixu Wang }, 1259b36e126SZixu Wang "names": { 12680ae3665SDaniel Grumberg "navigator": [ 12780ae3665SDaniel Grumberg { 12880ae3665SDaniel Grumberg "kind": "identifier", 12980ae3665SDaniel Grumberg "spelling": "Super" 13080ae3665SDaniel Grumberg } 13180ae3665SDaniel Grumberg ], 1329b36e126SZixu Wang "subHeading": [ 1339b36e126SZixu Wang { 1349b36e126SZixu Wang "kind": "identifier", 1359b36e126SZixu Wang "spelling": "Super" 1369b36e126SZixu Wang } 1379b36e126SZixu Wang ], 1389b36e126SZixu Wang "title": "Super" 13928d79314SDaniel Grumberg }, 14028d79314SDaniel Grumberg "pathComponents": [ 14128d79314SDaniel Grumberg "Super" 14228d79314SDaniel Grumberg ] 1439b36e126SZixu Wang }, 1449b36e126SZixu Wang { 14528d79314SDaniel Grumberg "accessLevel": "public", 1469b36e126SZixu Wang "declarationFragments": [ 1479b36e126SZixu Wang { 1489b36e126SZixu Wang "kind": "text", 1499b36e126SZixu Wang "spelling": "+ (" 1509b36e126SZixu Wang }, 1519b36e126SZixu Wang { 1529b36e126SZixu Wang "kind": "keyword", 1539b36e126SZixu Wang "spelling": "id" 1549b36e126SZixu Wang }, 1559b36e126SZixu Wang { 1569b36e126SZixu Wang "kind": "text", 1579b36e126SZixu Wang "spelling": ") " 1589b36e126SZixu Wang }, 1599b36e126SZixu Wang { 1609b36e126SZixu Wang "kind": "identifier", 1614048aad8SZixu Wang "spelling": "getWithProperty:" 1629b36e126SZixu Wang }, 1639b36e126SZixu Wang { 1649b36e126SZixu Wang "kind": "text", 1659b36e126SZixu Wang "spelling": "(" 1669b36e126SZixu Wang }, 1679b36e126SZixu Wang { 1689b36e126SZixu Wang "kind": "typeIdentifier", 1699b36e126SZixu Wang "preciseIdentifier": "c:i", 1709b36e126SZixu Wang "spelling": "unsigned int" 1719b36e126SZixu Wang }, 1729b36e126SZixu Wang { 1739b36e126SZixu Wang "kind": "text", 1749b36e126SZixu Wang "spelling": ") " 1759b36e126SZixu Wang }, 1769b36e126SZixu Wang { 1779b36e126SZixu Wang "kind": "internalParam", 1789b36e126SZixu Wang "spelling": "Property" 1794048aad8SZixu Wang }, 1804048aad8SZixu Wang { 1814048aad8SZixu Wang "kind": "text", 1824048aad8SZixu Wang "spelling": ";" 1839b36e126SZixu Wang } 1849b36e126SZixu Wang ], 185236b6a0eSDaniel Grumberg "functionSignature": { 186236b6a0eSDaniel Grumberg "parameters": [ 187236b6a0eSDaniel Grumberg { 188236b6a0eSDaniel Grumberg "declarationFragments": [ 189236b6a0eSDaniel Grumberg { 190236b6a0eSDaniel Grumberg "kind": "text", 191236b6a0eSDaniel Grumberg "spelling": "(" 192236b6a0eSDaniel Grumberg }, 193236b6a0eSDaniel Grumberg { 194236b6a0eSDaniel Grumberg "kind": "typeIdentifier", 195236b6a0eSDaniel Grumberg "preciseIdentifier": "c:i", 196236b6a0eSDaniel Grumberg "spelling": "unsigned int" 197236b6a0eSDaniel Grumberg }, 198236b6a0eSDaniel Grumberg { 199236b6a0eSDaniel Grumberg "kind": "text", 200236b6a0eSDaniel Grumberg "spelling": ") " 201236b6a0eSDaniel Grumberg }, 202236b6a0eSDaniel Grumberg { 203236b6a0eSDaniel Grumberg "kind": "internalParam", 204236b6a0eSDaniel Grumberg "spelling": "Property" 205236b6a0eSDaniel Grumberg } 206236b6a0eSDaniel Grumberg ], 207236b6a0eSDaniel Grumberg "name": "Property" 208236b6a0eSDaniel Grumberg } 209236b6a0eSDaniel Grumberg ], 210236b6a0eSDaniel Grumberg "returns": [ 211236b6a0eSDaniel Grumberg { 212236b6a0eSDaniel Grumberg "kind": "keyword", 213236b6a0eSDaniel Grumberg "spelling": "id" 214236b6a0eSDaniel Grumberg } 215236b6a0eSDaniel Grumberg ] 216236b6a0eSDaniel Grumberg }, 2179b36e126SZixu Wang "identifier": { 2189b36e126SZixu Wang "interfaceLanguage": "objective-c", 2199b36e126SZixu Wang "precise": "c:objc(cs)Super(cm)getWithProperty:" 2209b36e126SZixu Wang }, 2219b36e126SZixu Wang "kind": { 2229b36e126SZixu Wang "displayName": "Type Method", 2239b36e126SZixu Wang "identifier": "objective-c.type.method" 2249b36e126SZixu Wang }, 2259b36e126SZixu Wang "location": { 22628d79314SDaniel Grumberg "position": { 2279b36e126SZixu Wang "character": 1, 22828d79314SDaniel Grumberg "line": 5 22928d79314SDaniel Grumberg }, 2309b36e126SZixu Wang "uri": "file://INPUT_DIR/input.h" 2319b36e126SZixu Wang }, 2329b36e126SZixu Wang "names": { 23380ae3665SDaniel Grumberg "navigator": [ 23480ae3665SDaniel Grumberg { 23580ae3665SDaniel Grumberg "kind": "identifier", 23680ae3665SDaniel Grumberg "spelling": "getWithProperty:" 23780ae3665SDaniel Grumberg } 23880ae3665SDaniel Grumberg ], 2399b36e126SZixu Wang "subHeading": [ 2409b36e126SZixu Wang { 2419b36e126SZixu Wang "kind": "text", 2429b36e126SZixu Wang "spelling": "+ " 2439b36e126SZixu Wang }, 2449b36e126SZixu Wang { 2459b36e126SZixu Wang "kind": "identifier", 2469b36e126SZixu Wang "spelling": "getWithProperty:" 2479b36e126SZixu Wang } 2489b36e126SZixu Wang ], 2499b36e126SZixu Wang "title": "getWithProperty:" 25028d79314SDaniel Grumberg }, 25128d79314SDaniel Grumberg "pathComponents": [ 25228d79314SDaniel Grumberg "Super", 25328d79314SDaniel Grumberg "getWithProperty:" 25428d79314SDaniel Grumberg ] 2559b36e126SZixu Wang }, 2569b36e126SZixu Wang { 25728d79314SDaniel Grumberg "accessLevel": "public", 2589b36e126SZixu Wang "declarationFragments": [ 2599b36e126SZixu Wang { 26080ae3665SDaniel Grumberg "kind": "text", 26180ae3665SDaniel Grumberg "spelling": "- (" 26280ae3665SDaniel Grumberg }, 26380ae3665SDaniel Grumberg { 26480ae3665SDaniel Grumberg "kind": "typeIdentifier", 26580ae3665SDaniel Grumberg "preciseIdentifier": "c:v", 26680ae3665SDaniel Grumberg "spelling": "void" 26780ae3665SDaniel Grumberg }, 26880ae3665SDaniel Grumberg { 26980ae3665SDaniel Grumberg "kind": "text", 27080ae3665SDaniel Grumberg "spelling": ") " 27180ae3665SDaniel Grumberg }, 27280ae3665SDaniel Grumberg { 27380ae3665SDaniel Grumberg "kind": "identifier", 27480ae3665SDaniel Grumberg "spelling": "setProperty:" 27580ae3665SDaniel Grumberg }, 27680ae3665SDaniel Grumberg { 27780ae3665SDaniel Grumberg "kind": "text", 27880ae3665SDaniel Grumberg "spelling": "(" 27980ae3665SDaniel Grumberg }, 28080ae3665SDaniel Grumberg { 28180ae3665SDaniel Grumberg "kind": "typeIdentifier", 28280ae3665SDaniel Grumberg "preciseIdentifier": "c:i", 28380ae3665SDaniel Grumberg "spelling": "unsigned int" 28480ae3665SDaniel Grumberg }, 28580ae3665SDaniel Grumberg { 28680ae3665SDaniel Grumberg "kind": "text", 28780ae3665SDaniel Grumberg "spelling": ") " 28880ae3665SDaniel Grumberg }, 28980ae3665SDaniel Grumberg { 29080ae3665SDaniel Grumberg "kind": "internalParam", 29180ae3665SDaniel Grumberg "spelling": "Property" 29280ae3665SDaniel Grumberg }, 29380ae3665SDaniel Grumberg { 29480ae3665SDaniel Grumberg "kind": "text", 29580ae3665SDaniel Grumberg "spelling": " " 29680ae3665SDaniel Grumberg }, 29780ae3665SDaniel Grumberg { 29880ae3665SDaniel Grumberg "kind": "identifier", 29980ae3665SDaniel Grumberg "spelling": "andOtherThing:" 30080ae3665SDaniel Grumberg }, 30180ae3665SDaniel Grumberg { 30280ae3665SDaniel Grumberg "kind": "text", 30380ae3665SDaniel Grumberg "spelling": "(" 30480ae3665SDaniel Grumberg }, 30580ae3665SDaniel Grumberg { 30680ae3665SDaniel Grumberg "kind": "typeIdentifier", 30780ae3665SDaniel Grumberg "preciseIdentifier": "c:i", 30880ae3665SDaniel Grumberg "spelling": "unsigned int" 30980ae3665SDaniel Grumberg }, 31080ae3665SDaniel Grumberg { 31180ae3665SDaniel Grumberg "kind": "text", 31280ae3665SDaniel Grumberg "spelling": ") " 31380ae3665SDaniel Grumberg }, 31480ae3665SDaniel Grumberg { 31580ae3665SDaniel Grumberg "kind": "internalParam", 31680ae3665SDaniel Grumberg "spelling": "Thing" 31780ae3665SDaniel Grumberg }, 31880ae3665SDaniel Grumberg { 31980ae3665SDaniel Grumberg "kind": "text", 32080ae3665SDaniel Grumberg "spelling": ";" 32180ae3665SDaniel Grumberg } 32280ae3665SDaniel Grumberg ], 323236b6a0eSDaniel Grumberg "functionSignature": { 324236b6a0eSDaniel Grumberg "parameters": [ 325236b6a0eSDaniel Grumberg { 326236b6a0eSDaniel Grumberg "declarationFragments": [ 327236b6a0eSDaniel Grumberg { 328236b6a0eSDaniel Grumberg "kind": "text", 329236b6a0eSDaniel Grumberg "spelling": "(" 330236b6a0eSDaniel Grumberg }, 331236b6a0eSDaniel Grumberg { 332236b6a0eSDaniel Grumberg "kind": "typeIdentifier", 333236b6a0eSDaniel Grumberg "preciseIdentifier": "c:i", 334236b6a0eSDaniel Grumberg "spelling": "unsigned int" 335236b6a0eSDaniel Grumberg }, 336236b6a0eSDaniel Grumberg { 337236b6a0eSDaniel Grumberg "kind": "text", 338236b6a0eSDaniel Grumberg "spelling": ") " 339236b6a0eSDaniel Grumberg }, 340236b6a0eSDaniel Grumberg { 341236b6a0eSDaniel Grumberg "kind": "internalParam", 342236b6a0eSDaniel Grumberg "spelling": "Property" 343236b6a0eSDaniel Grumberg } 344236b6a0eSDaniel Grumberg ], 345236b6a0eSDaniel Grumberg "name": "Property" 346236b6a0eSDaniel Grumberg }, 347236b6a0eSDaniel Grumberg { 348236b6a0eSDaniel Grumberg "declarationFragments": [ 349236b6a0eSDaniel Grumberg { 350236b6a0eSDaniel Grumberg "kind": "text", 351236b6a0eSDaniel Grumberg "spelling": "(" 352236b6a0eSDaniel Grumberg }, 353236b6a0eSDaniel Grumberg { 354236b6a0eSDaniel Grumberg "kind": "typeIdentifier", 355236b6a0eSDaniel Grumberg "preciseIdentifier": "c:i", 356236b6a0eSDaniel Grumberg "spelling": "unsigned int" 357236b6a0eSDaniel Grumberg }, 358236b6a0eSDaniel Grumberg { 359236b6a0eSDaniel Grumberg "kind": "text", 360236b6a0eSDaniel Grumberg "spelling": ") " 361236b6a0eSDaniel Grumberg }, 362236b6a0eSDaniel Grumberg { 363236b6a0eSDaniel Grumberg "kind": "internalParam", 364236b6a0eSDaniel Grumberg "spelling": "Thing" 365236b6a0eSDaniel Grumberg } 366236b6a0eSDaniel Grumberg ], 367236b6a0eSDaniel Grumberg "name": "Thing" 368236b6a0eSDaniel Grumberg } 369236b6a0eSDaniel Grumberg ], 370236b6a0eSDaniel Grumberg "returns": [ 371236b6a0eSDaniel Grumberg { 372236b6a0eSDaniel Grumberg "kind": "typeIdentifier", 373236b6a0eSDaniel Grumberg "preciseIdentifier": "c:v", 374236b6a0eSDaniel Grumberg "spelling": "void" 375236b6a0eSDaniel Grumberg } 376236b6a0eSDaniel Grumberg ] 377236b6a0eSDaniel Grumberg }, 37880ae3665SDaniel Grumberg "identifier": { 37980ae3665SDaniel Grumberg "interfaceLanguage": "objective-c", 38080ae3665SDaniel Grumberg "precise": "c:objc(cs)Super(im)setProperty:andOtherThing:" 38180ae3665SDaniel Grumberg }, 38280ae3665SDaniel Grumberg "kind": { 38380ae3665SDaniel Grumberg "displayName": "Instance Method", 38480ae3665SDaniel Grumberg "identifier": "objective-c.method" 38580ae3665SDaniel Grumberg }, 38680ae3665SDaniel Grumberg "location": { 38780ae3665SDaniel Grumberg "position": { 38880ae3665SDaniel Grumberg "character": 1, 38980ae3665SDaniel Grumberg "line": 6 39080ae3665SDaniel Grumberg }, 39180ae3665SDaniel Grumberg "uri": "file://INPUT_DIR/input.h" 39280ae3665SDaniel Grumberg }, 39380ae3665SDaniel Grumberg "names": { 39480ae3665SDaniel Grumberg "navigator": [ 39580ae3665SDaniel Grumberg { 39680ae3665SDaniel Grumberg "kind": "identifier", 39780ae3665SDaniel Grumberg "spelling": "setProperty:andOtherThing:" 39880ae3665SDaniel Grumberg } 39980ae3665SDaniel Grumberg ], 40080ae3665SDaniel Grumberg "subHeading": [ 40180ae3665SDaniel Grumberg { 40280ae3665SDaniel Grumberg "kind": "text", 40380ae3665SDaniel Grumberg "spelling": "- " 40480ae3665SDaniel Grumberg }, 40580ae3665SDaniel Grumberg { 40680ae3665SDaniel Grumberg "kind": "identifier", 40780ae3665SDaniel Grumberg "spelling": "setProperty:andOtherThing:" 40880ae3665SDaniel Grumberg } 40980ae3665SDaniel Grumberg ], 41080ae3665SDaniel Grumberg "title": "setProperty:andOtherThing:" 41180ae3665SDaniel Grumberg }, 41280ae3665SDaniel Grumberg "pathComponents": [ 41380ae3665SDaniel Grumberg "Super", 41480ae3665SDaniel Grumberg "setProperty:andOtherThing:" 41580ae3665SDaniel Grumberg ] 41680ae3665SDaniel Grumberg }, 41780ae3665SDaniel Grumberg { 41880ae3665SDaniel Grumberg "accessLevel": "public", 41980ae3665SDaniel Grumberg "declarationFragments": [ 42080ae3665SDaniel Grumberg { 4219b36e126SZixu Wang "kind": "keyword", 4229b36e126SZixu Wang "spelling": "@property" 4239b36e126SZixu Wang }, 4249b36e126SZixu Wang { 4259b36e126SZixu Wang "kind": "text", 4269b36e126SZixu Wang "spelling": " (" 4279b36e126SZixu Wang }, 4289b36e126SZixu Wang { 4299b36e126SZixu Wang "kind": "keyword", 4309b36e126SZixu Wang "spelling": "atomic" 4319b36e126SZixu Wang }, 4329b36e126SZixu Wang { 4339b36e126SZixu Wang "kind": "text", 4349b36e126SZixu Wang "spelling": ", " 4359b36e126SZixu Wang }, 4369b36e126SZixu Wang { 4379b36e126SZixu Wang "kind": "keyword", 4389b36e126SZixu Wang "spelling": "readonly" 4399b36e126SZixu Wang }, 4409b36e126SZixu Wang { 4419b36e126SZixu Wang "kind": "text", 4429b36e126SZixu Wang "spelling": ", " 4439b36e126SZixu Wang }, 4449b36e126SZixu Wang { 4459b36e126SZixu Wang "kind": "keyword", 4469b36e126SZixu Wang "spelling": "getter" 4479b36e126SZixu Wang }, 4489b36e126SZixu Wang { 4499b36e126SZixu Wang "kind": "text", 4509b36e126SZixu Wang "spelling": "=" 4519b36e126SZixu Wang }, 4529b36e126SZixu Wang { 4539b36e126SZixu Wang "kind": "identifier", 4549b36e126SZixu Wang "spelling": "getProperty" 4559b36e126SZixu Wang }, 4569b36e126SZixu Wang { 4579b36e126SZixu Wang "kind": "text", 4589b36e126SZixu Wang "spelling": ") " 4599b36e126SZixu Wang }, 4609b36e126SZixu Wang { 4619b36e126SZixu Wang "kind": "typeIdentifier", 4629b36e126SZixu Wang "preciseIdentifier": "c:i", 4639b36e126SZixu Wang "spelling": "unsigned int" 4649b36e126SZixu Wang }, 4659b36e126SZixu Wang { 4669b36e126SZixu Wang "kind": "identifier", 4679b36e126SZixu Wang "spelling": "Property" 4689b36e126SZixu Wang } 4699b36e126SZixu Wang ], 4709b36e126SZixu Wang "identifier": { 4719b36e126SZixu Wang "interfaceLanguage": "objective-c", 4729b36e126SZixu Wang "precise": "c:objc(cs)Super(py)Property" 4739b36e126SZixu Wang }, 4749b36e126SZixu Wang "kind": { 4759b36e126SZixu Wang "displayName": "Instance Property", 4769b36e126SZixu Wang "identifier": "objective-c.property" 4779b36e126SZixu Wang }, 4789b36e126SZixu Wang "location": { 47928d79314SDaniel Grumberg "position": { 4809b36e126SZixu Wang "character": 50, 48128d79314SDaniel Grumberg "line": 4 48228d79314SDaniel Grumberg }, 4839b36e126SZixu Wang "uri": "file://INPUT_DIR/input.h" 4849b36e126SZixu Wang }, 4859b36e126SZixu Wang "names": { 48680ae3665SDaniel Grumberg "navigator": [ 48780ae3665SDaniel Grumberg { 48880ae3665SDaniel Grumberg "kind": "identifier", 48980ae3665SDaniel Grumberg "spelling": "Property" 49080ae3665SDaniel Grumberg } 49180ae3665SDaniel Grumberg ], 4929b36e126SZixu Wang "subHeading": [ 4939b36e126SZixu Wang { 4949b36e126SZixu Wang "kind": "identifier", 4959b36e126SZixu Wang "spelling": "Property" 4969b36e126SZixu Wang } 4979b36e126SZixu Wang ], 4989b36e126SZixu Wang "title": "Property" 49928d79314SDaniel Grumberg }, 50028d79314SDaniel Grumberg "pathComponents": [ 50128d79314SDaniel Grumberg "Super", 50228d79314SDaniel Grumberg "Property" 50328d79314SDaniel Grumberg ] 5049b36e126SZixu Wang }, 5059b36e126SZixu Wang { 50628d79314SDaniel Grumberg "accessLevel": "public", 5079b36e126SZixu Wang "declarationFragments": [ 5089b36e126SZixu Wang { 5099b36e126SZixu Wang "kind": "keyword", 5109b36e126SZixu Wang "spelling": "@interface" 5119b36e126SZixu Wang }, 5129b36e126SZixu Wang { 5139b36e126SZixu Wang "kind": "text", 5149b36e126SZixu Wang "spelling": " " 5159b36e126SZixu Wang }, 5169b36e126SZixu Wang { 5179b36e126SZixu Wang "kind": "identifier", 5189b36e126SZixu Wang "spelling": "Derived" 5199b36e126SZixu Wang }, 5209b36e126SZixu Wang { 5219b36e126SZixu Wang "kind": "text", 5229b36e126SZixu Wang "spelling": " : " 5239b36e126SZixu Wang }, 5249b36e126SZixu Wang { 5259b36e126SZixu Wang "kind": "typeIdentifier", 5269b36e126SZixu Wang "preciseIdentifier": "c:objc(cs)Super", 5279b36e126SZixu Wang "spelling": "Super" 5289b36e126SZixu Wang } 5299b36e126SZixu Wang ], 5309b36e126SZixu Wang "identifier": { 5319b36e126SZixu Wang "interfaceLanguage": "objective-c", 5329b36e126SZixu Wang "precise": "c:objc(cs)Derived" 5339b36e126SZixu Wang }, 5349b36e126SZixu Wang "kind": { 5359b36e126SZixu Wang "displayName": "Class", 5369b36e126SZixu Wang "identifier": "objective-c.class" 5379b36e126SZixu Wang }, 5389b36e126SZixu Wang "location": { 53928d79314SDaniel Grumberg "position": { 5409b36e126SZixu Wang "character": 12, 54180ae3665SDaniel Grumberg "line": 9 54228d79314SDaniel Grumberg }, 5439b36e126SZixu Wang "uri": "file://INPUT_DIR/input.h" 5449b36e126SZixu Wang }, 5459b36e126SZixu Wang "names": { 54680ae3665SDaniel Grumberg "navigator": [ 54780ae3665SDaniel Grumberg { 54880ae3665SDaniel Grumberg "kind": "identifier", 54980ae3665SDaniel Grumberg "spelling": "Derived" 55080ae3665SDaniel Grumberg } 55180ae3665SDaniel Grumberg ], 5529b36e126SZixu Wang "subHeading": [ 5539b36e126SZixu Wang { 5549b36e126SZixu Wang "kind": "identifier", 5559b36e126SZixu Wang "spelling": "Derived" 5569b36e126SZixu Wang } 5579b36e126SZixu Wang ], 5589b36e126SZixu Wang "title": "Derived" 55928d79314SDaniel Grumberg }, 56028d79314SDaniel Grumberg "pathComponents": [ 56128d79314SDaniel Grumberg "Derived" 56228d79314SDaniel Grumberg ] 5639b36e126SZixu Wang }, 5649b36e126SZixu Wang { 56528d79314SDaniel Grumberg "accessLevel": "public", 5669b36e126SZixu Wang "declarationFragments": [ 5679b36e126SZixu Wang { 5689b36e126SZixu Wang "kind": "typeIdentifier", 5699b36e126SZixu Wang "preciseIdentifier": "c:C", 5709b36e126SZixu Wang "spelling": "char" 5719b36e126SZixu Wang }, 5729b36e126SZixu Wang { 5739b36e126SZixu Wang "kind": "text", 5749b36e126SZixu Wang "spelling": " " 5759b36e126SZixu Wang }, 5769b36e126SZixu Wang { 5779b36e126SZixu Wang "kind": "identifier", 5789b36e126SZixu Wang "spelling": "Ivar" 5799b36e126SZixu Wang } 5809b36e126SZixu Wang ], 5819b36e126SZixu Wang "identifier": { 5829b36e126SZixu Wang "interfaceLanguage": "objective-c", 5839b36e126SZixu Wang "precise": "c:objc(cs)Derived@Ivar" 5849b36e126SZixu Wang }, 5859b36e126SZixu Wang "kind": { 5869b36e126SZixu Wang "displayName": "Instance Variable", 5879b36e126SZixu Wang "identifier": "objective-c.ivar" 5889b36e126SZixu Wang }, 5899b36e126SZixu Wang "location": { 59028d79314SDaniel Grumberg "position": { 5919b36e126SZixu Wang "character": 8, 59280ae3665SDaniel Grumberg "line": 10 59328d79314SDaniel Grumberg }, 5949b36e126SZixu Wang "uri": "file://INPUT_DIR/input.h" 5959b36e126SZixu Wang }, 5969b36e126SZixu Wang "names": { 59780ae3665SDaniel Grumberg "navigator": [ 59880ae3665SDaniel Grumberg { 59980ae3665SDaniel Grumberg "kind": "identifier", 60080ae3665SDaniel Grumberg "spelling": "Ivar" 60180ae3665SDaniel Grumberg } 60280ae3665SDaniel Grumberg ], 6039b36e126SZixu Wang "subHeading": [ 6049b36e126SZixu Wang { 6059b36e126SZixu Wang "kind": "identifier", 6069b36e126SZixu Wang "spelling": "Ivar" 6079b36e126SZixu Wang } 6089b36e126SZixu Wang ], 6099b36e126SZixu Wang "title": "Ivar" 61028d79314SDaniel Grumberg }, 61128d79314SDaniel Grumberg "pathComponents": [ 61228d79314SDaniel Grumberg "Derived", 61328d79314SDaniel Grumberg "Ivar" 61428d79314SDaniel Grumberg ] 6159b36e126SZixu Wang }, 6169b36e126SZixu Wang { 61728d79314SDaniel Grumberg "accessLevel": "public", 6189b36e126SZixu Wang "declarationFragments": [ 6199b36e126SZixu Wang { 6209b36e126SZixu Wang "kind": "text", 6219b36e126SZixu Wang "spelling": "- (" 6229b36e126SZixu Wang }, 6239b36e126SZixu Wang { 6249b36e126SZixu Wang "kind": "typeIdentifier", 6259b36e126SZixu Wang "preciseIdentifier": "c:C", 6269b36e126SZixu Wang "spelling": "char" 6279b36e126SZixu Wang }, 6289b36e126SZixu Wang { 6299b36e126SZixu Wang "kind": "text", 6309b36e126SZixu Wang "spelling": ") " 6319b36e126SZixu Wang }, 6329b36e126SZixu Wang { 6339b36e126SZixu Wang "kind": "identifier", 6349b36e126SZixu Wang "spelling": "getIvar" 6354048aad8SZixu Wang }, 6364048aad8SZixu Wang { 6374048aad8SZixu Wang "kind": "text", 6384048aad8SZixu Wang "spelling": ";" 6399b36e126SZixu Wang } 6409b36e126SZixu Wang ], 641236b6a0eSDaniel Grumberg "functionSignature": { 642236b6a0eSDaniel Grumberg "returns": [ 643236b6a0eSDaniel Grumberg { 644236b6a0eSDaniel Grumberg "kind": "typeIdentifier", 645236b6a0eSDaniel Grumberg "preciseIdentifier": "c:C", 646236b6a0eSDaniel Grumberg "spelling": "char" 647236b6a0eSDaniel Grumberg } 648236b6a0eSDaniel Grumberg ] 649236b6a0eSDaniel Grumberg }, 6509b36e126SZixu Wang "identifier": { 6519b36e126SZixu Wang "interfaceLanguage": "objective-c", 6529b36e126SZixu Wang "precise": "c:objc(cs)Derived(im)getIvar" 6539b36e126SZixu Wang }, 6549b36e126SZixu Wang "kind": { 6559b36e126SZixu Wang "displayName": "Instance Method", 6569b36e126SZixu Wang "identifier": "objective-c.method" 6579b36e126SZixu Wang }, 6589b36e126SZixu Wang "location": { 65928d79314SDaniel Grumberg "position": { 6609b36e126SZixu Wang "character": 1, 66180ae3665SDaniel Grumberg "line": 12 66228d79314SDaniel Grumberg }, 6639b36e126SZixu Wang "uri": "file://INPUT_DIR/input.h" 6649b36e126SZixu Wang }, 6659b36e126SZixu Wang "names": { 66680ae3665SDaniel Grumberg "navigator": [ 66780ae3665SDaniel Grumberg { 66880ae3665SDaniel Grumberg "kind": "identifier", 66980ae3665SDaniel Grumberg "spelling": "getIvar" 67080ae3665SDaniel Grumberg } 67180ae3665SDaniel Grumberg ], 6729b36e126SZixu Wang "subHeading": [ 6739b36e126SZixu Wang { 6749b36e126SZixu Wang "kind": "text", 6759b36e126SZixu Wang "spelling": "- " 6769b36e126SZixu Wang }, 6779b36e126SZixu Wang { 6789b36e126SZixu Wang "kind": "identifier", 6799b36e126SZixu Wang "spelling": "getIvar" 6809b36e126SZixu Wang } 6819b36e126SZixu Wang ], 6829b36e126SZixu Wang "title": "getIvar" 68328d79314SDaniel Grumberg }, 68428d79314SDaniel Grumberg "pathComponents": [ 68528d79314SDaniel Grumberg "Derived", 68628d79314SDaniel Grumberg "getIvar" 68728d79314SDaniel Grumberg ] 6889b36e126SZixu Wang } 6899b36e126SZixu Wang ] 6909b36e126SZixu Wang} 691