brintos

brintos / llvm-project-archived public Read only

0
0
Text · 25.6 KiB · 096b9c3 Raw
774 lines · plain
1// RUN: %clang_cc1 -triple x86_64-pc-win32 -Wno-unused -fblocks -fobjc-exceptions -ast-dump=json -ast-dump-filter Test %s | FileCheck %s2 3void TestBlockExpr(int x) {4  ^{ x; };5}6 7void TestExprWithCleanup(int x) {8  ^{ x; };9}10 11@interface A12@end13 14void TestObjCAtCatchStmt(void) {15  @try {16  } @catch(A *a) {17  } @catch(...) {18  } @finally {19  }20}21 22// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py23 24 25// CHECK-NOT: {{^}}Dumping26// CHECK:  "kind": "FunctionDecl",27// CHECK-NEXT:  "loc": {28// CHECK-NEXT:   "offset": {{[0-9]+}},29// CHECK-NEXT:   "file": "{{.*}}",30// CHECK-NEXT:   "line": 3,31// CHECK-NEXT:   "col": 6,32// CHECK-NEXT:   "tokLen": 1333// CHECK-NEXT:  },34// CHECK-NEXT:  "range": {35// CHECK-NEXT:   "begin": {36// CHECK-NEXT:    "offset": {{[0-9]+}},37// CHECK-NEXT:    "col": 1,38// CHECK-NEXT:    "tokLen": 439// CHECK-NEXT:   },40// CHECK-NEXT:   "end": {41// CHECK-NEXT:    "offset": {{[0-9]+}},42// CHECK-NEXT:    "line": 5,43// CHECK-NEXT:    "col": 1,44// CHECK-NEXT:    "tokLen": 145// CHECK-NEXT:   }46// CHECK-NEXT:  },47// CHECK-NEXT:  "name": "TestBlockExpr",48// CHECK-NEXT:  "mangledName": "TestBlockExpr",49// CHECK-NEXT:  "type": {50// CHECK-NEXT:   "qualType": "void (int)"51// CHECK-NEXT:  },52// CHECK-NEXT:  "inner": [53// CHECK-NEXT:   {54// CHECK-NEXT:    "id": "0x{{.*}}",55// CHECK-NEXT:    "kind": "ParmVarDecl",56// CHECK-NEXT:    "loc": {57// CHECK-NEXT:     "offset": {{[0-9]+}},58// CHECK-NEXT:     "line": 3,59// CHECK-NEXT:     "col": 24,60// CHECK-NEXT:     "tokLen": 161// CHECK-NEXT:    },62// CHECK-NEXT:    "range": {63// CHECK-NEXT:     "begin": {64// CHECK-NEXT:      "offset": {{[0-9]+}},65// CHECK-NEXT:      "col": 20,66// CHECK-NEXT:      "tokLen": 367// CHECK-NEXT:     },68// CHECK-NEXT:     "end": {69// CHECK-NEXT:      "offset": {{[0-9]+}},70// CHECK-NEXT:      "col": 24,71// CHECK-NEXT:      "tokLen": 172// CHECK-NEXT:     }73// CHECK-NEXT:    },74// CHECK-NEXT:    "isUsed": true,75// CHECK-NEXT:    "name": "x",76// CHECK-NEXT:    "type": {77// CHECK-NEXT:     "qualType": "int"78// CHECK-NEXT:    }79// CHECK-NEXT:   },80// CHECK-NEXT:   {81// CHECK-NEXT:    "id": "0x{{.*}}",82// CHECK-NEXT:    "kind": "CompoundStmt",83// CHECK-NEXT:    "range": {84// CHECK-NEXT:     "begin": {85// CHECK-NEXT:      "offset": {{[0-9]+}},86// CHECK-NEXT:      "col": 27,87// CHECK-NEXT:      "tokLen": 188// CHECK-NEXT:     },89// CHECK-NEXT:     "end": {90// CHECK-NEXT:      "offset": {{[0-9]+}},91// CHECK-NEXT:      "line": 5,92// CHECK-NEXT:      "col": 1,93// CHECK-NEXT:      "tokLen": 194// CHECK-NEXT:     }95// CHECK-NEXT:    },96// CHECK-NEXT:    "inner": [97// CHECK-NEXT:     {98// CHECK-NEXT:      "id": "0x{{.*}}",99// CHECK-NEXT:      "kind": "ExprWithCleanups",100// CHECK-NEXT:      "range": {101// CHECK-NEXT:       "begin": {102// CHECK-NEXT:        "offset": {{[0-9]+}},103// CHECK-NEXT:        "line": 4,104// CHECK-NEXT:        "col": 3,105// CHECK-NEXT:        "tokLen": 1106// CHECK-NEXT:       },107// CHECK-NEXT:       "end": {108// CHECK-NEXT:        "offset": {{[0-9]+}},109// CHECK-NEXT:        "col": 9,110// CHECK-NEXT:        "tokLen": 1111// CHECK-NEXT:       }112// CHECK-NEXT:      },113// CHECK-NEXT:      "type": {114// CHECK-NEXT:       "qualType": "void (^)(void)"115// CHECK-NEXT:      },116// CHECK-NEXT:      "valueCategory": "prvalue",117// CHECK-NEXT:      "cleanupsHaveSideEffects": true,118// CHECK-NEXT:      "cleanups": [119// CHECK-NEXT:       {120// CHECK-NEXT:        "id": "0x{{.*}}",121// CHECK-NEXT:        "kind": "BlockDecl"122// CHECK-NEXT:       }123// CHECK-NEXT:      ],124// CHECK-NEXT:      "inner": [125// CHECK-NEXT:       {126// CHECK-NEXT:        "id": "0x{{.*}}",127// CHECK-NEXT:        "kind": "BlockExpr",128// CHECK-NEXT:        "range": {129// CHECK-NEXT:         "begin": {130// CHECK-NEXT:          "offset": {{[0-9]+}},131// CHECK-NEXT:          "col": 3,132// CHECK-NEXT:          "tokLen": 1133// CHECK-NEXT:         },134// CHECK-NEXT:         "end": {135// CHECK-NEXT:          "offset": {{[0-9]+}},136// CHECK-NEXT:          "col": 9,137// CHECK-NEXT:          "tokLen": 1138// CHECK-NEXT:         }139// CHECK-NEXT:        },140// CHECK-NEXT:        "type": {141// CHECK-NEXT:         "qualType": "void (^)(void)"142// CHECK-NEXT:        },143// CHECK-NEXT:        "valueCategory": "prvalue",144// CHECK-NEXT:        "inner": [145// CHECK-NEXT:         {146// CHECK-NEXT:          "id": "0x{{.*}}",147// CHECK-NEXT:          "kind": "BlockDecl",148// CHECK-NEXT:          "loc": {149// CHECK-NEXT:           "offset": {{[0-9]+}},150// CHECK-NEXT:           "col": 3,151// CHECK-NEXT:           "tokLen": 1152// CHECK-NEXT:          },153// CHECK-NEXT:          "range": {154// CHECK-NEXT:           "begin": {155// CHECK-NEXT:            "offset": {{[0-9]+}},156// CHECK-NEXT:            "col": 3,157// CHECK-NEXT:            "tokLen": 1158// CHECK-NEXT:           },159// CHECK-NEXT:           "end": {160// CHECK-NEXT:            "offset": {{[0-9]+}},161// CHECK-NEXT:            "col": 9,162// CHECK-NEXT:            "tokLen": 1163// CHECK-NEXT:           }164// CHECK-NEXT:          },165// CHECK-NEXT:          "inner": [166// CHECK-NEXT:           {167// CHECK-NEXT:            "kind": "Capture",168// CHECK-NEXT:            "var": {169// CHECK-NEXT:             "id": "0x{{.*}}",170// CHECK-NEXT:             "kind": "ParmVarDecl",171// CHECK-NEXT:             "name": "x",172// CHECK-NEXT:             "type": {173// CHECK-NEXT:              "qualType": "int"174// CHECK-NEXT:             }175// CHECK-NEXT:            }176// CHECK-NEXT:           },177// CHECK-NEXT:           {178// CHECK-NEXT:            "id": "0x{{.*}}",179// CHECK-NEXT:            "kind": "CompoundStmt",180// CHECK-NEXT:            "range": {181// CHECK-NEXT:             "begin": {182// CHECK-NEXT:              "offset": {{[0-9]+}},183// CHECK-NEXT:              "col": 4,184// CHECK-NEXT:              "tokLen": 1185// CHECK-NEXT:             },186// CHECK-NEXT:             "end": {187// CHECK-NEXT:              "offset": {{[0-9]+}},188// CHECK-NEXT:              "col": 9,189// CHECK-NEXT:              "tokLen": 1190// CHECK-NEXT:             }191// CHECK-NEXT:            },192// CHECK-NEXT:            "inner": [193// CHECK-NEXT:             {194// CHECK-NEXT:              "id": "0x{{.*}}",195// CHECK-NEXT:              "kind": "ImplicitCastExpr",196// CHECK-NEXT:              "range": {197// CHECK-NEXT:               "begin": {198// CHECK-NEXT:                "offset": {{[0-9]+}},199// CHECK-NEXT:                "col": 6,200// CHECK-NEXT:                "tokLen": 1201// CHECK-NEXT:               },202// CHECK-NEXT:               "end": {203// CHECK-NEXT:                "offset": {{[0-9]+}},204// CHECK-NEXT:                "col": 6,205// CHECK-NEXT:                "tokLen": 1206// CHECK-NEXT:               }207// CHECK-NEXT:              },208// CHECK-NEXT:              "type": {209// CHECK-NEXT:               "qualType": "int"210// CHECK-NEXT:              },211// CHECK-NEXT:              "valueCategory": "prvalue",212// CHECK-NEXT:              "castKind": "LValueToRValue",213// CHECK-NEXT:              "inner": [214// CHECK-NEXT:               {215// CHECK-NEXT:                "id": "0x{{.*}}",216// CHECK-NEXT:                "kind": "DeclRefExpr",217// CHECK-NEXT:                "range": {218// CHECK-NEXT:                 "begin": {219// CHECK-NEXT:                  "offset": {{[0-9]+}},220// CHECK-NEXT:                  "col": 6,221// CHECK-NEXT:                  "tokLen": 1222// CHECK-NEXT:                 },223// CHECK-NEXT:                 "end": {224// CHECK-NEXT:                  "offset": {{[0-9]+}},225// CHECK-NEXT:                  "col": 6,226// CHECK-NEXT:                  "tokLen": 1227// CHECK-NEXT:                 }228// CHECK-NEXT:                },229// CHECK-NEXT:                "type": {230// CHECK-NEXT:                 "qualType": "const int"231// CHECK-NEXT:                },232// CHECK-NEXT:                "valueCategory": "lvalue",233// CHECK-NEXT:                "referencedDecl": {234// CHECK-NEXT:                 "id": "0x{{.*}}",235// CHECK-NEXT:                 "kind": "ParmVarDecl",236// CHECK-NEXT:                 "name": "x",237// CHECK-NEXT:                 "type": {238// CHECK-NEXT:                  "qualType": "int"239// CHECK-NEXT:                 }240// CHECK-NEXT:                }241// CHECK-NEXT:               }242// CHECK-NEXT:              ]243// CHECK-NEXT:             }244// CHECK-NEXT:            ]245// CHECK-NEXT:           }246// CHECK-NEXT:          ]247// CHECK-NEXT:         }248// CHECK-NEXT:        ]249// CHECK-NEXT:       }250// CHECK-NEXT:      ]251// CHECK-NEXT:     }252// CHECK-NEXT:    ]253// CHECK-NEXT:   }254// CHECK-NEXT:  ]255// CHECK-NEXT: }256 257 258// CHECK-NOT: {{^}}Dumping259// CHECK:  "kind": "FunctionDecl",260// CHECK-NEXT:  "loc": {261// CHECK-NEXT:   "offset": {{[0-9]+}},262// CHECK-NEXT:   "file": "{{.*}}",263// CHECK-NEXT:   "line": 7,264// CHECK-NEXT:   "col": 6,265// CHECK-NEXT:   "tokLen": 19266// CHECK-NEXT:  },267// CHECK-NEXT:  "range": {268// CHECK-NEXT:   "begin": {269// CHECK-NEXT:    "offset": {{[0-9]+}},270// CHECK-NEXT:    "col": 1,271// CHECK-NEXT:    "tokLen": 4272// CHECK-NEXT:   },273// CHECK-NEXT:   "end": {274// CHECK-NEXT:    "offset": {{[0-9]+}},275// CHECK-NEXT:    "line": 9,276// CHECK-NEXT:    "col": 1,277// CHECK-NEXT:    "tokLen": 1278// CHECK-NEXT:   }279// CHECK-NEXT:  },280// CHECK-NEXT:  "name": "TestExprWithCleanup",281// CHECK-NEXT:  "mangledName": "TestExprWithCleanup",282// CHECK-NEXT:  "type": {283// CHECK-NEXT:   "qualType": "void (int)"284// CHECK-NEXT:  },285// CHECK-NEXT:  "inner": [286// CHECK-NEXT:   {287// CHECK-NEXT:    "id": "0x{{.*}}",288// CHECK-NEXT:    "kind": "ParmVarDecl",289// CHECK-NEXT:    "loc": {290// CHECK-NEXT:     "offset": {{[0-9]+}},291// CHECK-NEXT:     "line": 7,292// CHECK-NEXT:     "col": 30,293// CHECK-NEXT:     "tokLen": 1294// CHECK-NEXT:    },295// CHECK-NEXT:    "range": {296// CHECK-NEXT:     "begin": {297// CHECK-NEXT:      "offset": {{[0-9]+}},298// CHECK-NEXT:      "col": 26,299// CHECK-NEXT:      "tokLen": 3300// CHECK-NEXT:     },301// CHECK-NEXT:     "end": {302// CHECK-NEXT:      "offset": {{[0-9]+}},303// CHECK-NEXT:      "col": 30,304// CHECK-NEXT:      "tokLen": 1305// CHECK-NEXT:     }306// CHECK-NEXT:    },307// CHECK-NEXT:    "isUsed": true,308// CHECK-NEXT:    "name": "x",309// CHECK-NEXT:    "type": {310// CHECK-NEXT:     "qualType": "int"311// CHECK-NEXT:    }312// CHECK-NEXT:   },313// CHECK-NEXT:   {314// CHECK-NEXT:    "id": "0x{{.*}}",315// CHECK-NEXT:    "kind": "CompoundStmt",316// CHECK-NEXT:    "range": {317// CHECK-NEXT:     "begin": {318// CHECK-NEXT:      "offset": {{[0-9]+}},319// CHECK-NEXT:      "col": 33,320// CHECK-NEXT:      "tokLen": 1321// CHECK-NEXT:     },322// CHECK-NEXT:     "end": {323// CHECK-NEXT:      "offset": {{[0-9]+}},324// CHECK-NEXT:      "line": 9,325// CHECK-NEXT:      "col": 1,326// CHECK-NEXT:      "tokLen": 1327// CHECK-NEXT:     }328// CHECK-NEXT:    },329// CHECK-NEXT:    "inner": [330// CHECK-NEXT:     {331// CHECK-NEXT:      "id": "0x{{.*}}",332// CHECK-NEXT:      "kind": "ExprWithCleanups",333// CHECK-NEXT:      "range": {334// CHECK-NEXT:       "begin": {335// CHECK-NEXT:        "offset": {{[0-9]+}},336// CHECK-NEXT:        "line": 8,337// CHECK-NEXT:        "col": 3,338// CHECK-NEXT:        "tokLen": 1339// CHECK-NEXT:       },340// CHECK-NEXT:       "end": {341// CHECK-NEXT:        "offset": {{[0-9]+}},342// CHECK-NEXT:        "col": 9,343// CHECK-NEXT:        "tokLen": 1344// CHECK-NEXT:       }345// CHECK-NEXT:      },346// CHECK-NEXT:      "type": {347// CHECK-NEXT:       "qualType": "void (^)(void)"348// CHECK-NEXT:      },349// CHECK-NEXT:      "valueCategory": "prvalue",350// CHECK-NEXT:      "cleanupsHaveSideEffects": true,351// CHECK-NEXT:      "cleanups": [352// CHECK-NEXT:       {353// CHECK-NEXT:        "id": "0x{{.*}}",354// CHECK-NEXT:        "kind": "BlockDecl"355// CHECK-NEXT:       }356// CHECK-NEXT:      ],357// CHECK-NEXT:      "inner": [358// CHECK-NEXT:       {359// CHECK-NEXT:        "id": "0x{{.*}}",360// CHECK-NEXT:        "kind": "BlockExpr",361// CHECK-NEXT:        "range": {362// CHECK-NEXT:         "begin": {363// CHECK-NEXT:          "offset": {{[0-9]+}},364// CHECK-NEXT:          "col": 3,365// CHECK-NEXT:          "tokLen": 1366// CHECK-NEXT:         },367// CHECK-NEXT:         "end": {368// CHECK-NEXT:          "offset": {{[0-9]+}},369// CHECK-NEXT:          "col": 9,370// CHECK-NEXT:          "tokLen": 1371// CHECK-NEXT:         }372// CHECK-NEXT:        },373// CHECK-NEXT:        "type": {374// CHECK-NEXT:         "qualType": "void (^)(void)"375// CHECK-NEXT:        },376// CHECK-NEXT:        "valueCategory": "prvalue",377// CHECK-NEXT:        "inner": [378// CHECK-NEXT:         {379// CHECK-NEXT:          "id": "0x{{.*}}",380// CHECK-NEXT:          "kind": "BlockDecl",381// CHECK-NEXT:          "loc": {382// CHECK-NEXT:           "offset": {{[0-9]+}},383// CHECK-NEXT:           "col": 3,384// CHECK-NEXT:           "tokLen": 1385// CHECK-NEXT:          },386// CHECK-NEXT:          "range": {387// CHECK-NEXT:           "begin": {388// CHECK-NEXT:            "offset": {{[0-9]+}},389// CHECK-NEXT:            "col": 3,390// CHECK-NEXT:            "tokLen": 1391// CHECK-NEXT:           },392// CHECK-NEXT:           "end": {393// CHECK-NEXT:            "offset": {{[0-9]+}},394// CHECK-NEXT:            "col": 9,395// CHECK-NEXT:            "tokLen": 1396// CHECK-NEXT:           }397// CHECK-NEXT:          },398// CHECK-NEXT:          "inner": [399// CHECK-NEXT:           {400// CHECK-NEXT:            "kind": "Capture",401// CHECK-NEXT:            "var": {402// CHECK-NEXT:             "id": "0x{{.*}}",403// CHECK-NEXT:             "kind": "ParmVarDecl",404// CHECK-NEXT:             "name": "x",405// CHECK-NEXT:             "type": {406// CHECK-NEXT:              "qualType": "int"407// CHECK-NEXT:             }408// CHECK-NEXT:            }409// CHECK-NEXT:           },410// CHECK-NEXT:           {411// CHECK-NEXT:            "id": "0x{{.*}}",412// CHECK-NEXT:            "kind": "CompoundStmt",413// CHECK-NEXT:            "range": {414// CHECK-NEXT:             "begin": {415// CHECK-NEXT:              "offset": {{[0-9]+}},416// CHECK-NEXT:              "col": 4,417// CHECK-NEXT:              "tokLen": 1418// CHECK-NEXT:             },419// CHECK-NEXT:             "end": {420// CHECK-NEXT:              "offset": {{[0-9]+}},421// CHECK-NEXT:              "col": 9,422// CHECK-NEXT:              "tokLen": 1423// CHECK-NEXT:             }424// CHECK-NEXT:            },425// CHECK-NEXT:            "inner": [426// CHECK-NEXT:             {427// CHECK-NEXT:              "id": "0x{{.*}}",428// CHECK-NEXT:              "kind": "ImplicitCastExpr",429// CHECK-NEXT:              "range": {430// CHECK-NEXT:               "begin": {431// CHECK-NEXT:                "offset": {{[0-9]+}},432// CHECK-NEXT:                "col": 6,433// CHECK-NEXT:                "tokLen": 1434// CHECK-NEXT:               },435// CHECK-NEXT:               "end": {436// CHECK-NEXT:                "offset": {{[0-9]+}},437// CHECK-NEXT:                "col": 6,438// CHECK-NEXT:                "tokLen": 1439// CHECK-NEXT:               }440// CHECK-NEXT:              },441// CHECK-NEXT:              "type": {442// CHECK-NEXT:               "qualType": "int"443// CHECK-NEXT:              },444// CHECK-NEXT:              "valueCategory": "prvalue",445// CHECK-NEXT:              "castKind": "LValueToRValue",446// CHECK-NEXT:              "inner": [447// CHECK-NEXT:               {448// CHECK-NEXT:                "id": "0x{{.*}}",449// CHECK-NEXT:                "kind": "DeclRefExpr",450// CHECK-NEXT:                "range": {451// CHECK-NEXT:                 "begin": {452// CHECK-NEXT:                  "offset": {{[0-9]+}},453// CHECK-NEXT:                  "col": 6,454// CHECK-NEXT:                  "tokLen": 1455// CHECK-NEXT:                 },456// CHECK-NEXT:                 "end": {457// CHECK-NEXT:                  "offset": {{[0-9]+}},458// CHECK-NEXT:                  "col": 6,459// CHECK-NEXT:                  "tokLen": 1460// CHECK-NEXT:                 }461// CHECK-NEXT:                },462// CHECK-NEXT:                "type": {463// CHECK-NEXT:                 "qualType": "const int"464// CHECK-NEXT:                },465// CHECK-NEXT:                "valueCategory": "lvalue",466// CHECK-NEXT:                "referencedDecl": {467// CHECK-NEXT:                 "id": "0x{{.*}}",468// CHECK-NEXT:                 "kind": "ParmVarDecl",469// CHECK-NEXT:                 "name": "x",470// CHECK-NEXT:                 "type": {471// CHECK-NEXT:                  "qualType": "int"472// CHECK-NEXT:                 }473// CHECK-NEXT:                }474// CHECK-NEXT:               }475// CHECK-NEXT:              ]476// CHECK-NEXT:             }477// CHECK-NEXT:            ]478// CHECK-NEXT:           }479// CHECK-NEXT:          ]480// CHECK-NEXT:         }481// CHECK-NEXT:        ]482// CHECK-NEXT:       }483// CHECK-NEXT:      ]484// CHECK-NEXT:     }485// CHECK-NEXT:    ]486// CHECK-NEXT:   }487// CHECK-NEXT:  ]488// CHECK-NEXT: }489 490 491// CHECK-NOT: {{^}}Dumping492// CHECK:  "kind": "FunctionDecl",493// CHECK-NEXT:  "loc": {494// CHECK-NEXT:   "offset": {{[0-9]+}},495// CHECK-NEXT:   "file": "{{.*}}",496// CHECK-NEXT:   "line": 14,497// CHECK-NEXT:   "col": 6,498// CHECK-NEXT:   "tokLen": 19499// CHECK-NEXT:  },500// CHECK-NEXT:  "range": {501// CHECK-NEXT:   "begin": {502// CHECK-NEXT:    "offset": {{[0-9]+}},503// CHECK-NEXT:    "col": 1,504// CHECK-NEXT:    "tokLen": 4505// CHECK-NEXT:   },506// CHECK-NEXT:   "end": {507// CHECK-NEXT:    "offset": {{[0-9]+}},508// CHECK-NEXT:    "line": 20,509// CHECK-NEXT:    "col": 1,510// CHECK-NEXT:    "tokLen": 1511// CHECK-NEXT:   }512// CHECK-NEXT:  },513// CHECK-NEXT:  "name": "TestObjCAtCatchStmt",514// CHECK-NEXT:  "mangledName": "TestObjCAtCatchStmt",515// CHECK-NEXT:  "type": {516// CHECK-NEXT:   "qualType": "void (void)"517// CHECK-NEXT:  },518// CHECK-NEXT:  "inner": [519// CHECK-NEXT:   {520// CHECK-NEXT:    "id": "0x{{.*}}",521// CHECK-NEXT:    "kind": "CompoundStmt",522// CHECK-NEXT:    "range": {523// CHECK-NEXT:     "begin": {524// CHECK-NEXT:      "offset": {{[0-9]+}},525// CHECK-NEXT:      "line": 14,526// CHECK-NEXT:      "col": 32,527// CHECK-NEXT:      "tokLen": 1528// CHECK-NEXT:     },529// CHECK-NEXT:     "end": {530// CHECK-NEXT:      "offset": {{[0-9]+}},531// CHECK-NEXT:      "line": 20,532// CHECK-NEXT:      "col": 1,533// CHECK-NEXT:      "tokLen": 1534// CHECK-NEXT:     }535// CHECK-NEXT:    },536// CHECK-NEXT:    "inner": [537// CHECK-NEXT:     {538// CHECK-NEXT:      "id": "0x{{.*}}",539// CHECK-NEXT:      "kind": "ObjCAtTryStmt",540// CHECK-NEXT:      "range": {541// CHECK-NEXT:       "begin": {542// CHECK-NEXT:        "offset": {{[0-9]+}},543// CHECK-NEXT:        "line": 15,544// CHECK-NEXT:        "col": 3,545// CHECK-NEXT:        "tokLen": 1546// CHECK-NEXT:       },547// CHECK-NEXT:       "end": {548// CHECK-NEXT:        "offset": {{[0-9]+}},549// CHECK-NEXT:        "line": 19,550// CHECK-NEXT:        "col": 3,551// CHECK-NEXT:        "tokLen": 1552// CHECK-NEXT:       }553// CHECK-NEXT:      },554// CHECK-NEXT:      "inner": [555// CHECK-NEXT:       {556// CHECK-NEXT:        "id": "0x{{.*}}",557// CHECK-NEXT:        "kind": "CompoundStmt",558// CHECK-NEXT:        "range": {559// CHECK-NEXT:         "begin": {560// CHECK-NEXT:          "offset": {{[0-9]+}},561// CHECK-NEXT:          "line": 15,562// CHECK-NEXT:          "col": 8,563// CHECK-NEXT:          "tokLen": 1564// CHECK-NEXT:         },565// CHECK-NEXT:         "end": {566// CHECK-NEXT:          "offset": {{[0-9]+}},567// CHECK-NEXT:          "line": 16,568// CHECK-NEXT:          "col": 3,569// CHECK-NEXT:          "tokLen": 1570// CHECK-NEXT:         }571// CHECK-NEXT:        }572// CHECK-NEXT:       },573// CHECK-NEXT:       {574// CHECK-NEXT:        "id": "0x{{.*}}",575// CHECK-NEXT:        "kind": "ObjCAtCatchStmt",576// CHECK-NEXT:        "range": {577// CHECK-NEXT:         "begin": {578// CHECK-NEXT:          "offset": {{[0-9]+}},579// CHECK-NEXT:          "col": 5,580// CHECK-NEXT:          "tokLen": 1581// CHECK-NEXT:         },582// CHECK-NEXT:         "end": {583// CHECK-NEXT:          "offset": {{[0-9]+}},584// CHECK-NEXT:          "line": 17,585// CHECK-NEXT:          "col": 3,586// CHECK-NEXT:          "tokLen": 1587// CHECK-NEXT:         }588// CHECK-NEXT:        },589// CHECK-NEXT:        "inner": [590// CHECK-NEXT:         {591// CHECK-NEXT:          "id": "0x{{.*}}",592// CHECK-NEXT:          "kind": "VarDecl",593// CHECK-NEXT:          "loc": {594// CHECK-NEXT:           "offset": {{[0-9]+}},595// CHECK-NEXT:           "line": 16,596// CHECK-NEXT:           "col": 15,597// CHECK-NEXT:           "tokLen": 1598// CHECK-NEXT:          },599// CHECK-NEXT:          "range": {600// CHECK-NEXT:           "begin": {601// CHECK-NEXT:            "offset": {{[0-9]+}},602// CHECK-NEXT:            "col": 12,603// CHECK-NEXT:            "tokLen": 1604// CHECK-NEXT:           },605// CHECK-NEXT:           "end": {606// CHECK-NEXT:            "offset": {{[0-9]+}},607// CHECK-NEXT:            "col": 15,608// CHECK-NEXT:            "tokLen": 1609// CHECK-NEXT:           }610// CHECK-NEXT:          },611// CHECK-NEXT:          "name": "a",612// CHECK-NEXT:          "type": {613// CHECK-NEXT:           "qualType": "A *"614// CHECK-NEXT:          }615// CHECK-NEXT:         },616// CHECK-NEXT:         {617// CHECK-NEXT:          "id": "0x{{.*}}",618// CHECK-NEXT:          "kind": "CompoundStmt",619// CHECK-NEXT:          "range": {620// CHECK-NEXT:           "begin": {621// CHECK-NEXT:            "offset": {{[0-9]+}},622// CHECK-NEXT:            "col": 18,623// CHECK-NEXT:            "tokLen": 1624// CHECK-NEXT:           },625// CHECK-NEXT:           "end": {626// CHECK-NEXT:            "offset": {{[0-9]+}},627// CHECK-NEXT:            "line": 17,628// CHECK-NEXT:            "col": 3,629// CHECK-NEXT:            "tokLen": 1630// CHECK-NEXT:           }631// CHECK-NEXT:          }632// CHECK-NEXT:         }633// CHECK-NEXT:        ]634// CHECK-NEXT:       },635// CHECK-NEXT:       {636// CHECK-NEXT:        "id": "0x{{.*}}",637// CHECK-NEXT:        "kind": "ObjCAtCatchStmt",638// CHECK-NEXT:        "range": {639// CHECK-NEXT:         "begin": {640// CHECK-NEXT:          "offset": {{[0-9]+}},641// CHECK-NEXT:          "col": 5,642// CHECK-NEXT:          "tokLen": 1643// CHECK-NEXT:         },644// CHECK-NEXT:         "end": {645// CHECK-NEXT:          "offset": {{[0-9]+}},646// CHECK-NEXT:          "line": 18,647// CHECK-NEXT:          "col": 3,648// CHECK-NEXT:          "tokLen": 1649// CHECK-NEXT:         }650// CHECK-NEXT:        },651// CHECK-NEXT:        "isCatchAll": true,652// CHECK-NEXT:        "inner": [653// CHECK-NEXT:         {654// CHECK-NEXT:          "id": "0x{{.*}}",655// CHECK-NEXT:          "kind": "CompoundStmt",656// CHECK-NEXT:          "range": {657// CHECK-NEXT:           "begin": {658// CHECK-NEXT:            "offset": {{[0-9]+}},659// CHECK-NEXT:            "line": 17,660// CHECK-NEXT:            "col": 17,661// CHECK-NEXT:            "tokLen": 1662// CHECK-NEXT:           },663// CHECK-NEXT:           "end": {664// CHECK-NEXT:            "offset": {{[0-9]+}},665// CHECK-NEXT:            "line": 18,666// CHECK-NEXT:            "col": 3,667// CHECK-NEXT:            "tokLen": 1668// CHECK-NEXT:           }669// CHECK-NEXT:          }670// CHECK-NEXT:         }671// CHECK-NEXT:        ]672// CHECK-NEXT:       },673// CHECK-NEXT:       {674// CHECK-NEXT:        "id": "0x{{.*}}",675// CHECK-NEXT:        "kind": "ObjCAtFinallyStmt",676// CHECK-NEXT:        "range": {677// CHECK-NEXT:         "begin": {678// CHECK-NEXT:          "offset": {{[0-9]+}},679// CHECK-NEXT:          "col": 5,680// CHECK-NEXT:          "tokLen": 1681// CHECK-NEXT:         },682// CHECK-NEXT:         "end": {683// CHECK-NEXT:          "offset": {{[0-9]+}},684// CHECK-NEXT:          "line": 19,685// CHECK-NEXT:          "col": 3,686// CHECK-NEXT:          "tokLen": 1687// CHECK-NEXT:         }688// CHECK-NEXT:        },689// CHECK-NEXT:        "inner": [690// CHECK-NEXT:         {691// CHECK-NEXT:          "id": "0x{{.*}}",692// CHECK-NEXT:          "kind": "CapturedStmt",693// CHECK-NEXT:          "range": {694// CHECK-NEXT:           "begin": {695// CHECK-NEXT:            "offset": {{[0-9]+}},696// CHECK-NEXT:            "line": 18,697// CHECK-NEXT:            "col": 14,698// CHECK-NEXT:            "tokLen": 1699// CHECK-NEXT:           },700// CHECK-NEXT:           "end": {701// CHECK-NEXT:            "offset": {{[0-9]+}},702// CHECK-NEXT:            "line": 19,703// CHECK-NEXT:            "col": 3,704// CHECK-NEXT:            "tokLen": 1705// CHECK-NEXT:           }706// CHECK-NEXT:          },707// CHECK-NEXT:          "inner": [708// CHECK-NEXT:           {709// CHECK-NEXT:            "id": "0x{{.*}}",710// CHECK-NEXT:            "kind": "CapturedDecl",711// CHECK-NEXT:            "loc": {},712// CHECK-NEXT:            "range": {713// CHECK-NEXT:             "begin": {},714// CHECK-NEXT:             "end": {}715// CHECK-NEXT:            },716// CHECK-NEXT:            "inner": [717// CHECK-NEXT:             {718// CHECK-NEXT:              "id": "0x{{.*}}",719// CHECK-NEXT:              "kind": "CompoundStmt",720// CHECK-NEXT:              "range": {721// CHECK-NEXT:               "begin": {722// CHECK-NEXT:                "offset": {{[0-9]+}},723// CHECK-NEXT:                "line": 18,724// CHECK-NEXT:                "col": 14,725// CHECK-NEXT:                "tokLen": 1726// CHECK-NEXT:               },727// CHECK-NEXT:               "end": {728// CHECK-NEXT:                "offset": {{[0-9]+}},729// CHECK-NEXT:                "line": 19,730// CHECK-NEXT:                "col": 3,731// CHECK-NEXT:                "tokLen": 1732// CHECK-NEXT:               }733// CHECK-NEXT:              }734// CHECK-NEXT:             },735// CHECK-NEXT:             {736// CHECK-NEXT:              "id": "0x{{.*}}",737// CHECK-NEXT:              "kind": "ImplicitParamDecl",738// CHECK-NEXT:              "loc": {739// CHECK-NEXT:               "offset": {{[0-9]+}},740// CHECK-NEXT:               "line": 18,741// CHECK-NEXT:               "col": 14,742// CHECK-NEXT:               "tokLen": 1743// CHECK-NEXT:              },744// CHECK-NEXT:              "range": {745// CHECK-NEXT:               "begin": {746// CHECK-NEXT:                "offset": {{[0-9]+}},747// CHECK-NEXT:                "col": 14,748// CHECK-NEXT:                "tokLen": 1749// CHECK-NEXT:               },750// CHECK-NEXT:               "end": {751// CHECK-NEXT:                "offset": {{[0-9]+}},752// CHECK-NEXT:                "col": 14,753// CHECK-NEXT:                "tokLen": 1754// CHECK-NEXT:               }755// CHECK-NEXT:              },756// CHECK-NEXT:              "isImplicit": true,757// CHECK-NEXT:              "name": "__context",758// CHECK-NEXT:              "type": {759// CHECK-NEXT:               "qualType": "struct (unnamed at {{.*}}:18:14) *"760// CHECK-NEXT:              }761// CHECK-NEXT:             }762// CHECK-NEXT:            ]763// CHECK-NEXT:           }764// CHECK-NEXT:          ]765// CHECK-NEXT:         }766// CHECK-NEXT:        ]767// CHECK-NEXT:       }768// CHECK-NEXT:      ]769// CHECK-NEXT:     }770// CHECK-NEXT:    ]771// CHECK-NEXT:   }772// CHECK-NEXT:  ]773// CHECK-NEXT: }774