summaryrefslogtreecommitdiff
path: root/test/AST/ast-dump-decl-json.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/AST/ast-dump-decl-json.m')
-rw-r--r--test/AST/ast-dump-decl-json.m1649
1 files changed, 903 insertions, 746 deletions
diff --git a/test/AST/ast-dump-decl-json.m b/test/AST/ast-dump-decl-json.m
index 095bb8ce37..235533d0bf 100644
--- a/test/AST/ast-dump-decl-json.m
+++ b/test/AST/ast-dump-decl-json.m
@@ -86,232 +86,259 @@ void f() {
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
-// CHECK: "kind": "ObjCInterfaceDecl",
+// CHECK: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 9,
-// CHECK-NEXT: "col": 12,
+// CHECK-NEXT: "offset": 144,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 9,
+// CHECK-NEXT: "col": 12,
// CHECK-NEXT: "tokLen": 16
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 133,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 10,
-// CHECK-NEXT: "col": 2,
+// 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: },
+// CHECK-NEXT: "name": "TestObjCIvarDecl",
// CHECK-NEXT: "super": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "A"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "implementation": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCImplementationDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCImplementationDecl",
// CHECK-NEXT: "name": "TestObjCIvarDecl"
// CHECK-NEXT: }
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCImplementationDecl",
+// CHECK: "kind": "ObjCImplementationDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 12,
-// CHECK-NEXT: "col": 17,
+// CHECK-NEXT: "offset": 187,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 12,
+// CHECK-NEXT: "col": 17,
// CHECK-NEXT: "tokLen": 16
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 171,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 19,
-// CHECK-NEXT: "col": 1,
+// 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: },
+// CHECK-NEXT: "name": "TestObjCIvarDecl",
// CHECK-NEXT: "super": {
-// CHECK-NEXT: "id": "0x{{.*}}"
-// CHECK-NEXT: },
+// CHECK-NEXT: "id": "0x0"
+// CHECK-NEXT: },
// CHECK-NEXT: "interface": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "TestObjCIvarDecl"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCIvarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCIvarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 13,
-// CHECK-NEXT: "col": 7,
+// CHECK-NEXT: "offset": 212,
+// CHECK-NEXT: "line": 13,
+// CHECK-NEXT: "col": 7,
// CHECK-NEXT: "tokLen": 10
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 3,
+// CHECK-NEXT: "offset": 208,
+// CHECK-NEXT: "col": 3,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 7,
+// CHECK-NEXT: "offset": 212,
+// CHECK-NEXT: "col": 7,
// CHECK-NEXT: "tokLen": 10
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "varDefault",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "varDefault",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "access": "private"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCIvarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCIvarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 14,
-// CHECK-NEXT: "col": 16,
+// CHECK-NEXT: "offset": 239,
+// CHECK-NEXT: "line": 14,
+// CHECK-NEXT: "col": 16,
// CHECK-NEXT: "tokLen": 10
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 12,
+// CHECK-NEXT: "offset": 235,
+// CHECK-NEXT: "col": 12,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 16,
+// CHECK-NEXT: "offset": 239,
+// CHECK-NEXT: "col": 16,
// CHECK-NEXT: "tokLen": 10
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "varPrivate",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "varPrivate",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "access": "private"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCIvarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCIvarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 15,
-// CHECK-NEXT: "col": 18,
+// CHECK-NEXT: "offset": 268,
+// CHECK-NEXT: "line": 15,
+// CHECK-NEXT: "col": 18,
// CHECK-NEXT: "tokLen": 12
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 14,
+// CHECK-NEXT: "offset": 264,
+// CHECK-NEXT: "col": 14,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 18,
+// CHECK-NEXT: "offset": 268,
+// CHECK-NEXT: "col": 18,
// CHECK-NEXT: "tokLen": 12
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "varProtected",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "varProtected",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "access": "protected"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCIvarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCIvarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 16,
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 296,
+// CHECK-NEXT: "line": 16,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 9
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 11,
+// CHECK-NEXT: "offset": 292,
+// CHECK-NEXT: "col": 11,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 296,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 9
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "varPublic",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "varPublic",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "access": "public"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCIvarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCIvarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 17,
-// CHECK-NEXT: "col": 16,
+// CHECK-NEXT: "offset": 322,
+// CHECK-NEXT: "line": 17,
+// CHECK-NEXT: "col": 16,
// CHECK-NEXT: "tokLen": 10
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 12,
+// CHECK-NEXT: "offset": 318,
+// CHECK-NEXT: "col": 12,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 16,
+// CHECK-NEXT: "offset": 322,
+// CHECK-NEXT: "col": 16,
// CHECK-NEXT: "tokLen": 10
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "varPackage",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "varPackage",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "access": "package"
// CHECK-NEXT: }
// CHECK-NEXT: ]
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCMethodDecl",
+// CHECK: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 23,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 380,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 23,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 380,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 40,
+// CHECK-NEXT: "offset": 419,
+// CHECK-NEXT: "col": 40,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "TestObjCMethodDecl:",
+// 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: },
+// CHECK-NEXT: "instance": true,
+// CHECK-NEXT: "variadic": true,
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ParmVarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "col": 34,
+// CHECK-NEXT: "offset": 413,
+// CHECK-NEXT: "col": 34,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 30,
+// CHECK-NEXT: "offset": 409,
+// CHECK-NEXT: "col": 30,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 34,
+// CHECK-NEXT: "offset": 413,
+// CHECK-NEXT: "col": 34,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "i",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "i",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
// CHECK-NEXT: }
@@ -320,131 +347,143 @@ void f() {
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCMethodDecl",
+// CHECK: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 27,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 462,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 27,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 462,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 29,
-// CHECK-NEXT: "col": 1,
+// 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: },
+// CHECK-NEXT: "name": "TestObjCMethodDecl:",
// CHECK-NEXT: "returnType": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
-// CHECK-NEXT: "instance": true,
-// CHECK-NEXT: "variadic": true,
+// 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: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ImplicitParamDecl",
+// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
+// CHECK-NEXT: "begin": {},
// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "name": "self",
+// 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: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ImplicitParamDecl",
-// CHECK-NEXT: "loc": {},
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ImplicitParamDecl",
+// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
+// CHECK-NEXT: "begin": {},
// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "name": "_cmd",
+// CHECK-NEXT: },
+// CHECK-NEXT: "isImplicit": true,
+// CHECK-NEXT: "name": "_cmd",
// CHECK-NEXT: "type": {
-// CHECK-NEXT: "desugaredQualType": "SEL *",
-// CHECK-NEXT: "qualType": "SEL",
+// CHECK-NEXT: "desugaredQualType": "SEL *",
+// CHECK-NEXT: "qualType": "SEL",
// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ParmVarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 27,
-// CHECK-NEXT: "col": 34,
+// CHECK-NEXT: "offset": 495,
+// CHECK-NEXT: "line": 27,
+// CHECK-NEXT: "col": 34,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 30,
+// CHECK-NEXT: "offset": 491,
+// CHECK-NEXT: "col": 30,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 34,
+// CHECK-NEXT: "offset": 495,
+// CHECK-NEXT: "col": 34,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "i",
+// CHECK-NEXT: },
+// 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": "CompoundStmt",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 41,
+// CHECK-NEXT: "offset": 502,
+// CHECK-NEXT: "col": 41,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 29,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 516,
+// CHECK-NEXT: "line": 29,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ReturnStmt",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ReturnStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "line": 28,
-// CHECK-NEXT: "col": 3,
+// CHECK-NEXT: "offset": 506,
+// CHECK-NEXT: "line": 28,
+// CHECK-NEXT: "col": 3,
// CHECK-NEXT: "tokLen": 6
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 10,
+// CHECK-NEXT: "offset": 513,
+// CHECK-NEXT: "col": 10,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "IntegerLiteral",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "IntegerLiteral",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 10,
+// CHECK-NEXT: "offset": 513,
+// CHECK-NEXT: "col": 10,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 10,
+// CHECK-NEXT: "offset": 513,
+// CHECK-NEXT: "col": 10,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
-// CHECK-NEXT: "valueCategory": "rvalue",
+// CHECK-NEXT: },
+// CHECK-NEXT: "valueCategory": "rvalue",
// CHECK-NEXT: "value": "0"
// CHECK-NEXT: }
// CHECK-NEXT: ]
@@ -455,240 +494,263 @@ void f() {
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCProtocolDecl",
+// CHECK: "kind": "ObjCProtocolDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 32,
-// CHECK-NEXT: "col": 11,
+// CHECK-NEXT: "offset": 534,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 32,
+// CHECK-NEXT: "col": 11,
// CHECK-NEXT: "tokLen": 20
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 524,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 34,
-// CHECK-NEXT: "col": 2,
+// 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: },
+// CHECK-NEXT: "name": "TestObjCProtocolDecl",
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 33,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 555,
+// CHECK-NEXT: "line": 33,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 555,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 13,
+// CHECK-NEXT: "offset": 567,
+// CHECK-NEXT: "col": 13,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "foo",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "foo",
// CHECK-NEXT: "returnType": {
// CHECK-NEXT: "qualType": "void"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "instance": true
// CHECK-NEXT: }
// CHECK-NEXT: ]
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCInterfaceDecl",
+// CHECK: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 36,
-// CHECK-NEXT: "col": 12,
+// CHECK-NEXT: "offset": 586,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 36,
+// CHECK-NEXT: "col": 12,
// CHECK-NEXT: "tokLen": 13
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 575,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 38,
-// CHECK-NEXT: "col": 2,
+// 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: },
+// CHECK-NEXT: "name": "TestObjCClass",
// CHECK-NEXT: "super": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "A"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "implementation": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCImplementationDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCImplementationDecl",
// CHECK-NEXT: "name": "TestObjCClass"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "protocols": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCProtocolDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCProtocolDecl",
// CHECK-NEXT: "name": "P"
// CHECK-NEXT: }
-// CHECK-NEXT: ],
+// CHECK-NEXT: ],
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 37,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 608,
+// CHECK-NEXT: "line": 37,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 608,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 13,
+// CHECK-NEXT: "offset": 620,
+// CHECK-NEXT: "col": 13,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "foo",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "foo",
// CHECK-NEXT: "returnType": {
// CHECK-NEXT: "qualType": "void"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "instance": true
// CHECK-NEXT: }
// CHECK-NEXT: ]
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCImplementationDecl",
+// CHECK: "kind": "ObjCImplementationDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 40,
-// CHECK-NEXT: "col": 17,
+// CHECK-NEXT: "offset": 644,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 40,
+// CHECK-NEXT: "col": 17,
// CHECK-NEXT: "tokLen": 13
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 628,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 45,
-// CHECK-NEXT: "col": 1,
+// 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: },
+// CHECK-NEXT: "name": "TestObjCClass",
// CHECK-NEXT: "super": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "A"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "interface": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "TestObjCClass"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCIvarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCIvarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 41,
-// CHECK-NEXT: "col": 7,
+// CHECK-NEXT: "offset": 670,
+// CHECK-NEXT: "line": 41,
+// CHECK-NEXT: "col": 7,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 3,
+// CHECK-NEXT: "offset": 666,
+// CHECK-NEXT: "col": 3,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 7,
+// CHECK-NEXT: "offset": 670,
+// CHECK-NEXT: "col": 7,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "i",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "i",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "access": "private"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 43,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 675,
+// CHECK-NEXT: "line": 43,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 675,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 44,
-// CHECK-NEXT: "col": 1,
+// 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: },
+// CHECK-NEXT: "name": "foo",
// CHECK-NEXT: "returnType": {
// CHECK-NEXT: "qualType": "void"
-// CHECK-NEXT: },
-// CHECK-NEXT: "instance": true,
+// CHECK-NEXT: },
+// CHECK-NEXT: "instance": true,
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ImplicitParamDecl",
-// CHECK-NEXT: "loc": {},
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ImplicitParamDecl",
+// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
+// CHECK-NEXT: "begin": {},
// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "name": "self",
+// 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: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ImplicitParamDecl",
-// CHECK-NEXT: "loc": {},
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ImplicitParamDecl",
+// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
+// CHECK-NEXT: "begin": {},
// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "name": "_cmd",
+// CHECK-NEXT: },
+// CHECK-NEXT: "isImplicit": true,
+// CHECK-NEXT: "name": "_cmd",
// CHECK-NEXT: "type": {
-// CHECK-NEXT: "desugaredQualType": "SEL *",
-// CHECK-NEXT: "qualType": "SEL",
+// CHECK-NEXT: "desugaredQualType": "SEL *",
+// CHECK-NEXT: "qualType": "SEL",
// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "CompoundStmt",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "line": 43,
-// CHECK-NEXT: "col": 14,
+// CHECK-NEXT: "offset": 688,
+// CHECK-NEXT: "line": 43,
+// CHECK-NEXT: "col": 14,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 44,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 690,
+// CHECK-NEXT: "line": 44,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
// CHECK-NEXT: }
@@ -699,128 +761,140 @@ void f() {
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCCategoryDecl",
+// CHECK: "kind": "ObjCCategoryDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 47,
-// CHECK-NEXT: "col": 12,
+// CHECK-NEXT: "offset": 709,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 47,
+// CHECK-NEXT: "col": 12,
// CHECK-NEXT: "tokLen": 13
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 698,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 49,
-// CHECK-NEXT: "col": 2,
+// 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: },
+// CHECK-NEXT: "name": "TestObjCCategoryDecl",
// CHECK-NEXT: "interface": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "TestObjCClass"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "implementation": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCCategoryImplDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCCategoryImplDecl",
// CHECK-NEXT: "name": "TestObjCCategoryDecl"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "protocols": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCProtocolDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCProtocolDecl",
// CHECK-NEXT: "name": "P"
// CHECK-NEXT: }
-// CHECK-NEXT: ],
+// CHECK-NEXT: ],
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 48,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 750,
+// CHECK-NEXT: "line": 48,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 750,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 13,
+// CHECK-NEXT: "offset": 762,
+// CHECK-NEXT: "col": 13,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "bar",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "bar",
// CHECK-NEXT: "returnType": {
// CHECK-NEXT: "qualType": "void"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "instance": true
// CHECK-NEXT: }
// CHECK-NEXT: ]
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCInterfaceDecl",
+// CHECK: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 51,
-// CHECK-NEXT: "col": 12,
+// CHECK-NEXT: "offset": 781,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 51,
+// CHECK-NEXT: "col": 12,
// CHECK-NEXT: "tokLen": 20
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 770,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 53,
-// CHECK-NEXT: "col": 2,
+// 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: },
+// CHECK-NEXT: "name": "TestGenericInterface",
// CHECK-NEXT: "super": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "A"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "implementation": {
-// CHECK-NEXT: "id": "0x{{.*}}"
-// CHECK-NEXT: },
+// CHECK-NEXT: "id": "0x0"
+// CHECK-NEXT: },
// CHECK-NEXT: "protocols": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCProtocolDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCProtocolDecl",
// CHECK-NEXT: "name": "P"
// CHECK-NEXT: }
-// CHECK-NEXT: ],
+// CHECK-NEXT: ],
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCTypeParamDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCTypeParamDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 51,
-// CHECK-NEXT: "col": 33,
+// CHECK-NEXT: "offset": 802,
+// CHECK-NEXT: "line": 51,
+// CHECK-NEXT: "col": 33,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 33,
+// CHECK-NEXT: "offset": 802,
+// CHECK-NEXT: "col": 33,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 33,
+// CHECK-NEXT: "offset": 802,
+// CHECK-NEXT: "col": 33,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "T",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "T",
// CHECK-NEXT: "type": {
-// CHECK-NEXT: "desugaredQualType": "id",
-// CHECK-NEXT: "qualType": "id",
+// CHECK-NEXT: "desugaredQualType": "id",
+// CHECK-NEXT: "qualType": "id",
// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
// CHECK-NEXT: }
// CHECK-NEXT: }
@@ -828,103 +902,111 @@ void f() {
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCCategoryImplDecl",
+// CHECK: "kind": "ObjCCategoryImplDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 55,
-// CHECK-NEXT: "col": 17,
+// CHECK-NEXT: "offset": 838,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 55,
+// CHECK-NEXT: "col": 17,
// CHECK-NEXT: "tokLen": 13
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 822,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 58,
-// CHECK-NEXT: "col": 1,
+// 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: },
+// CHECK-NEXT: "name": "TestObjCCategoryDecl",
// CHECK-NEXT: "interface": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "TestObjCClass"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "categoryDecl": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCCategoryDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCCategoryDecl",
// CHECK-NEXT: "name": "TestObjCCategoryDecl"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 56,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 875,
+// CHECK-NEXT: "line": 56,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 875,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 57,
-// CHECK-NEXT: "col": 1,
+// 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: },
+// CHECK-NEXT: "name": "bar",
// CHECK-NEXT: "returnType": {
// CHECK-NEXT: "qualType": "void"
-// CHECK-NEXT: },
-// CHECK-NEXT: "instance": true,
+// CHECK-NEXT: },
+// CHECK-NEXT: "instance": true,
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ImplicitParamDecl",
-// CHECK-NEXT: "loc": {},
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ImplicitParamDecl",
+// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
+// CHECK-NEXT: "begin": {},
// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "name": "self",
+// 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: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ImplicitParamDecl",
-// CHECK-NEXT: "loc": {},
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ImplicitParamDecl",
+// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
+// CHECK-NEXT: "begin": {},
// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "name": "_cmd",
+// CHECK-NEXT: },
+// CHECK-NEXT: "isImplicit": true,
+// CHECK-NEXT: "name": "_cmd",
// CHECK-NEXT: "type": {
-// CHECK-NEXT: "desugaredQualType": "SEL *",
-// CHECK-NEXT: "qualType": "SEL",
+// CHECK-NEXT: "desugaredQualType": "SEL *",
+// CHECK-NEXT: "qualType": "SEL",
// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "CompoundStmt",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "line": 56,
-// CHECK-NEXT: "col": 14,
+// CHECK-NEXT: "offset": 888,
+// CHECK-NEXT: "line": 56,
+// CHECK-NEXT: "col": 14,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 57,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 890,
+// CHECK-NEXT: "line": 57,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
// CHECK-NEXT: }
@@ -935,266 +1017,296 @@ void f() {
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCCompatibleAliasDecl",
+// CHECK: "kind": "ObjCCompatibleAliasDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 60,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 898,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 60,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 898,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 898,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "TestObjCCompatibleAliasDecl",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "TestObjCCompatibleAliasDecl",
// CHECK-NEXT: "interface": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "A"
// CHECK-NEXT: }
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCInterfaceDecl",
+// CHECK: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 62,
-// CHECK-NEXT: "col": 12,
+// CHECK-NEXT: "offset": 962,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 62,
+// CHECK-NEXT: "col": 12,
// CHECK-NEXT: "tokLen": 16
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 951,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 65,
-// CHECK-NEXT: "col": 2,
+// 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: },
+// CHECK-NEXT: "name": "TestObjCProperty",
// CHECK-NEXT: "super": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "A"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "implementation": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCImplementationDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCImplementationDecl",
// CHECK-NEXT: "name": "TestObjCProperty"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCPropertyDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCPropertyDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 63,
-// CHECK-NEXT: "col": 52,
+// CHECK-NEXT: "offset": 1033,
+// CHECK-NEXT: "line": 63,
+// CHECK-NEXT: "col": 52,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 982,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 52,
+// CHECK-NEXT: "offset": 1033,
+// CHECK-NEXT: "col": 52,
// CHECK-NEXT: "tokLen": 3
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "foo",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "foo",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "getter": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "name": "getterFoo"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "setter": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// 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: },
+// CHECK-NEXT: "assign": true,
+// CHECK-NEXT: "readwrite": true,
+// CHECK-NEXT: "atomic": true,
// CHECK-NEXT: "unsafe_unretained": true
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCPropertyDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCPropertyDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 64,
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 1052,
+// CHECK-NEXT: "line": 64,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 1038,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 1052,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 3
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "bar",
+// 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: },
+// CHECK-NEXT: "assign": true,
+// CHECK-NEXT: "readwrite": true,
+// CHECK-NEXT: "atomic": true,
// CHECK-NEXT: "unsafe_unretained": true
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 63,
-// CHECK-NEXT: "col": 52,
+// CHECK-NEXT: "offset": 1033,
+// CHECK-NEXT: "line": 63,
+// CHECK-NEXT: "col": 52,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 52,
+// CHECK-NEXT: "offset": 1033,
+// CHECK-NEXT: "col": 52,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 52,
+// 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: },
+// CHECK-NEXT: "isImplicit": true,
+// CHECK-NEXT: "name": "getterFoo",
// CHECK-NEXT: "returnType": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "instance": true
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "col": 52,
+// CHECK-NEXT: "offset": 1033,
+// CHECK-NEXT: "col": 52,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 52,
+// CHECK-NEXT: "offset": 1033,
+// CHECK-NEXT: "col": 52,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 52,
+// 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: },
+// CHECK-NEXT: "isImplicit": true,
+// CHECK-NEXT: "name": "setterFoo:",
// CHECK-NEXT: "returnType": {
// CHECK-NEXT: "qualType": "void"
-// CHECK-NEXT: },
-// CHECK-NEXT: "instance": true,
+// CHECK-NEXT: },
+// CHECK-NEXT: "instance": true,
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ParmVarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "col": 52,
+// CHECK-NEXT: "offset": 1033,
+// CHECK-NEXT: "col": 52,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 52,
+// CHECK-NEXT: "offset": 1033,
+// CHECK-NEXT: "col": 52,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 52,
+// CHECK-NEXT: "offset": 1033,
+// CHECK-NEXT: "col": 52,
// CHECK-NEXT: "tokLen": 3
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "foo",
+// 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: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 64,
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 1052,
+// CHECK-NEXT: "line": 64,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 1052,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 15,
+// 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: },
+// CHECK-NEXT: "isImplicit": true,
+// CHECK-NEXT: "name": "bar",
// CHECK-NEXT: "returnType": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "instance": true
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCMethodDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 1052,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 1052,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 15,
+// 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: },
+// CHECK-NEXT: "isImplicit": true,
+// CHECK-NEXT: "name": "setBar:",
// CHECK-NEXT: "returnType": {
// CHECK-NEXT: "qualType": "void"
-// CHECK-NEXT: },
-// CHECK-NEXT: "instance": true,
+// CHECK-NEXT: },
+// CHECK-NEXT: "instance": true,
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ParmVarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 1052,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 1052,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 15,
+// CHECK-NEXT: "offset": 1052,
+// CHECK-NEXT: "col": 15,
// CHECK-NEXT: "tokLen": 3
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "bar",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "bar",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
// CHECK-NEXT: }
@@ -1205,145 +1317,160 @@ void f() {
// CHECK-NEXT: }
-// CHECK: "kind": "ObjCImplementationDecl",
+// CHECK: "kind": "ObjCImplementationDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 67,
-// CHECK-NEXT: "col": 17,
+// CHECK-NEXT: "offset": 1079,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 67,
+// CHECK-NEXT: "col": 17,
// CHECK-NEXT: "tokLen": 16
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 1063,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 72,
-// CHECK-NEXT: "col": 1,
+// 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: },
+// CHECK-NEXT: "name": "TestObjCProperty",
// CHECK-NEXT: "super": {
-// CHECK-NEXT: "id": "0x{{.*}}"
-// CHECK-NEXT: },
+// CHECK-NEXT: "id": "0x0"
+// CHECK-NEXT: },
// CHECK-NEXT: "interface": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "name": "TestObjCProperty"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCIvarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCIvarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 68,
-// CHECK-NEXT: "col": 7,
+// CHECK-NEXT: "offset": 1104,
+// CHECK-NEXT: "line": 68,
+// CHECK-NEXT: "col": 7,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 3,
+// CHECK-NEXT: "offset": 1100,
+// CHECK-NEXT: "col": 3,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 7,
+// CHECK-NEXT: "offset": 1104,
+// CHECK-NEXT: "col": 7,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "i",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "i",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "access": "private"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCPropertyImplDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCPropertyImplDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 70,
-// CHECK-NEXT: "col": 13,
+// CHECK-NEXT: "offset": 1121,
+// CHECK-NEXT: "line": 70,
+// CHECK-NEXT: "col": 13,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 1109,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 17,
+// 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: },
+// CHECK-NEXT: "name": "foo",
+// CHECK-NEXT: "implKind": "synthesize",
// CHECK-NEXT: "propertyDecl": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCPropertyDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCPropertyDecl",
// CHECK-NEXT: "name": "foo"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "ivarDecl": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCIvarDecl",
-// CHECK-NEXT: "name": "i",
+// 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: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCIvarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCIvarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 71,
-// CHECK-NEXT: "col": 13,
+// CHECK-NEXT: "offset": 1140,
+// CHECK-NEXT: "line": 71,
+// CHECK-NEXT: "col": 13,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 13,
+// CHECK-NEXT: "offset": 1140,
+// CHECK-NEXT: "col": 13,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 13,
+// CHECK-NEXT: "offset": 1140,
+// CHECK-NEXT: "col": 13,
// CHECK-NEXT: "tokLen": 3
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "bar",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "bar",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
-// CHECK-NEXT: "synthesized": true,
+// CHECK-NEXT: },
+// CHECK-NEXT: "synthesized": true,
// CHECK-NEXT: "access": "private"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCPropertyImplDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCPropertyImplDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "col": 13,
+// CHECK-NEXT: "offset": 1140,
+// CHECK-NEXT: "col": 13,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 1128,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 13,
+// 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: },
+// CHECK-NEXT: "name": "bar",
+// CHECK-NEXT: "implKind": "synthesize",
// CHECK-NEXT: "propertyDecl": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCPropertyDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCPropertyDecl",
// CHECK-NEXT: "name": "bar"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "ivarDecl": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ObjCIvarDecl",
-// CHECK-NEXT: "name": "bar",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ObjCIvarDecl",
+// CHECK-NEXT: "name": "bar",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
// CHECK-NEXT: }
@@ -1353,218 +1480,242 @@ void f() {
// CHECK-NEXT: }
-// CHECK: "kind": "FunctionDecl",
+// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 74,
-// CHECK-NEXT: "col": 6,
+// CHECK-NEXT: "offset": 1156,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 74,
+// CHECK-NEXT: "col": 6,
// CHECK-NEXT: "tokLen": 13
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 1151,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 4
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 76,
-// CHECK-NEXT: "col": 1,
+// 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: },
+// CHECK-NEXT: "name": "TestBlockDecl",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void (int)"
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ParmVarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "line": 74,
-// CHECK-NEXT: "col": 24,
+// CHECK-NEXT: "offset": 1174,
+// CHECK-NEXT: "line": 74,
+// CHECK-NEXT: "col": 24,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 20,
+// CHECK-NEXT: "offset": 1170,
+// CHECK-NEXT: "col": 20,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 24,
+// 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: },
+// CHECK-NEXT: "isUsed": true,
+// 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: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 27,
+// CHECK-NEXT: "offset": 1177,
+// CHECK-NEXT: "col": 27,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "line": 76,
-// CHECK-NEXT: "col": 1,
+// CHECK-NEXT: "offset": 1202,
+// CHECK-NEXT: "line": 76,
+// CHECK-NEXT: "col": 1,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ExprWithCleanups",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ExprWithCleanups",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "line": 75,
-// CHECK-NEXT: "col": 3,
+// CHECK-NEXT: "offset": 1181,
+// CHECK-NEXT: "line": 75,
+// CHECK-NEXT: "col": 3,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 21,
+// CHECK-NEXT: "offset": 1199,
+// CHECK-NEXT: "col": 21,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void (^)(int, ...)"
-// CHECK-NEXT: },
-// CHECK-NEXT: "valueCategory": "rvalue",
-// CHECK-NEXT: "cleanupsHaveSideEffects": true,
+// CHECK-NEXT: },
+// CHECK-NEXT: "valueCategory": "rvalue",
+// CHECK-NEXT: "cleanupsHaveSideEffects": true,
// CHECK-NEXT: "cleanups": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "id": "0x{{.*}}",
// CHECK-NEXT: "kind": "BlockDecl"
// CHECK-NEXT: }
-// CHECK-NEXT: ],
+// CHECK-NEXT: ],
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "BlockExpr",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "BlockExpr",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 3,
+// CHECK-NEXT: "offset": 1181,
+// CHECK-NEXT: "col": 3,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 21,
+// CHECK-NEXT: "offset": 1199,
+// CHECK-NEXT: "col": 21,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void (^)(int, ...)"
-// CHECK-NEXT: },
-// CHECK-NEXT: "valueCategory": "rvalue",
+// CHECK-NEXT: },
+// CHECK-NEXT: "valueCategory": "rvalue",
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "BlockDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "BlockDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "col": 3,
+// CHECK-NEXT: "offset": 1181,
+// CHECK-NEXT: "col": 3,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 3,
+// CHECK-NEXT: "offset": 1181,
+// CHECK-NEXT: "col": 3,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 21,
+// CHECK-NEXT: "offset": 1199,
+// CHECK-NEXT: "col": 21,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "variadic": true,
+// CHECK-NEXT: },
+// CHECK-NEXT: "variadic": true,
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ParmVarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "col": 9,
+// CHECK-NEXT: "offset": 1187,
+// CHECK-NEXT: "col": 9,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 5,
+// CHECK-NEXT: "offset": 1183,
+// CHECK-NEXT: "col": 5,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 9,
+// CHECK-NEXT: "offset": 1187,
+// CHECK-NEXT: "col": 9,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "y",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "y",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "kind": "Capture",
+// CHECK-NEXT: "kind": "Capture",
// CHECK-NEXT: "var": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "name": "x",
+// 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: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "CompoundStmt",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 16,
+// CHECK-NEXT: "offset": 1194,
+// CHECK-NEXT: "col": 16,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 21,
+// CHECK-NEXT: "offset": 1199,
+// CHECK-NEXT: "col": 21,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ImplicitCastExpr",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ImplicitCastExpr",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 18,
+// CHECK-NEXT: "offset": 1196,
+// CHECK-NEXT: "col": 18,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 18,
+// CHECK-NEXT: "offset": 1196,
+// CHECK-NEXT: "col": 18,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
-// CHECK-NEXT: },
-// CHECK-NEXT: "valueCategory": "rvalue",
-// CHECK-NEXT: "castKind": "LValueToRValue",
+// 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: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "DeclRefExpr",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 18,
+// CHECK-NEXT: "offset": 1196,
+// CHECK-NEXT: "col": 18,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 18,
+// CHECK-NEXT: "offset": 1196,
+// CHECK-NEXT: "col": 18,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "const int"
-// CHECK-NEXT: },
-// CHECK-NEXT: "valueCategory": "lvalue",
+// CHECK-NEXT: },
+// CHECK-NEXT: "valueCategory": "lvalue",
// CHECK-NEXT: "referencedDecl": {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "name": "x",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ParmVarDecl",
+// CHECK-NEXT: "name": "x",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
// CHECK-NEXT: }
@@ -1573,25 +1724,28 @@ void f() {
// CHECK-NEXT: ]
// CHECK-NEXT: }
// CHECK-NEXT: ]
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
+// CHECK-NEXT: "id": "0x{{.*}}",
+// CHECK-NEXT: "kind": "ParmVarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "col": 9,
+// CHECK-NEXT: "offset": 1187,
+// CHECK-NEXT: "col": 9,
// CHECK-NEXT: "tokLen": 1
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 5,
+// CHECK-NEXT: "offset": 1183,
+// CHECK-NEXT: "col": 5,
// CHECK-NEXT: "tokLen": 3
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 9,
+// CHECK-NEXT: "offset": 1187,
+// CHECK-NEXT: "col": 9,
// CHECK-NEXT: "tokLen": 1
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "y",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "y",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "int"
// CHECK-NEXT: }
@@ -1608,26 +1762,29 @@ void f() {
// CHECK-NEXT: }
-// CHECK: "kind": "VarDecl",
+// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
-// CHECK-NEXT: "file": "{{.*}}",
-// CHECK-NEXT: "line": 83,
-// CHECK-NEXT: "col": 21,
+// CHECK-NEXT: "offset": 1268,
+// CHECK-NEXT: "file": "{{.*}}",
+// CHECK-NEXT: "line": 83,
+// CHECK-NEXT: "col": 21,
// CHECK-NEXT: "tokLen": 4
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
-// CHECK-NEXT: "col": 3,
+// CHECK-NEXT: "offset": 1250,
+// CHECK-NEXT: "col": 3,
// CHECK-NEXT: "tokLen": 10
-// CHECK-NEXT: },
+// CHECK-NEXT: },
// CHECK-NEXT: "end": {
-// CHECK-NEXT: "col": 21,
+// CHECK-NEXT: "offset": 1268,
+// CHECK-NEXT: "col": 21,
// CHECK-NEXT: "tokLen": 4
// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: "name": "Test",
+// CHECK-NEXT: },
+// CHECK-NEXT: "name": "Test",
// CHECK-NEXT: "type": {
-// CHECK-NEXT: "desugaredQualType": "int",
+// CHECK-NEXT: "desugaredQualType": "int",
// CHECK-NEXT: "qualType": "typeof (B.foo)"
// CHECK-NEXT: }
// CHECK-NEXT: }