| // RUN: %clang_cc1 -Wno-unused -fblocks -ast-dump=json -ast-dump-filter Test %s | FileCheck %s |
| |
| @protocol P |
| @end |
| |
| @interface A |
| @end |
| |
| @interface TestObjCIvarDecl : A |
| @end |
| |
| @implementation TestObjCIvarDecl { |
| int varDefault; |
| @private int varPrivate; |
| @protected int varProtected; |
| @public int varPublic; |
| @package int varPackage; |
| } |
| @end |
| |
| @interface testObjCMethodDecl : A { |
| } |
| - (int) TestObjCMethodDecl: (int)i, ...; |
| @end |
| |
| @implementation testObjCMethodDecl |
| - (int) TestObjCMethodDecl: (int)i, ... { |
| return 0; |
| } |
| @end |
| |
| @protocol TestObjCProtocolDecl |
| - (void) foo; |
| @end |
| |
| @interface TestObjCClass : A <P> |
| - (void) foo; |
| @end |
| |
| @implementation TestObjCClass : A { |
| int i; |
| } |
| - (void) foo { |
| } |
| @end |
| |
| @interface TestObjCClass (TestObjCCategoryDecl) <P> |
| - (void) bar; |
| @end |
| |
| @interface TestGenericInterface<T> : A<P> { |
| } |
| @end |
| |
| @implementation TestObjCClass (TestObjCCategoryDecl) |
| - (void) bar { |
| } |
| @end |
| |
| @compatibility_alias TestObjCCompatibleAliasDecl A; |
| |
| @interface TestObjCProperty: A |
| @property(getter=getterFoo, setter=setterFoo:) int foo; |
| @property int bar; |
| @end |
| |
| @implementation TestObjCProperty { |
| int i; |
| } |
| @synthesize foo=i; |
| @synthesize bar; |
| @end |
| |
| void TestBlockDecl(int x) { |
| ^(int y, ...){ x; }; |
| } |
| |
| @interface B |
| + (int) foo; |
| @end |
| |
| void f() { |
| __typeof__(B.foo) Test; |
| } |
| |
| // NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py |
| |
| |
| // CHECK: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 144, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 9, |
| // CHECK-NEXT: "col": 12, |
| // CHECK-NEXT: "tokLen": 16 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 133, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 166, |
| // CHECK-NEXT: "line": 10, |
| // CHECK-NEXT: "col": 2, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCIvarDecl", |
| // CHECK-NEXT: "super": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "A" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "implementation": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCImplementationDecl", |
| // CHECK-NEXT: "name": "TestObjCIvarDecl" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCImplementationDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 187, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 12, |
| // CHECK-NEXT: "col": 17, |
| // CHECK-NEXT: "tokLen": 16 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 171, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 336, |
| // CHECK-NEXT: "line": 19, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCIvarDecl", |
| // CHECK-NEXT: "super": { |
| // CHECK-NEXT: "id": "0x0" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "interface": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "TestObjCIvarDecl" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCIvarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 212, |
| // CHECK-NEXT: "line": 13, |
| // CHECK-NEXT: "col": 7, |
| // CHECK-NEXT: "tokLen": 10 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 208, |
| // CHECK-NEXT: "col": 3, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 212, |
| // CHECK-NEXT: "col": 7, |
| // CHECK-NEXT: "tokLen": 10 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "varDefault", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "access": "private" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCIvarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 239, |
| // CHECK-NEXT: "line": 14, |
| // CHECK-NEXT: "col": 16, |
| // CHECK-NEXT: "tokLen": 10 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 235, |
| // CHECK-NEXT: "col": 12, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 239, |
| // CHECK-NEXT: "col": 16, |
| // CHECK-NEXT: "tokLen": 10 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "varPrivate", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "access": "private" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCIvarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 268, |
| // CHECK-NEXT: "line": 15, |
| // CHECK-NEXT: "col": 18, |
| // CHECK-NEXT: "tokLen": 12 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 264, |
| // CHECK-NEXT: "col": 14, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 268, |
| // CHECK-NEXT: "col": 18, |
| // CHECK-NEXT: "tokLen": 12 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "varProtected", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "access": "protected" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCIvarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 296, |
| // CHECK-NEXT: "line": 16, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 9 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 292, |
| // CHECK-NEXT: "col": 11, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 296, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 9 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "varPublic", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "access": "public" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCIvarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 322, |
| // CHECK-NEXT: "line": 17, |
| // CHECK-NEXT: "col": 16, |
| // CHECK-NEXT: "tokLen": 10 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 318, |
| // CHECK-NEXT: "col": 12, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 322, |
| // CHECK-NEXT: "col": 16, |
| // CHECK-NEXT: "tokLen": 10 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "varPackage", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "access": "package" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 380, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 23, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 380, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 419, |
| // CHECK-NEXT: "col": 40, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCMethodDecl:", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true, |
| // CHECK-NEXT: "variadic": true, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ParmVarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 413, |
| // CHECK-NEXT: "col": 34, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 409, |
| // CHECK-NEXT: "col": 30, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 413, |
| // CHECK-NEXT: "col": 34, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "i", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 462, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 27, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 462, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 516, |
| // CHECK-NEXT: "line": 29, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCMethodDecl:", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true, |
| // CHECK-NEXT: "variadic": true, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ImplicitParamDecl", |
| // CHECK-NEXT: "loc": {}, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": {}, |
| // CHECK-NEXT: "end": {} |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isImplicit": true, |
| // CHECK-NEXT: "name": "self", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "testObjCMethodDecl *" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ImplicitParamDecl", |
| // CHECK-NEXT: "loc": {}, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": {}, |
| // CHECK-NEXT: "end": {} |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isImplicit": true, |
| // CHECK-NEXT: "name": "_cmd", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "desugaredQualType": "SEL *", |
| // CHECK-NEXT: "qualType": "SEL", |
| // CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ParmVarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 495, |
| // CHECK-NEXT: "line": 27, |
| // CHECK-NEXT: "col": 34, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 491, |
| // CHECK-NEXT: "col": 30, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 495, |
| // CHECK-NEXT: "col": 34, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "i", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "CompoundStmt", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 502, |
| // CHECK-NEXT: "col": 41, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 516, |
| // CHECK-NEXT: "line": 29, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ReturnStmt", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 506, |
| // CHECK-NEXT: "line": 28, |
| // CHECK-NEXT: "col": 3, |
| // CHECK-NEXT: "tokLen": 6 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 513, |
| // CHECK-NEXT: "col": 10, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "IntegerLiteral", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 513, |
| // CHECK-NEXT: "col": 10, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 513, |
| // CHECK-NEXT: "col": 10, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "valueCategory": "rvalue", |
| // CHECK-NEXT: "value": "0" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCProtocolDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 534, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 32, |
| // CHECK-NEXT: "col": 11, |
| // CHECK-NEXT: "tokLen": 20 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 524, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 570, |
| // CHECK-NEXT: "line": 34, |
| // CHECK-NEXT: "col": 2, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCProtocolDecl", |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 555, |
| // CHECK-NEXT: "line": 33, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 555, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 567, |
| // CHECK-NEXT: "col": 13, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "foo", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "void" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 586, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 36, |
| // CHECK-NEXT: "col": 12, |
| // CHECK-NEXT: "tokLen": 13 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 575, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 623, |
| // CHECK-NEXT: "line": 38, |
| // CHECK-NEXT: "col": 2, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCClass", |
| // CHECK-NEXT: "super": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "A" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "implementation": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCImplementationDecl", |
| // CHECK-NEXT: "name": "TestObjCClass" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "protocols": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCProtocolDecl", |
| // CHECK-NEXT: "name": "P" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ], |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 608, |
| // CHECK-NEXT: "line": 37, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 608, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 620, |
| // CHECK-NEXT: "col": 13, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "foo", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "void" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCImplementationDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 644, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 40, |
| // CHECK-NEXT: "col": 17, |
| // CHECK-NEXT: "tokLen": 13 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 628, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 692, |
| // CHECK-NEXT: "line": 45, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCClass", |
| // CHECK-NEXT: "super": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "A" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "interface": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "TestObjCClass" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCIvarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 670, |
| // CHECK-NEXT: "line": 41, |
| // CHECK-NEXT: "col": 7, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 666, |
| // CHECK-NEXT: "col": 3, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 670, |
| // CHECK-NEXT: "col": 7, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "i", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "access": "private" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 675, |
| // CHECK-NEXT: "line": 43, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 675, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 690, |
| // CHECK-NEXT: "line": 44, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "foo", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "void" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ImplicitParamDecl", |
| // CHECK-NEXT: "loc": {}, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": {}, |
| // CHECK-NEXT: "end": {} |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isImplicit": true, |
| // CHECK-NEXT: "name": "self", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "TestObjCClass *" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ImplicitParamDecl", |
| // CHECK-NEXT: "loc": {}, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": {}, |
| // CHECK-NEXT: "end": {} |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isImplicit": true, |
| // CHECK-NEXT: "name": "_cmd", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "desugaredQualType": "SEL *", |
| // CHECK-NEXT: "qualType": "SEL", |
| // CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "CompoundStmt", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 688, |
| // CHECK-NEXT: "line": 43, |
| // CHECK-NEXT: "col": 14, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 690, |
| // CHECK-NEXT: "line": 44, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCCategoryDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 709, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 47, |
| // CHECK-NEXT: "col": 12, |
| // CHECK-NEXT: "tokLen": 13 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 698, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 765, |
| // CHECK-NEXT: "line": 49, |
| // CHECK-NEXT: "col": 2, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCCategoryDecl", |
| // CHECK-NEXT: "interface": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "TestObjCClass" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "implementation": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCCategoryImplDecl", |
| // CHECK-NEXT: "name": "TestObjCCategoryDecl" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "protocols": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCProtocolDecl", |
| // CHECK-NEXT: "name": "P" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ], |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 750, |
| // CHECK-NEXT: "line": 48, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 750, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 762, |
| // CHECK-NEXT: "col": 13, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "bar", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "void" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 781, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 51, |
| // CHECK-NEXT: "col": 12, |
| // CHECK-NEXT: "tokLen": 20 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 770, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 817, |
| // CHECK-NEXT: "line": 53, |
| // CHECK-NEXT: "col": 2, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestGenericInterface", |
| // CHECK-NEXT: "super": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "A" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "implementation": { |
| // CHECK-NEXT: "id": "0x0" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "protocols": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCProtocolDecl", |
| // CHECK-NEXT: "name": "P" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ], |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCTypeParamDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 802, |
| // CHECK-NEXT: "line": 51, |
| // CHECK-NEXT: "col": 33, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 802, |
| // CHECK-NEXT: "col": 33, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 802, |
| // CHECK-NEXT: "col": 33, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "T", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "desugaredQualType": "id", |
| // CHECK-NEXT: "qualType": "id", |
| // CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCCategoryImplDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 838, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 55, |
| // CHECK-NEXT: "col": 17, |
| // CHECK-NEXT: "tokLen": 13 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 822, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 892, |
| // CHECK-NEXT: "line": 58, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCCategoryDecl", |
| // CHECK-NEXT: "interface": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "TestObjCClass" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "categoryDecl": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCCategoryDecl", |
| // CHECK-NEXT: "name": "TestObjCCategoryDecl" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 875, |
| // CHECK-NEXT: "line": 56, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 875, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 890, |
| // CHECK-NEXT: "line": 57, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "bar", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "void" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ImplicitParamDecl", |
| // CHECK-NEXT: "loc": {}, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": {}, |
| // CHECK-NEXT: "end": {} |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isImplicit": true, |
| // CHECK-NEXT: "name": "self", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "TestObjCClass *" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ImplicitParamDecl", |
| // CHECK-NEXT: "loc": {}, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": {}, |
| // CHECK-NEXT: "end": {} |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isImplicit": true, |
| // CHECK-NEXT: "name": "_cmd", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "desugaredQualType": "SEL *", |
| // CHECK-NEXT: "qualType": "SEL", |
| // CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "CompoundStmt", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 888, |
| // CHECK-NEXT: "line": 56, |
| // CHECK-NEXT: "col": 14, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 890, |
| // CHECK-NEXT: "line": 57, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCCompatibleAliasDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 898, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 60, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 898, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 898, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCCompatibleAliasDecl", |
| // CHECK-NEXT: "interface": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "A" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 962, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 62, |
| // CHECK-NEXT: "col": 12, |
| // CHECK-NEXT: "tokLen": 16 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 951, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1058, |
| // CHECK-NEXT: "line": 65, |
| // CHECK-NEXT: "col": 2, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCProperty", |
| // CHECK-NEXT: "super": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "A" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "implementation": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCImplementationDecl", |
| // CHECK-NEXT: "name": "TestObjCProperty" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCPropertyDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "line": 63, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 982, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "foo", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "getter": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "name": "getterFoo" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "setter": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "name": "setterFoo:" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "assign": true, |
| // CHECK-NEXT: "readwrite": true, |
| // CHECK-NEXT: "atomic": true, |
| // CHECK-NEXT: "unsafe_unretained": true |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCPropertyDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "line": 64, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1038, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "bar", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "assign": true, |
| // CHECK-NEXT: "readwrite": true, |
| // CHECK-NEXT: "atomic": true, |
| // CHECK-NEXT: "unsafe_unretained": true |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "line": 63, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isImplicit": true, |
| // CHECK-NEXT: "name": "getterFoo", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isImplicit": true, |
| // CHECK-NEXT: "name": "setterFoo:", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "void" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ParmVarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1033, |
| // CHECK-NEXT: "col": 52, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "foo", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "line": 64, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isImplicit": true, |
| // CHECK-NEXT: "name": "bar", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCMethodDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isImplicit": true, |
| // CHECK-NEXT: "name": "setBar:", |
| // CHECK-NEXT: "returnType": { |
| // CHECK-NEXT: "qualType": "void" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "instance": true, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ParmVarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1052, |
| // CHECK-NEXT: "col": 15, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "bar", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "ObjCImplementationDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1079, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 67, |
| // CHECK-NEXT: "col": 17, |
| // CHECK-NEXT: "tokLen": 16 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1063, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1145, |
| // CHECK-NEXT: "line": 72, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestObjCProperty", |
| // CHECK-NEXT: "super": { |
| // CHECK-NEXT: "id": "0x0" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "interface": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCInterfaceDecl", |
| // CHECK-NEXT: "name": "TestObjCProperty" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCIvarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1104, |
| // CHECK-NEXT: "line": 68, |
| // CHECK-NEXT: "col": 7, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1100, |
| // CHECK-NEXT: "col": 3, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1104, |
| // CHECK-NEXT: "col": 7, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "i", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "access": "private" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCPropertyImplDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1121, |
| // CHECK-NEXT: "line": 70, |
| // CHECK-NEXT: "col": 13, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1109, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1125, |
| // CHECK-NEXT: "col": 17, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "foo", |
| // CHECK-NEXT: "implKind": "synthesize", |
| // CHECK-NEXT: "propertyDecl": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCPropertyDecl", |
| // CHECK-NEXT: "name": "foo" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "ivarDecl": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCIvarDecl", |
| // CHECK-NEXT: "name": "i", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCIvarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1140, |
| // CHECK-NEXT: "line": 71, |
| // CHECK-NEXT: "col": 13, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1140, |
| // CHECK-NEXT: "col": 13, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1140, |
| // CHECK-NEXT: "col": 13, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "bar", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "synthesized": true, |
| // CHECK-NEXT: "access": "private" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCPropertyImplDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1140, |
| // CHECK-NEXT: "col": 13, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1128, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1140, |
| // CHECK-NEXT: "col": 13, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "bar", |
| // CHECK-NEXT: "implKind": "synthesize", |
| // CHECK-NEXT: "propertyDecl": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCPropertyDecl", |
| // CHECK-NEXT: "name": "bar" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "ivarDecl": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ObjCIvarDecl", |
| // CHECK-NEXT: "name": "bar", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "FunctionDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1156, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 74, |
| // CHECK-NEXT: "col": 6, |
| // CHECK-NEXT: "tokLen": 13 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1151, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 4 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1202, |
| // CHECK-NEXT: "line": 76, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "TestBlockDecl", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "void (int)" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ParmVarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1174, |
| // CHECK-NEXT: "line": 74, |
| // CHECK-NEXT: "col": 24, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1170, |
| // CHECK-NEXT: "col": 20, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1174, |
| // CHECK-NEXT: "col": 24, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "isUsed": true, |
| // CHECK-NEXT: "name": "x", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "CompoundStmt", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1177, |
| // CHECK-NEXT: "col": 27, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1202, |
| // CHECK-NEXT: "line": 76, |
| // CHECK-NEXT: "col": 1, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ExprWithCleanups", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1181, |
| // CHECK-NEXT: "line": 75, |
| // CHECK-NEXT: "col": 3, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1199, |
| // CHECK-NEXT: "col": 21, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "void (^)(int, ...)" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "valueCategory": "rvalue", |
| // CHECK-NEXT: "cleanupsHaveSideEffects": true, |
| // CHECK-NEXT: "cleanups": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "BlockDecl" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ], |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "BlockExpr", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1181, |
| // CHECK-NEXT: "col": 3, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1199, |
| // CHECK-NEXT: "col": 21, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "void (^)(int, ...)" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "valueCategory": "rvalue", |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "BlockDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1181, |
| // CHECK-NEXT: "col": 3, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1181, |
| // CHECK-NEXT: "col": 3, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1199, |
| // CHECK-NEXT: "col": 21, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "variadic": true, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ParmVarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1187, |
| // CHECK-NEXT: "col": 9, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1183, |
| // CHECK-NEXT: "col": 5, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1187, |
| // CHECK-NEXT: "col": 9, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "y", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "kind": "Capture", |
| // CHECK-NEXT: "var": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ParmVarDecl", |
| // CHECK-NEXT: "name": "x", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "CompoundStmt", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1194, |
| // CHECK-NEXT: "col": 16, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1199, |
| // CHECK-NEXT: "col": 21, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ImplicitCastExpr", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1196, |
| // CHECK-NEXT: "col": 18, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1196, |
| // CHECK-NEXT: "col": 18, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "valueCategory": "rvalue", |
| // CHECK-NEXT: "castKind": "LValueToRValue", |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "DeclRefExpr", |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1196, |
| // CHECK-NEXT: "col": 18, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1196, |
| // CHECK-NEXT: "col": 18, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "const int" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "valueCategory": "lvalue", |
| // CHECK-NEXT: "referencedDecl": { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ParmVarDecl", |
| // CHECK-NEXT: "name": "x", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ParmVarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1187, |
| // CHECK-NEXT: "col": 9, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1183, |
| // CHECK-NEXT: "col": 5, |
| // CHECK-NEXT: "tokLen": 3 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1187, |
| // CHECK-NEXT: "col": 9, |
| // CHECK-NEXT: "tokLen": 1 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "y", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "int" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: } |
| |
| |
| // CHECK: "kind": "VarDecl", |
| // CHECK-NEXT: "loc": { |
| // CHECK-NEXT: "offset": 1268, |
| // CHECK-NEXT: "file": "{{.*}}", |
| // CHECK-NEXT: "line": 83, |
| // CHECK-NEXT: "col": 21, |
| // CHECK-NEXT: "tokLen": 4 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "range": { |
| // CHECK-NEXT: "begin": { |
| // CHECK-NEXT: "offset": 1250, |
| // CHECK-NEXT: "col": 3, |
| // CHECK-NEXT: "tokLen": 10 |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "end": { |
| // CHECK-NEXT: "offset": 1268, |
| // CHECK-NEXT: "col": 21, |
| // CHECK-NEXT: "tokLen": 4 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "name": "Test", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "desugaredQualType": "int", |
| // CHECK-NEXT: "qualType": "typeof (B.foo)" |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |