1588 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsyntax-only -ast-dump=json %s | FileCheck %s2 3unsigned char implicitcast_0(unsigned int x) {4 return x;5}6 7signed char implicitcast_1(unsigned int x) {8 return x;9}10 11unsigned char implicitcast_2(signed int x) {12 return x;13}14 15signed char implicitcast_3(signed int x) {16 return x;17}18 19//----------------------------------------------------------------------------//20 21unsigned char cstylecast_0(unsigned int x) {22 return (unsigned char)x;23}24 25signed char cstylecast_1(unsigned int x) {26 return (signed char)x;27}28 29unsigned char cstylecast_2(signed int x) {30 return (unsigned char)x;31}32 33signed char cstylecast_3(signed int x) {34 return (signed char)x;35}36 37//----------------------------------------------------------------------------//38 39unsigned char cxxstaticcast_0(unsigned int x) {40 return static_cast<unsigned char>(x);41}42 43signed char cxxstaticcast_1(unsigned int x) {44 return static_cast<signed char>(x);45}46 47unsigned char cxxstaticcast_2(signed int x) {48 return static_cast<unsigned char>(x);49}50 51signed char cxxstaticcast_3(signed int x) {52 return static_cast<signed char>(x);53}54 55//----------------------------------------------------------------------------//56 57using UnsignedChar = unsigned char;58using SignedChar = signed char;59using UnsignedInt = unsigned int;60using SignedInt = signed int;61 62UnsignedChar cxxfunctionalcast_0(UnsignedInt x) {63 return UnsignedChar(x);64}65 66SignedChar cxxfunctionalcast_1(UnsignedInt x) {67 return SignedChar(x);68}69 70UnsignedChar cxxfunctionalcast_2(SignedInt x) {71 return UnsignedChar(x);72}73 74SignedChar cxxfunctionalcast_3(SignedInt x) {75 return SignedChar(x);76}77 78// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py79// using --filters=ImplicitCastExpr,CStyleCastExpr,CXXStaticCastExpr,CXXFunctionalCastExpr80 81// CHECK: "kind": "ImplicitCastExpr",82// CHECK-NEXT: "range": {83// CHECK-NEXT: "begin": {84// CHECK-NEXT: "offset": {{[0-9]+}},85// CHECK-NEXT: "col": 10,86// CHECK-NEXT: "tokLen": 187// CHECK-NEXT: },88// CHECK-NEXT: "end": {89// CHECK-NEXT: "offset": {{[0-9]+}},90// CHECK-NEXT: "col": 10,91// CHECK-NEXT: "tokLen": 192// CHECK-NEXT: }93// CHECK-NEXT: },94// CHECK-NEXT: "type": {95// CHECK-NEXT: "qualType": "unsigned char"96// CHECK-NEXT: },97// CHECK-NEXT: "valueCategory": "prvalue",98// CHECK-NEXT: "castKind": "IntegralCast",99// CHECK-NEXT: "inner": [100// CHECK-NEXT: {101// CHECK-NEXT: "id": "0x{{.*}}",102// CHECK-NEXT: "kind": "ImplicitCastExpr",103// CHECK-NEXT: "range": {104// CHECK-NEXT: "begin": {105// CHECK-NEXT: "offset": {{[0-9]+}},106// CHECK-NEXT: "col": 10,107// CHECK-NEXT: "tokLen": 1108// CHECK-NEXT: },109// CHECK-NEXT: "end": {110// CHECK-NEXT: "offset": {{[0-9]+}},111// CHECK-NEXT: "col": 10,112// CHECK-NEXT: "tokLen": 1113// CHECK-NEXT: }114// CHECK-NEXT: },115// CHECK-NEXT: "type": {116// CHECK-NEXT: "qualType": "unsigned int"117// CHECK-NEXT: },118// CHECK-NEXT: "valueCategory": "prvalue",119// CHECK-NEXT: "castKind": "LValueToRValue",120// CHECK-NEXT: "inner": [121// CHECK-NEXT: {122// CHECK-NEXT: "id": "0x{{.*}}",123// CHECK-NEXT: "kind": "DeclRefExpr",124// CHECK-NEXT: "range": {125// CHECK-NEXT: "begin": {126// CHECK-NEXT: "offset": {{[0-9]+}},127// CHECK-NEXT: "col": 10,128// CHECK-NEXT: "tokLen": 1129// CHECK-NEXT: },130// CHECK-NEXT: "end": {131// CHECK-NEXT: "offset": {{[0-9]+}},132// CHECK-NEXT: "col": 10,133// CHECK-NEXT: "tokLen": 1134// CHECK-NEXT: }135// CHECK-NEXT: },136// CHECK-NEXT: "type": {137// CHECK-NEXT: "qualType": "unsigned int"138// CHECK-NEXT: },139// CHECK-NEXT: "valueCategory": "lvalue",140// CHECK-NEXT: "referencedDecl": {141// CHECK-NEXT: "id": "0x{{.*}}",142// CHECK-NEXT: "kind": "ParmVarDecl",143// CHECK-NEXT: "name": "x",144// CHECK-NEXT: "type": {145// CHECK-NEXT: "qualType": "unsigned int"146// CHECK-NEXT: }147// CHECK-NEXT: }148// CHECK-NEXT: }149// CHECK-NEXT: ]150// CHECK-NEXT: }151// CHECK-NEXT: ]152// CHECK-NEXT: }153 154// CHECK: "kind": "ImplicitCastExpr",155// CHECK-NEXT: "range": {156// CHECK-NEXT: "begin": {157// CHECK-NEXT: "offset": {{[0-9]+}},158// CHECK-NEXT: "col": 10,159// CHECK-NEXT: "tokLen": 1160// CHECK-NEXT: },161// CHECK-NEXT: "end": {162// CHECK-NEXT: "offset": {{[0-9]+}},163// CHECK-NEXT: "col": 10,164// CHECK-NEXT: "tokLen": 1165// CHECK-NEXT: }166// CHECK-NEXT: },167// CHECK-NEXT: "type": {168// CHECK-NEXT: "qualType": "signed char"169// CHECK-NEXT: },170// CHECK-NEXT: "valueCategory": "prvalue",171// CHECK-NEXT: "castKind": "IntegralCast",172// CHECK-NEXT: "inner": [173// CHECK-NEXT: {174// CHECK-NEXT: "id": "0x{{.*}}",175// CHECK-NEXT: "kind": "ImplicitCastExpr",176// CHECK-NEXT: "range": {177// CHECK-NEXT: "begin": {178// CHECK-NEXT: "offset": {{[0-9]+}},179// CHECK-NEXT: "col": 10,180// CHECK-NEXT: "tokLen": 1181// CHECK-NEXT: },182// CHECK-NEXT: "end": {183// CHECK-NEXT: "offset": {{[0-9]+}},184// CHECK-NEXT: "col": 10,185// CHECK-NEXT: "tokLen": 1186// CHECK-NEXT: }187// CHECK-NEXT: },188// CHECK-NEXT: "type": {189// CHECK-NEXT: "qualType": "unsigned int"190// CHECK-NEXT: },191// CHECK-NEXT: "valueCategory": "prvalue",192// CHECK-NEXT: "castKind": "LValueToRValue",193// CHECK-NEXT: "inner": [194// CHECK-NEXT: {195// CHECK-NEXT: "id": "0x{{.*}}",196// CHECK-NEXT: "kind": "DeclRefExpr",197// CHECK-NEXT: "range": {198// CHECK-NEXT: "begin": {199// CHECK-NEXT: "offset": {{[0-9]+}},200// CHECK-NEXT: "col": 10,201// CHECK-NEXT: "tokLen": 1202// CHECK-NEXT: },203// CHECK-NEXT: "end": {204// CHECK-NEXT: "offset": {{[0-9]+}},205// CHECK-NEXT: "col": 10,206// CHECK-NEXT: "tokLen": 1207// CHECK-NEXT: }208// CHECK-NEXT: },209// CHECK-NEXT: "type": {210// CHECK-NEXT: "qualType": "unsigned int"211// CHECK-NEXT: },212// CHECK-NEXT: "valueCategory": "lvalue",213// CHECK-NEXT: "referencedDecl": {214// CHECK-NEXT: "id": "0x{{.*}}",215// CHECK-NEXT: "kind": "ParmVarDecl",216// CHECK-NEXT: "name": "x",217// CHECK-NEXT: "type": {218// CHECK-NEXT: "qualType": "unsigned int"219// CHECK-NEXT: }220// CHECK-NEXT: }221// CHECK-NEXT: }222// CHECK-NEXT: ]223// CHECK-NEXT: }224// CHECK-NEXT: ]225// CHECK-NEXT: }226 227// CHECK: "kind": "ImplicitCastExpr",228// CHECK-NEXT: "range": {229// CHECK-NEXT: "begin": {230// CHECK-NEXT: "offset": {{[0-9]+}},231// CHECK-NEXT: "col": 10,232// CHECK-NEXT: "tokLen": 1233// CHECK-NEXT: },234// CHECK-NEXT: "end": {235// CHECK-NEXT: "offset": {{[0-9]+}},236// CHECK-NEXT: "col": 10,237// CHECK-NEXT: "tokLen": 1238// CHECK-NEXT: }239// CHECK-NEXT: },240// CHECK-NEXT: "type": {241// CHECK-NEXT: "qualType": "unsigned char"242// CHECK-NEXT: },243// CHECK-NEXT: "valueCategory": "prvalue",244// CHECK-NEXT: "castKind": "IntegralCast",245// CHECK-NEXT: "inner": [246// CHECK-NEXT: {247// CHECK-NEXT: "id": "0x{{.*}}",248// CHECK-NEXT: "kind": "ImplicitCastExpr",249// CHECK-NEXT: "range": {250// CHECK-NEXT: "begin": {251// CHECK-NEXT: "offset": {{[0-9]+}},252// CHECK-NEXT: "col": 10,253// CHECK-NEXT: "tokLen": 1254// CHECK-NEXT: },255// CHECK-NEXT: "end": {256// CHECK-NEXT: "offset": {{[0-9]+}},257// CHECK-NEXT: "col": 10,258// CHECK-NEXT: "tokLen": 1259// CHECK-NEXT: }260// CHECK-NEXT: },261// CHECK-NEXT: "type": {262// CHECK-NEXT: "qualType": "int"263// CHECK-NEXT: },264// CHECK-NEXT: "valueCategory": "prvalue",265// CHECK-NEXT: "castKind": "LValueToRValue",266// CHECK-NEXT: "inner": [267// CHECK-NEXT: {268// CHECK-NEXT: "id": "0x{{.*}}",269// CHECK-NEXT: "kind": "DeclRefExpr",270// CHECK-NEXT: "range": {271// CHECK-NEXT: "begin": {272// CHECK-NEXT: "offset": {{[0-9]+}},273// CHECK-NEXT: "col": 10,274// CHECK-NEXT: "tokLen": 1275// CHECK-NEXT: },276// CHECK-NEXT: "end": {277// CHECK-NEXT: "offset": {{[0-9]+}},278// CHECK-NEXT: "col": 10,279// CHECK-NEXT: "tokLen": 1280// CHECK-NEXT: }281// CHECK-NEXT: },282// CHECK-NEXT: "type": {283// CHECK-NEXT: "qualType": "int"284// CHECK-NEXT: },285// CHECK-NEXT: "valueCategory": "lvalue",286// CHECK-NEXT: "referencedDecl": {287// CHECK-NEXT: "id": "0x{{.*}}",288// CHECK-NEXT: "kind": "ParmVarDecl",289// CHECK-NEXT: "name": "x",290// CHECK-NEXT: "type": {291// CHECK-NEXT: "qualType": "int"292// CHECK-NEXT: }293// CHECK-NEXT: }294// CHECK-NEXT: }295// CHECK-NEXT: ]296// CHECK-NEXT: }297// CHECK-NEXT: ]298// CHECK-NEXT: }299 300// CHECK: "kind": "ImplicitCastExpr",301// CHECK-NEXT: "range": {302// CHECK-NEXT: "begin": {303// CHECK-NEXT: "offset": {{[0-9]+}},304// CHECK-NEXT: "col": 10,305// CHECK-NEXT: "tokLen": 1306// CHECK-NEXT: },307// CHECK-NEXT: "end": {308// CHECK-NEXT: "offset": {{[0-9]+}},309// CHECK-NEXT: "col": 10,310// CHECK-NEXT: "tokLen": 1311// CHECK-NEXT: }312// CHECK-NEXT: },313// CHECK-NEXT: "type": {314// CHECK-NEXT: "qualType": "signed char"315// CHECK-NEXT: },316// CHECK-NEXT: "valueCategory": "prvalue",317// CHECK-NEXT: "castKind": "IntegralCast",318// CHECK-NEXT: "inner": [319// CHECK-NEXT: {320// CHECK-NEXT: "id": "0x{{.*}}",321// CHECK-NEXT: "kind": "ImplicitCastExpr",322// CHECK-NEXT: "range": {323// CHECK-NEXT: "begin": {324// CHECK-NEXT: "offset": {{[0-9]+}},325// CHECK-NEXT: "col": 10,326// CHECK-NEXT: "tokLen": 1327// CHECK-NEXT: },328// CHECK-NEXT: "end": {329// CHECK-NEXT: "offset": {{[0-9]+}},330// CHECK-NEXT: "col": 10,331// CHECK-NEXT: "tokLen": 1332// CHECK-NEXT: }333// CHECK-NEXT: },334// CHECK-NEXT: "type": {335// CHECK-NEXT: "qualType": "int"336// CHECK-NEXT: },337// CHECK-NEXT: "valueCategory": "prvalue",338// CHECK-NEXT: "castKind": "LValueToRValue",339// CHECK-NEXT: "inner": [340// CHECK-NEXT: {341// CHECK-NEXT: "id": "0x{{.*}}",342// CHECK-NEXT: "kind": "DeclRefExpr",343// CHECK-NEXT: "range": {344// CHECK-NEXT: "begin": {345// CHECK-NEXT: "offset": {{[0-9]+}},346// CHECK-NEXT: "col": 10,347// CHECK-NEXT: "tokLen": 1348// CHECK-NEXT: },349// CHECK-NEXT: "end": {350// CHECK-NEXT: "offset": {{[0-9]+}},351// CHECK-NEXT: "col": 10,352// CHECK-NEXT: "tokLen": 1353// CHECK-NEXT: }354// CHECK-NEXT: },355// CHECK-NEXT: "type": {356// CHECK-NEXT: "qualType": "int"357// CHECK-NEXT: },358// CHECK-NEXT: "valueCategory": "lvalue",359// CHECK-NEXT: "referencedDecl": {360// CHECK-NEXT: "id": "0x{{.*}}",361// CHECK-NEXT: "kind": "ParmVarDecl",362// CHECK-NEXT: "name": "x",363// CHECK-NEXT: "type": {364// CHECK-NEXT: "qualType": "int"365// CHECK-NEXT: }366// CHECK-NEXT: }367// CHECK-NEXT: }368// CHECK-NEXT: ]369// CHECK-NEXT: }370// CHECK-NEXT: ]371// CHECK-NEXT: }372 373// CHECK: "kind": "CStyleCastExpr",374// CHECK-NEXT: "range": {375// CHECK-NEXT: "begin": {376// CHECK-NEXT: "offset": {{[0-9]+}},377// CHECK-NEXT: "col": 10,378// CHECK-NEXT: "tokLen": 1379// CHECK-NEXT: },380// CHECK-NEXT: "end": {381// CHECK-NEXT: "offset": {{[0-9]+}},382// CHECK-NEXT: "col": 25,383// CHECK-NEXT: "tokLen": 1384// CHECK-NEXT: }385// CHECK-NEXT: },386// CHECK-NEXT: "type": {387// CHECK-NEXT: "qualType": "unsigned char"388// CHECK-NEXT: },389// CHECK-NEXT: "valueCategory": "prvalue",390// CHECK-NEXT: "castKind": "NoOp",391// CHECK-NEXT: "inner": [392// CHECK-NEXT: {393// CHECK-NEXT: "id": "0x{{.*}}",394// CHECK-NEXT: "kind": "ImplicitCastExpr",395// CHECK-NEXT: "range": {396// CHECK-NEXT: "begin": {397// CHECK-NEXT: "offset": {{[0-9]+}},398// CHECK-NEXT: "col": 25,399// CHECK-NEXT: "tokLen": 1400// CHECK-NEXT: },401// CHECK-NEXT: "end": {402// CHECK-NEXT: "offset": {{[0-9]+}},403// CHECK-NEXT: "col": 25,404// CHECK-NEXT: "tokLen": 1405// CHECK-NEXT: }406// CHECK-NEXT: },407// CHECK-NEXT: "type": {408// CHECK-NEXT: "qualType": "unsigned char"409// CHECK-NEXT: },410// CHECK-NEXT: "valueCategory": "prvalue",411// CHECK-NEXT: "castKind": "IntegralCast",412// CHECK-NEXT: "isPartOfExplicitCast": true,413// CHECK-NEXT: "inner": [414// CHECK-NEXT: {415// CHECK-NEXT: "id": "0x{{.*}}",416// CHECK-NEXT: "kind": "ImplicitCastExpr",417// CHECK-NEXT: "range": {418// CHECK-NEXT: "begin": {419// CHECK-NEXT: "offset": {{[0-9]+}},420// CHECK-NEXT: "col": 25,421// CHECK-NEXT: "tokLen": 1422// CHECK-NEXT: },423// CHECK-NEXT: "end": {424// CHECK-NEXT: "offset": {{[0-9]+}},425// CHECK-NEXT: "col": 25,426// CHECK-NEXT: "tokLen": 1427// CHECK-NEXT: }428// CHECK-NEXT: },429// CHECK-NEXT: "type": {430// CHECK-NEXT: "qualType": "unsigned int"431// CHECK-NEXT: },432// CHECK-NEXT: "valueCategory": "prvalue",433// CHECK-NEXT: "castKind": "LValueToRValue",434// CHECK-NEXT: "isPartOfExplicitCast": true,435// CHECK-NEXT: "inner": [436// CHECK-NEXT: {437// CHECK-NEXT: "id": "0x{{.*}}",438// CHECK-NEXT: "kind": "DeclRefExpr",439// CHECK-NEXT: "range": {440// CHECK-NEXT: "begin": {441// CHECK-NEXT: "offset": {{[0-9]+}},442// CHECK-NEXT: "col": 25,443// CHECK-NEXT: "tokLen": 1444// CHECK-NEXT: },445// CHECK-NEXT: "end": {446// CHECK-NEXT: "offset": {{[0-9]+}},447// CHECK-NEXT: "col": 25,448// CHECK-NEXT: "tokLen": 1449// CHECK-NEXT: }450// CHECK-NEXT: },451// CHECK-NEXT: "type": {452// CHECK-NEXT: "qualType": "unsigned int"453// CHECK-NEXT: },454// CHECK-NEXT: "valueCategory": "lvalue",455// CHECK-NEXT: "referencedDecl": {456// CHECK-NEXT: "id": "0x{{.*}}",457// CHECK-NEXT: "kind": "ParmVarDecl",458// CHECK-NEXT: "name": "x",459// CHECK-NEXT: "type": {460// CHECK-NEXT: "qualType": "unsigned int"461// CHECK-NEXT: }462// CHECK-NEXT: }463// CHECK-NEXT: }464// CHECK-NEXT: ]465// CHECK-NEXT: }466// CHECK-NEXT: ]467// CHECK-NEXT: }468// CHECK-NEXT: ]469// CHECK-NEXT: }470 471// CHECK: "kind": "CStyleCastExpr",472// CHECK-NEXT: "range": {473// CHECK-NEXT: "begin": {474// CHECK-NEXT: "offset": {{[0-9]+}},475// CHECK-NEXT: "col": 10,476// CHECK-NEXT: "tokLen": 1477// CHECK-NEXT: },478// CHECK-NEXT: "end": {479// CHECK-NEXT: "offset": {{[0-9]+}},480// CHECK-NEXT: "col": 23,481// CHECK-NEXT: "tokLen": 1482// CHECK-NEXT: }483// CHECK-NEXT: },484// CHECK-NEXT: "type": {485// CHECK-NEXT: "qualType": "signed char"486// CHECK-NEXT: },487// CHECK-NEXT: "valueCategory": "prvalue",488// CHECK-NEXT: "castKind": "NoOp",489// CHECK-NEXT: "inner": [490// CHECK-NEXT: {491// CHECK-NEXT: "id": "0x{{.*}}",492// CHECK-NEXT: "kind": "ImplicitCastExpr",493// CHECK-NEXT: "range": {494// CHECK-NEXT: "begin": {495// CHECK-NEXT: "offset": {{[0-9]+}},496// CHECK-NEXT: "col": 23,497// CHECK-NEXT: "tokLen": 1498// CHECK-NEXT: },499// CHECK-NEXT: "end": {500// CHECK-NEXT: "offset": {{[0-9]+}},501// CHECK-NEXT: "col": 23,502// CHECK-NEXT: "tokLen": 1503// CHECK-NEXT: }504// CHECK-NEXT: },505// CHECK-NEXT: "type": {506// CHECK-NEXT: "qualType": "signed char"507// CHECK-NEXT: },508// CHECK-NEXT: "valueCategory": "prvalue",509// CHECK-NEXT: "castKind": "IntegralCast",510// CHECK-NEXT: "isPartOfExplicitCast": true,511// CHECK-NEXT: "inner": [512// CHECK-NEXT: {513// CHECK-NEXT: "id": "0x{{.*}}",514// CHECK-NEXT: "kind": "ImplicitCastExpr",515// CHECK-NEXT: "range": {516// CHECK-NEXT: "begin": {517// CHECK-NEXT: "offset": {{[0-9]+}},518// CHECK-NEXT: "col": 23,519// CHECK-NEXT: "tokLen": 1520// CHECK-NEXT: },521// CHECK-NEXT: "end": {522// CHECK-NEXT: "offset": {{[0-9]+}},523// CHECK-NEXT: "col": 23,524// CHECK-NEXT: "tokLen": 1525// CHECK-NEXT: }526// CHECK-NEXT: },527// CHECK-NEXT: "type": {528// CHECK-NEXT: "qualType": "unsigned int"529// CHECK-NEXT: },530// CHECK-NEXT: "valueCategory": "prvalue",531// CHECK-NEXT: "castKind": "LValueToRValue",532// CHECK-NEXT: "isPartOfExplicitCast": true,533// CHECK-NEXT: "inner": [534// CHECK-NEXT: {535// CHECK-NEXT: "id": "0x{{.*}}",536// CHECK-NEXT: "kind": "DeclRefExpr",537// CHECK-NEXT: "range": {538// CHECK-NEXT: "begin": {539// CHECK-NEXT: "offset": {{[0-9]+}},540// CHECK-NEXT: "col": 23,541// CHECK-NEXT: "tokLen": 1542// CHECK-NEXT: },543// CHECK-NEXT: "end": {544// CHECK-NEXT: "offset": {{[0-9]+}},545// CHECK-NEXT: "col": 23,546// CHECK-NEXT: "tokLen": 1547// CHECK-NEXT: }548// CHECK-NEXT: },549// CHECK-NEXT: "type": {550// CHECK-NEXT: "qualType": "unsigned int"551// CHECK-NEXT: },552// CHECK-NEXT: "valueCategory": "lvalue",553// CHECK-NEXT: "referencedDecl": {554// CHECK-NEXT: "id": "0x{{.*}}",555// CHECK-NEXT: "kind": "ParmVarDecl",556// CHECK-NEXT: "name": "x",557// CHECK-NEXT: "type": {558// CHECK-NEXT: "qualType": "unsigned int"559// CHECK-NEXT: }560// CHECK-NEXT: }561// CHECK-NEXT: }562// CHECK-NEXT: ]563// CHECK-NEXT: }564// CHECK-NEXT: ]565// CHECK-NEXT: }566// CHECK-NEXT: ]567// CHECK-NEXT: }568 569// CHECK: "kind": "CStyleCastExpr",570// CHECK-NEXT: "range": {571// CHECK-NEXT: "begin": {572// CHECK-NEXT: "offset": {{[0-9]+}},573// CHECK-NEXT: "col": 10,574// CHECK-NEXT: "tokLen": 1575// CHECK-NEXT: },576// CHECK-NEXT: "end": {577// CHECK-NEXT: "offset": {{[0-9]+}},578// CHECK-NEXT: "col": 25,579// CHECK-NEXT: "tokLen": 1580// CHECK-NEXT: }581// CHECK-NEXT: },582// CHECK-NEXT: "type": {583// CHECK-NEXT: "qualType": "unsigned char"584// CHECK-NEXT: },585// CHECK-NEXT: "valueCategory": "prvalue",586// CHECK-NEXT: "castKind": "NoOp",587// CHECK-NEXT: "inner": [588// CHECK-NEXT: {589// CHECK-NEXT: "id": "0x{{.*}}",590// CHECK-NEXT: "kind": "ImplicitCastExpr",591// CHECK-NEXT: "range": {592// CHECK-NEXT: "begin": {593// CHECK-NEXT: "offset": {{[0-9]+}},594// CHECK-NEXT: "col": 25,595// CHECK-NEXT: "tokLen": 1596// CHECK-NEXT: },597// CHECK-NEXT: "end": {598// CHECK-NEXT: "offset": {{[0-9]+}},599// CHECK-NEXT: "col": 25,600// CHECK-NEXT: "tokLen": 1601// CHECK-NEXT: }602// CHECK-NEXT: },603// CHECK-NEXT: "type": {604// CHECK-NEXT: "qualType": "unsigned char"605// CHECK-NEXT: },606// CHECK-NEXT: "valueCategory": "prvalue",607// CHECK-NEXT: "castKind": "IntegralCast",608// CHECK-NEXT: "isPartOfExplicitCast": true,609// CHECK-NEXT: "inner": [610// CHECK-NEXT: {611// CHECK-NEXT: "id": "0x{{.*}}",612// CHECK-NEXT: "kind": "ImplicitCastExpr",613// CHECK-NEXT: "range": {614// CHECK-NEXT: "begin": {615// CHECK-NEXT: "offset": {{[0-9]+}},616// CHECK-NEXT: "col": 25,617// CHECK-NEXT: "tokLen": 1618// CHECK-NEXT: },619// CHECK-NEXT: "end": {620// CHECK-NEXT: "offset": {{[0-9]+}},621// CHECK-NEXT: "col": 25,622// CHECK-NEXT: "tokLen": 1623// CHECK-NEXT: }624// CHECK-NEXT: },625// CHECK-NEXT: "type": {626// CHECK-NEXT: "qualType": "int"627// CHECK-NEXT: },628// CHECK-NEXT: "valueCategory": "prvalue",629// CHECK-NEXT: "castKind": "LValueToRValue",630// CHECK-NEXT: "isPartOfExplicitCast": true,631// CHECK-NEXT: "inner": [632// CHECK-NEXT: {633// CHECK-NEXT: "id": "0x{{.*}}",634// CHECK-NEXT: "kind": "DeclRefExpr",635// CHECK-NEXT: "range": {636// CHECK-NEXT: "begin": {637// CHECK-NEXT: "offset": {{[0-9]+}},638// CHECK-NEXT: "col": 25,639// CHECK-NEXT: "tokLen": 1640// CHECK-NEXT: },641// CHECK-NEXT: "end": {642// CHECK-NEXT: "offset": {{[0-9]+}},643// CHECK-NEXT: "col": 25,644// CHECK-NEXT: "tokLen": 1645// CHECK-NEXT: }646// CHECK-NEXT: },647// CHECK-NEXT: "type": {648// CHECK-NEXT: "qualType": "int"649// CHECK-NEXT: },650// CHECK-NEXT: "valueCategory": "lvalue",651// CHECK-NEXT: "referencedDecl": {652// CHECK-NEXT: "id": "0x{{.*}}",653// CHECK-NEXT: "kind": "ParmVarDecl",654// CHECK-NEXT: "name": "x",655// CHECK-NEXT: "type": {656// CHECK-NEXT: "qualType": "int"657// CHECK-NEXT: }658// CHECK-NEXT: }659// CHECK-NEXT: }660// CHECK-NEXT: ]661// CHECK-NEXT: }662// CHECK-NEXT: ]663// CHECK-NEXT: }664// CHECK-NEXT: ]665// CHECK-NEXT: }666 667// CHECK: "kind": "CStyleCastExpr",668// CHECK-NEXT: "range": {669// CHECK-NEXT: "begin": {670// CHECK-NEXT: "offset": {{[0-9]+}},671// CHECK-NEXT: "col": 10,672// CHECK-NEXT: "tokLen": 1673// CHECK-NEXT: },674// CHECK-NEXT: "end": {675// CHECK-NEXT: "offset": {{[0-9]+}},676// CHECK-NEXT: "col": 23,677// CHECK-NEXT: "tokLen": 1678// CHECK-NEXT: }679// CHECK-NEXT: },680// CHECK-NEXT: "type": {681// CHECK-NEXT: "qualType": "signed char"682// CHECK-NEXT: },683// CHECK-NEXT: "valueCategory": "prvalue",684// CHECK-NEXT: "castKind": "NoOp",685// CHECK-NEXT: "inner": [686// CHECK-NEXT: {687// CHECK-NEXT: "id": "0x{{.*}}",688// CHECK-NEXT: "kind": "ImplicitCastExpr",689// CHECK-NEXT: "range": {690// CHECK-NEXT: "begin": {691// CHECK-NEXT: "offset": {{[0-9]+}},692// CHECK-NEXT: "col": 23,693// CHECK-NEXT: "tokLen": 1694// CHECK-NEXT: },695// CHECK-NEXT: "end": {696// CHECK-NEXT: "offset": {{[0-9]+}},697// CHECK-NEXT: "col": 23,698// CHECK-NEXT: "tokLen": 1699// CHECK-NEXT: }700// CHECK-NEXT: },701// CHECK-NEXT: "type": {702// CHECK-NEXT: "qualType": "signed char"703// CHECK-NEXT: },704// CHECK-NEXT: "valueCategory": "prvalue",705// CHECK-NEXT: "castKind": "IntegralCast",706// CHECK-NEXT: "isPartOfExplicitCast": true,707// CHECK-NEXT: "inner": [708// CHECK-NEXT: {709// CHECK-NEXT: "id": "0x{{.*}}",710// CHECK-NEXT: "kind": "ImplicitCastExpr",711// CHECK-NEXT: "range": {712// CHECK-NEXT: "begin": {713// CHECK-NEXT: "offset": {{[0-9]+}},714// CHECK-NEXT: "col": 23,715// CHECK-NEXT: "tokLen": 1716// CHECK-NEXT: },717// CHECK-NEXT: "end": {718// CHECK-NEXT: "offset": {{[0-9]+}},719// CHECK-NEXT: "col": 23,720// CHECK-NEXT: "tokLen": 1721// CHECK-NEXT: }722// CHECK-NEXT: },723// CHECK-NEXT: "type": {724// CHECK-NEXT: "qualType": "int"725// CHECK-NEXT: },726// CHECK-NEXT: "valueCategory": "prvalue",727// CHECK-NEXT: "castKind": "LValueToRValue",728// CHECK-NEXT: "isPartOfExplicitCast": true,729// CHECK-NEXT: "inner": [730// CHECK-NEXT: {731// CHECK-NEXT: "id": "0x{{.*}}",732// CHECK-NEXT: "kind": "DeclRefExpr",733// CHECK-NEXT: "range": {734// CHECK-NEXT: "begin": {735// CHECK-NEXT: "offset": {{[0-9]+}},736// CHECK-NEXT: "col": 23,737// CHECK-NEXT: "tokLen": 1738// CHECK-NEXT: },739// CHECK-NEXT: "end": {740// CHECK-NEXT: "offset": {{[0-9]+}},741// CHECK-NEXT: "col": 23,742// CHECK-NEXT: "tokLen": 1743// CHECK-NEXT: }744// CHECK-NEXT: },745// CHECK-NEXT: "type": {746// CHECK-NEXT: "qualType": "int"747// CHECK-NEXT: },748// CHECK-NEXT: "valueCategory": "lvalue",749// CHECK-NEXT: "referencedDecl": {750// CHECK-NEXT: "id": "0x{{.*}}",751// CHECK-NEXT: "kind": "ParmVarDecl",752// CHECK-NEXT: "name": "x",753// CHECK-NEXT: "type": {754// CHECK-NEXT: "qualType": "int"755// CHECK-NEXT: }756// CHECK-NEXT: }757// CHECK-NEXT: }758// CHECK-NEXT: ]759// CHECK-NEXT: }760// CHECK-NEXT: ]761// CHECK-NEXT: }762// CHECK-NEXT: ]763// CHECK-NEXT: }764 765// CHECK: "kind": "CXXStaticCastExpr",766// CHECK-NEXT: "range": {767// CHECK-NEXT: "begin": {768// CHECK-NEXT: "offset": {{[0-9]+}},769// CHECK-NEXT: "col": 10,770// CHECK-NEXT: "tokLen": 11771// CHECK-NEXT: },772// CHECK-NEXT: "end": {773// CHECK-NEXT: "offset": {{[0-9]+}},774// CHECK-NEXT: "col": 38,775// CHECK-NEXT: "tokLen": 1776// CHECK-NEXT: }777// CHECK-NEXT: },778// CHECK-NEXT: "type": {779// CHECK-NEXT: "qualType": "unsigned char"780// CHECK-NEXT: },781// CHECK-NEXT: "valueCategory": "prvalue",782// CHECK-NEXT: "castKind": "NoOp",783// CHECK-NEXT: "inner": [784// CHECK-NEXT: {785// CHECK-NEXT: "id": "0x{{.*}}",786// CHECK-NEXT: "kind": "ImplicitCastExpr",787// CHECK-NEXT: "range": {788// CHECK-NEXT: "begin": {789// CHECK-NEXT: "offset": {{[0-9]+}},790// CHECK-NEXT: "col": 37,791// CHECK-NEXT: "tokLen": 1792// CHECK-NEXT: },793// CHECK-NEXT: "end": {794// CHECK-NEXT: "offset": {{[0-9]+}},795// CHECK-NEXT: "col": 37,796// CHECK-NEXT: "tokLen": 1797// CHECK-NEXT: }798// CHECK-NEXT: },799// CHECK-NEXT: "type": {800// CHECK-NEXT: "qualType": "unsigned char"801// CHECK-NEXT: },802// CHECK-NEXT: "valueCategory": "prvalue",803// CHECK-NEXT: "castKind": "IntegralCast",804// CHECK-NEXT: "isPartOfExplicitCast": true,805// CHECK-NEXT: "inner": [806// CHECK-NEXT: {807// CHECK-NEXT: "id": "0x{{.*}}",808// CHECK-NEXT: "kind": "ImplicitCastExpr",809// CHECK-NEXT: "range": {810// CHECK-NEXT: "begin": {811// CHECK-NEXT: "offset": {{[0-9]+}},812// CHECK-NEXT: "col": 37,813// CHECK-NEXT: "tokLen": 1814// CHECK-NEXT: },815// CHECK-NEXT: "end": {816// CHECK-NEXT: "offset": {{[0-9]+}},817// CHECK-NEXT: "col": 37,818// CHECK-NEXT: "tokLen": 1819// CHECK-NEXT: }820// CHECK-NEXT: },821// CHECK-NEXT: "type": {822// CHECK-NEXT: "qualType": "unsigned int"823// CHECK-NEXT: },824// CHECK-NEXT: "valueCategory": "prvalue",825// CHECK-NEXT: "castKind": "LValueToRValue",826// CHECK-NEXT: "isPartOfExplicitCast": true,827// CHECK-NEXT: "inner": [828// CHECK-NEXT: {829// CHECK-NEXT: "id": "0x{{.*}}",830// CHECK-NEXT: "kind": "DeclRefExpr",831// CHECK-NEXT: "range": {832// CHECK-NEXT: "begin": {833// CHECK-NEXT: "offset": {{[0-9]+}},834// CHECK-NEXT: "col": 37,835// CHECK-NEXT: "tokLen": 1836// CHECK-NEXT: },837// CHECK-NEXT: "end": {838// CHECK-NEXT: "offset": {{[0-9]+}},839// CHECK-NEXT: "col": 37,840// CHECK-NEXT: "tokLen": 1841// CHECK-NEXT: }842// CHECK-NEXT: },843// CHECK-NEXT: "type": {844// CHECK-NEXT: "qualType": "unsigned int"845// CHECK-NEXT: },846// CHECK-NEXT: "valueCategory": "lvalue",847// CHECK-NEXT: "referencedDecl": {848// CHECK-NEXT: "id": "0x{{.*}}",849// CHECK-NEXT: "kind": "ParmVarDecl",850// CHECK-NEXT: "name": "x",851// CHECK-NEXT: "type": {852// CHECK-NEXT: "qualType": "unsigned int"853// CHECK-NEXT: }854// CHECK-NEXT: }855// CHECK-NEXT: }856// CHECK-NEXT: ]857// CHECK-NEXT: }858// CHECK-NEXT: ]859// CHECK-NEXT: }860// CHECK-NEXT: ]861// CHECK-NEXT: }862 863// CHECK: "kind": "CXXStaticCastExpr",864// CHECK-NEXT: "range": {865// CHECK-NEXT: "begin": {866// CHECK-NEXT: "offset": {{[0-9]+}},867// CHECK-NEXT: "col": 10,868// CHECK-NEXT: "tokLen": 11869// CHECK-NEXT: },870// CHECK-NEXT: "end": {871// CHECK-NEXT: "offset": {{[0-9]+}},872// CHECK-NEXT: "col": 36,873// CHECK-NEXT: "tokLen": 1874// CHECK-NEXT: }875// CHECK-NEXT: },876// CHECK-NEXT: "type": {877// CHECK-NEXT: "qualType": "signed char"878// CHECK-NEXT: },879// CHECK-NEXT: "valueCategory": "prvalue",880// CHECK-NEXT: "castKind": "NoOp",881// CHECK-NEXT: "inner": [882// CHECK-NEXT: {883// CHECK-NEXT: "id": "0x{{.*}}",884// CHECK-NEXT: "kind": "ImplicitCastExpr",885// CHECK-NEXT: "range": {886// CHECK-NEXT: "begin": {887// CHECK-NEXT: "offset": {{[0-9]+}},888// CHECK-NEXT: "col": 35,889// CHECK-NEXT: "tokLen": 1890// CHECK-NEXT: },891// CHECK-NEXT: "end": {892// CHECK-NEXT: "offset": {{[0-9]+}},893// CHECK-NEXT: "col": 35,894// CHECK-NEXT: "tokLen": 1895// CHECK-NEXT: }896// CHECK-NEXT: },897// CHECK-NEXT: "type": {898// CHECK-NEXT: "qualType": "signed char"899// CHECK-NEXT: },900// CHECK-NEXT: "valueCategory": "prvalue",901// CHECK-NEXT: "castKind": "IntegralCast",902// CHECK-NEXT: "isPartOfExplicitCast": true,903// CHECK-NEXT: "inner": [904// CHECK-NEXT: {905// CHECK-NEXT: "id": "0x{{.*}}",906// CHECK-NEXT: "kind": "ImplicitCastExpr",907// CHECK-NEXT: "range": {908// CHECK-NEXT: "begin": {909// CHECK-NEXT: "offset": {{[0-9]+}},910// CHECK-NEXT: "col": 35,911// CHECK-NEXT: "tokLen": 1912// CHECK-NEXT: },913// CHECK-NEXT: "end": {914// CHECK-NEXT: "offset": {{[0-9]+}},915// CHECK-NEXT: "col": 35,916// CHECK-NEXT: "tokLen": 1917// CHECK-NEXT: }918// CHECK-NEXT: },919// CHECK-NEXT: "type": {920// CHECK-NEXT: "qualType": "unsigned int"921// CHECK-NEXT: },922// CHECK-NEXT: "valueCategory": "prvalue",923// CHECK-NEXT: "castKind": "LValueToRValue",924// CHECK-NEXT: "isPartOfExplicitCast": true,925// CHECK-NEXT: "inner": [926// CHECK-NEXT: {927// CHECK-NEXT: "id": "0x{{.*}}",928// CHECK-NEXT: "kind": "DeclRefExpr",929// CHECK-NEXT: "range": {930// CHECK-NEXT: "begin": {931// CHECK-NEXT: "offset": {{[0-9]+}},932// CHECK-NEXT: "col": 35,933// CHECK-NEXT: "tokLen": 1934// CHECK-NEXT: },935// CHECK-NEXT: "end": {936// CHECK-NEXT: "offset": {{[0-9]+}},937// CHECK-NEXT: "col": 35,938// CHECK-NEXT: "tokLen": 1939// CHECK-NEXT: }940// CHECK-NEXT: },941// CHECK-NEXT: "type": {942// CHECK-NEXT: "qualType": "unsigned int"943// CHECK-NEXT: },944// CHECK-NEXT: "valueCategory": "lvalue",945// CHECK-NEXT: "referencedDecl": {946// CHECK-NEXT: "id": "0x{{.*}}",947// CHECK-NEXT: "kind": "ParmVarDecl",948// CHECK-NEXT: "name": "x",949// CHECK-NEXT: "type": {950// CHECK-NEXT: "qualType": "unsigned int"951// CHECK-NEXT: }952// CHECK-NEXT: }953// CHECK-NEXT: }954// CHECK-NEXT: ]955// CHECK-NEXT: }956// CHECK-NEXT: ]957// CHECK-NEXT: }958// CHECK-NEXT: ]959// CHECK-NEXT: }960 961// CHECK: "kind": "CXXStaticCastExpr",962// CHECK-NEXT: "range": {963// CHECK-NEXT: "begin": {964// CHECK-NEXT: "offset": {{[0-9]+}},965// CHECK-NEXT: "col": 10,966// CHECK-NEXT: "tokLen": 11967// CHECK-NEXT: },968// CHECK-NEXT: "end": {969// CHECK-NEXT: "offset": {{[0-9]+}},970// CHECK-NEXT: "col": 38,971// CHECK-NEXT: "tokLen": 1972// CHECK-NEXT: }973// CHECK-NEXT: },974// CHECK-NEXT: "type": {975// CHECK-NEXT: "qualType": "unsigned char"976// CHECK-NEXT: },977// CHECK-NEXT: "valueCategory": "prvalue",978// CHECK-NEXT: "castKind": "NoOp",979// CHECK-NEXT: "inner": [980// CHECK-NEXT: {981// CHECK-NEXT: "id": "0x{{.*}}",982// CHECK-NEXT: "kind": "ImplicitCastExpr",983// CHECK-NEXT: "range": {984// CHECK-NEXT: "begin": {985// CHECK-NEXT: "offset": {{[0-9]+}},986// CHECK-NEXT: "col": 37,987// CHECK-NEXT: "tokLen": 1988// CHECK-NEXT: },989// CHECK-NEXT: "end": {990// CHECK-NEXT: "offset": {{[0-9]+}},991// CHECK-NEXT: "col": 37,992// CHECK-NEXT: "tokLen": 1993// CHECK-NEXT: }994// CHECK-NEXT: },995// CHECK-NEXT: "type": {996// CHECK-NEXT: "qualType": "unsigned char"997// CHECK-NEXT: },998// CHECK-NEXT: "valueCategory": "prvalue",999// CHECK-NEXT: "castKind": "IntegralCast",1000// CHECK-NEXT: "isPartOfExplicitCast": true,1001// CHECK-NEXT: "inner": [1002// CHECK-NEXT: {1003// CHECK-NEXT: "id": "0x{{.*}}",1004// CHECK-NEXT: "kind": "ImplicitCastExpr",1005// CHECK-NEXT: "range": {1006// CHECK-NEXT: "begin": {1007// CHECK-NEXT: "offset": {{[0-9]+}},1008// CHECK-NEXT: "col": 37,1009// CHECK-NEXT: "tokLen": 11010// CHECK-NEXT: },1011// CHECK-NEXT: "end": {1012// CHECK-NEXT: "offset": {{[0-9]+}},1013// CHECK-NEXT: "col": 37,1014// CHECK-NEXT: "tokLen": 11015// CHECK-NEXT: }1016// CHECK-NEXT: },1017// CHECK-NEXT: "type": {1018// CHECK-NEXT: "qualType": "int"1019// CHECK-NEXT: },1020// CHECK-NEXT: "valueCategory": "prvalue",1021// CHECK-NEXT: "castKind": "LValueToRValue",1022// CHECK-NEXT: "isPartOfExplicitCast": true,1023// CHECK-NEXT: "inner": [1024// CHECK-NEXT: {1025// CHECK-NEXT: "id": "0x{{.*}}",1026// CHECK-NEXT: "kind": "DeclRefExpr",1027// CHECK-NEXT: "range": {1028// CHECK-NEXT: "begin": {1029// CHECK-NEXT: "offset": {{[0-9]+}},1030// CHECK-NEXT: "col": 37,1031// CHECK-NEXT: "tokLen": 11032// CHECK-NEXT: },1033// CHECK-NEXT: "end": {1034// CHECK-NEXT: "offset": {{[0-9]+}},1035// CHECK-NEXT: "col": 37,1036// CHECK-NEXT: "tokLen": 11037// CHECK-NEXT: }1038// CHECK-NEXT: },1039// CHECK-NEXT: "type": {1040// CHECK-NEXT: "qualType": "int"1041// CHECK-NEXT: },1042// CHECK-NEXT: "valueCategory": "lvalue",1043// CHECK-NEXT: "referencedDecl": {1044// CHECK-NEXT: "id": "0x{{.*}}",1045// CHECK-NEXT: "kind": "ParmVarDecl",1046// CHECK-NEXT: "name": "x",1047// CHECK-NEXT: "type": {1048// CHECK-NEXT: "qualType": "int"1049// CHECK-NEXT: }1050// CHECK-NEXT: }1051// CHECK-NEXT: }1052// CHECK-NEXT: ]1053// CHECK-NEXT: }1054// CHECK-NEXT: ]1055// CHECK-NEXT: }1056// CHECK-NEXT: ]1057// CHECK-NEXT: }1058 1059// CHECK: "kind": "CXXStaticCastExpr",1060// CHECK-NEXT: "range": {1061// CHECK-NEXT: "begin": {1062// CHECK-NEXT: "offset": {{[0-9]+}},1063// CHECK-NEXT: "col": 10,1064// CHECK-NEXT: "tokLen": 111065// CHECK-NEXT: },1066// CHECK-NEXT: "end": {1067// CHECK-NEXT: "offset": {{[0-9]+}},1068// CHECK-NEXT: "col": 36,1069// CHECK-NEXT: "tokLen": 11070// CHECK-NEXT: }1071// CHECK-NEXT: },1072// CHECK-NEXT: "type": {1073// CHECK-NEXT: "qualType": "signed char"1074// CHECK-NEXT: },1075// CHECK-NEXT: "valueCategory": "prvalue",1076// CHECK-NEXT: "castKind": "NoOp",1077// CHECK-NEXT: "inner": [1078// CHECK-NEXT: {1079// CHECK-NEXT: "id": "0x{{.*}}",1080// CHECK-NEXT: "kind": "ImplicitCastExpr",1081// CHECK-NEXT: "range": {1082// CHECK-NEXT: "begin": {1083// CHECK-NEXT: "offset": {{[0-9]+}},1084// CHECK-NEXT: "col": 35,1085// CHECK-NEXT: "tokLen": 11086// CHECK-NEXT: },1087// CHECK-NEXT: "end": {1088// CHECK-NEXT: "offset": {{[0-9]+}},1089// CHECK-NEXT: "col": 35,1090// CHECK-NEXT: "tokLen": 11091// CHECK-NEXT: }1092// CHECK-NEXT: },1093// CHECK-NEXT: "type": {1094// CHECK-NEXT: "qualType": "signed char"1095// CHECK-NEXT: },1096// CHECK-NEXT: "valueCategory": "prvalue",1097// CHECK-NEXT: "castKind": "IntegralCast",1098// CHECK-NEXT: "isPartOfExplicitCast": true,1099// CHECK-NEXT: "inner": [1100// CHECK-NEXT: {1101// CHECK-NEXT: "id": "0x{{.*}}",1102// CHECK-NEXT: "kind": "ImplicitCastExpr",1103// CHECK-NEXT: "range": {1104// CHECK-NEXT: "begin": {1105// CHECK-NEXT: "offset": {{[0-9]+}},1106// CHECK-NEXT: "col": 35,1107// CHECK-NEXT: "tokLen": 11108// CHECK-NEXT: },1109// CHECK-NEXT: "end": {1110// CHECK-NEXT: "offset": {{[0-9]+}},1111// CHECK-NEXT: "col": 35,1112// CHECK-NEXT: "tokLen": 11113// CHECK-NEXT: }1114// CHECK-NEXT: },1115// CHECK-NEXT: "type": {1116// CHECK-NEXT: "qualType": "int"1117// CHECK-NEXT: },1118// CHECK-NEXT: "valueCategory": "prvalue",1119// CHECK-NEXT: "castKind": "LValueToRValue",1120// CHECK-NEXT: "isPartOfExplicitCast": true,1121// CHECK-NEXT: "inner": [1122// CHECK-NEXT: {1123// CHECK-NEXT: "id": "0x{{.*}}",1124// CHECK-NEXT: "kind": "DeclRefExpr",1125// CHECK-NEXT: "range": {1126// CHECK-NEXT: "begin": {1127// CHECK-NEXT: "offset": {{[0-9]+}},1128// CHECK-NEXT: "col": 35,1129// CHECK-NEXT: "tokLen": 11130// CHECK-NEXT: },1131// CHECK-NEXT: "end": {1132// CHECK-NEXT: "offset": {{[0-9]+}},1133// CHECK-NEXT: "col": 35,1134// CHECK-NEXT: "tokLen": 11135// CHECK-NEXT: }1136// CHECK-NEXT: },1137// CHECK-NEXT: "type": {1138// CHECK-NEXT: "qualType": "int"1139// CHECK-NEXT: },1140// CHECK-NEXT: "valueCategory": "lvalue",1141// CHECK-NEXT: "referencedDecl": {1142// CHECK-NEXT: "id": "0x{{.*}}",1143// CHECK-NEXT: "kind": "ParmVarDecl",1144// CHECK-NEXT: "name": "x",1145// CHECK-NEXT: "type": {1146// CHECK-NEXT: "qualType": "int"1147// CHECK-NEXT: }1148// CHECK-NEXT: }1149// CHECK-NEXT: }1150// CHECK-NEXT: ]1151// CHECK-NEXT: }1152// CHECK-NEXT: ]1153// CHECK-NEXT: }1154// CHECK-NEXT: ]1155// CHECK-NEXT: }1156 1157// CHECK: "kind": "CXXFunctionalCastExpr",1158// CHECK-NEXT: "range": {1159// CHECK-NEXT: "begin": {1160// CHECK-NEXT: "offset": {{[0-9]+}},1161// CHECK-NEXT: "col": 10,1162// CHECK-NEXT: "tokLen": 121163// CHECK-NEXT: },1164// CHECK-NEXT: "end": {1165// CHECK-NEXT: "offset": {{[0-9]+}},1166// CHECK-NEXT: "col": 24,1167// CHECK-NEXT: "tokLen": 11168// CHECK-NEXT: }1169// CHECK-NEXT: },1170// CHECK-NEXT: "type": {1171// CHECK-NEXT: "desugaredQualType": "unsigned char",1172// CHECK-NEXT: "qualType": "UnsignedChar",1173// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1174// CHECK-NEXT: },1175// CHECK-NEXT: "valueCategory": "prvalue",1176// CHECK-NEXT: "castKind": "NoOp",1177// CHECK-NEXT: "inner": [1178// CHECK-NEXT: {1179// CHECK-NEXT: "id": "0x{{.*}}",1180// CHECK-NEXT: "kind": "ImplicitCastExpr",1181// CHECK-NEXT: "range": {1182// CHECK-NEXT: "begin": {1183// CHECK-NEXT: "offset": {{[0-9]+}},1184// CHECK-NEXT: "col": 23,1185// CHECK-NEXT: "tokLen": 11186// CHECK-NEXT: },1187// CHECK-NEXT: "end": {1188// CHECK-NEXT: "offset": {{[0-9]+}},1189// CHECK-NEXT: "col": 23,1190// CHECK-NEXT: "tokLen": 11191// CHECK-NEXT: }1192// CHECK-NEXT: },1193// CHECK-NEXT: "type": {1194// CHECK-NEXT: "desugaredQualType": "unsigned char",1195// CHECK-NEXT: "qualType": "UnsignedChar",1196// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1197// CHECK-NEXT: },1198// CHECK-NEXT: "valueCategory": "prvalue",1199// CHECK-NEXT: "castKind": "IntegralCast",1200// CHECK-NEXT: "isPartOfExplicitCast": true,1201// CHECK-NEXT: "inner": [1202// CHECK-NEXT: {1203// CHECK-NEXT: "id": "0x{{.*}}",1204// CHECK-NEXT: "kind": "ImplicitCastExpr",1205// CHECK-NEXT: "range": {1206// CHECK-NEXT: "begin": {1207// CHECK-NEXT: "offset": {{[0-9]+}},1208// CHECK-NEXT: "col": 23,1209// CHECK-NEXT: "tokLen": 11210// CHECK-NEXT: },1211// CHECK-NEXT: "end": {1212// CHECK-NEXT: "offset": {{[0-9]+}},1213// CHECK-NEXT: "col": 23,1214// CHECK-NEXT: "tokLen": 11215// CHECK-NEXT: }1216// CHECK-NEXT: },1217// CHECK-NEXT: "type": {1218// CHECK-NEXT: "desugaredQualType": "unsigned int",1219// CHECK-NEXT: "qualType": "UnsignedInt",1220// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1221// CHECK-NEXT: },1222// CHECK-NEXT: "valueCategory": "prvalue",1223// CHECK-NEXT: "castKind": "LValueToRValue",1224// CHECK-NEXT: "isPartOfExplicitCast": true,1225// CHECK-NEXT: "inner": [1226// CHECK-NEXT: {1227// CHECK-NEXT: "id": "0x{{.*}}",1228// CHECK-NEXT: "kind": "DeclRefExpr",1229// CHECK-NEXT: "range": {1230// CHECK-NEXT: "begin": {1231// CHECK-NEXT: "offset": {{[0-9]+}},1232// CHECK-NEXT: "col": 23,1233// CHECK-NEXT: "tokLen": 11234// CHECK-NEXT: },1235// CHECK-NEXT: "end": {1236// CHECK-NEXT: "offset": {{[0-9]+}},1237// CHECK-NEXT: "col": 23,1238// CHECK-NEXT: "tokLen": 11239// CHECK-NEXT: }1240// CHECK-NEXT: },1241// CHECK-NEXT: "type": {1242// CHECK-NEXT: "desugaredQualType": "unsigned int",1243// CHECK-NEXT: "qualType": "UnsignedInt",1244// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1245// CHECK-NEXT: },1246// CHECK-NEXT: "valueCategory": "lvalue",1247// CHECK-NEXT: "referencedDecl": {1248// CHECK-NEXT: "id": "0x{{.*}}",1249// CHECK-NEXT: "kind": "ParmVarDecl",1250// CHECK-NEXT: "name": "x",1251// CHECK-NEXT: "type": {1252// CHECK-NEXT: "desugaredQualType": "unsigned int",1253// CHECK-NEXT: "qualType": "UnsignedInt",1254// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1255// CHECK-NEXT: }1256// CHECK-NEXT: }1257// CHECK-NEXT: }1258// CHECK-NEXT: ]1259// CHECK-NEXT: }1260// CHECK-NEXT: ]1261// CHECK-NEXT: }1262// CHECK-NEXT: ]1263// CHECK-NEXT: }1264 1265// CHECK: "kind": "CXXFunctionalCastExpr",1266// CHECK-NEXT: "range": {1267// CHECK-NEXT: "begin": {1268// CHECK-NEXT: "offset": {{[0-9]+}},1269// CHECK-NEXT: "col": 10,1270// CHECK-NEXT: "tokLen": 101271// CHECK-NEXT: },1272// CHECK-NEXT: "end": {1273// CHECK-NEXT: "offset": {{[0-9]+}},1274// CHECK-NEXT: "col": 22,1275// CHECK-NEXT: "tokLen": 11276// CHECK-NEXT: }1277// CHECK-NEXT: },1278// CHECK-NEXT: "type": {1279// CHECK-NEXT: "desugaredQualType": "signed char",1280// CHECK-NEXT: "qualType": "SignedChar",1281// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1282// CHECK-NEXT: },1283// CHECK-NEXT: "valueCategory": "prvalue",1284// CHECK-NEXT: "castKind": "NoOp",1285// CHECK-NEXT: "inner": [1286// CHECK-NEXT: {1287// CHECK-NEXT: "id": "0x{{.*}}",1288// CHECK-NEXT: "kind": "ImplicitCastExpr",1289// CHECK-NEXT: "range": {1290// CHECK-NEXT: "begin": {1291// CHECK-NEXT: "offset": {{[0-9]+}},1292// CHECK-NEXT: "col": 21,1293// CHECK-NEXT: "tokLen": 11294// CHECK-NEXT: },1295// CHECK-NEXT: "end": {1296// CHECK-NEXT: "offset": {{[0-9]+}},1297// CHECK-NEXT: "col": 21,1298// CHECK-NEXT: "tokLen": 11299// CHECK-NEXT: }1300// CHECK-NEXT: },1301// CHECK-NEXT: "type": {1302// CHECK-NEXT: "desugaredQualType": "signed char",1303// CHECK-NEXT: "qualType": "SignedChar",1304// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1305// CHECK-NEXT: },1306// CHECK-NEXT: "valueCategory": "prvalue",1307// CHECK-NEXT: "castKind": "IntegralCast",1308// CHECK-NEXT: "isPartOfExplicitCast": true,1309// CHECK-NEXT: "inner": [1310// CHECK-NEXT: {1311// CHECK-NEXT: "id": "0x{{.*}}",1312// CHECK-NEXT: "kind": "ImplicitCastExpr",1313// CHECK-NEXT: "range": {1314// CHECK-NEXT: "begin": {1315// CHECK-NEXT: "offset": {{[0-9]+}},1316// CHECK-NEXT: "col": 21,1317// CHECK-NEXT: "tokLen": 11318// CHECK-NEXT: },1319// CHECK-NEXT: "end": {1320// CHECK-NEXT: "offset": {{[0-9]+}},1321// CHECK-NEXT: "col": 21,1322// CHECK-NEXT: "tokLen": 11323// CHECK-NEXT: }1324// CHECK-NEXT: },1325// CHECK-NEXT: "type": {1326// CHECK-NEXT: "desugaredQualType": "unsigned int",1327// CHECK-NEXT: "qualType": "UnsignedInt",1328// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1329// CHECK-NEXT: },1330// CHECK-NEXT: "valueCategory": "prvalue",1331// CHECK-NEXT: "castKind": "LValueToRValue",1332// CHECK-NEXT: "isPartOfExplicitCast": true,1333// CHECK-NEXT: "inner": [1334// CHECK-NEXT: {1335// CHECK-NEXT: "id": "0x{{.*}}",1336// CHECK-NEXT: "kind": "DeclRefExpr",1337// CHECK-NEXT: "range": {1338// CHECK-NEXT: "begin": {1339// CHECK-NEXT: "offset": {{[0-9]+}},1340// CHECK-NEXT: "col": 21,1341// CHECK-NEXT: "tokLen": 11342// CHECK-NEXT: },1343// CHECK-NEXT: "end": {1344// CHECK-NEXT: "offset": {{[0-9]+}},1345// CHECK-NEXT: "col": 21,1346// CHECK-NEXT: "tokLen": 11347// CHECK-NEXT: }1348// CHECK-NEXT: },1349// CHECK-NEXT: "type": {1350// CHECK-NEXT: "desugaredQualType": "unsigned int",1351// CHECK-NEXT: "qualType": "UnsignedInt",1352// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1353// CHECK-NEXT: },1354// CHECK-NEXT: "valueCategory": "lvalue",1355// CHECK-NEXT: "referencedDecl": {1356// CHECK-NEXT: "id": "0x{{.*}}",1357// CHECK-NEXT: "kind": "ParmVarDecl",1358// CHECK-NEXT: "name": "x",1359// CHECK-NEXT: "type": {1360// CHECK-NEXT: "desugaredQualType": "unsigned int",1361// CHECK-NEXT: "qualType": "UnsignedInt",1362// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1363// CHECK-NEXT: }1364// CHECK-NEXT: }1365// CHECK-NEXT: }1366// CHECK-NEXT: ]1367// CHECK-NEXT: }1368// CHECK-NEXT: ]1369// CHECK-NEXT: }1370// CHECK-NEXT: ]1371// CHECK-NEXT: }1372 1373// CHECK: "kind": "CXXFunctionalCastExpr",1374// CHECK-NEXT: "range": {1375// CHECK-NEXT: "begin": {1376// CHECK-NEXT: "offset": {{[0-9]+}},1377// CHECK-NEXT: "col": 10,1378// CHECK-NEXT: "tokLen": 121379// CHECK-NEXT: },1380// CHECK-NEXT: "end": {1381// CHECK-NEXT: "offset": {{[0-9]+}},1382// CHECK-NEXT: "col": 24,1383// CHECK-NEXT: "tokLen": 11384// CHECK-NEXT: }1385// CHECK-NEXT: },1386// CHECK-NEXT: "type": {1387// CHECK-NEXT: "desugaredQualType": "unsigned char",1388// CHECK-NEXT: "qualType": "UnsignedChar",1389// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1390// CHECK-NEXT: },1391// CHECK-NEXT: "valueCategory": "prvalue",1392// CHECK-NEXT: "castKind": "NoOp",1393// CHECK-NEXT: "inner": [1394// CHECK-NEXT: {1395// CHECK-NEXT: "id": "0x{{.*}}",1396// CHECK-NEXT: "kind": "ImplicitCastExpr",1397// CHECK-NEXT: "range": {1398// CHECK-NEXT: "begin": {1399// CHECK-NEXT: "offset": {{[0-9]+}},1400// CHECK-NEXT: "col": 23,1401// CHECK-NEXT: "tokLen": 11402// CHECK-NEXT: },1403// CHECK-NEXT: "end": {1404// CHECK-NEXT: "offset": {{[0-9]+}},1405// CHECK-NEXT: "col": 23,1406// CHECK-NEXT: "tokLen": 11407// CHECK-NEXT: }1408// CHECK-NEXT: },1409// CHECK-NEXT: "type": {1410// CHECK-NEXT: "desugaredQualType": "unsigned char",1411// CHECK-NEXT: "qualType": "UnsignedChar",1412// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1413// CHECK-NEXT: },1414// CHECK-NEXT: "valueCategory": "prvalue",1415// CHECK-NEXT: "castKind": "IntegralCast",1416// CHECK-NEXT: "isPartOfExplicitCast": true,1417// CHECK-NEXT: "inner": [1418// CHECK-NEXT: {1419// CHECK-NEXT: "id": "0x{{.*}}",1420// CHECK-NEXT: "kind": "ImplicitCastExpr",1421// CHECK-NEXT: "range": {1422// CHECK-NEXT: "begin": {1423// CHECK-NEXT: "offset": {{[0-9]+}},1424// CHECK-NEXT: "col": 23,1425// CHECK-NEXT: "tokLen": 11426// CHECK-NEXT: },1427// CHECK-NEXT: "end": {1428// CHECK-NEXT: "offset": {{[0-9]+}},1429// CHECK-NEXT: "col": 23,1430// CHECK-NEXT: "tokLen": 11431// CHECK-NEXT: }1432// CHECK-NEXT: },1433// CHECK-NEXT: "type": {1434// CHECK-NEXT: "desugaredQualType": "int",1435// CHECK-NEXT: "qualType": "SignedInt",1436// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1437// CHECK-NEXT: },1438// CHECK-NEXT: "valueCategory": "prvalue",1439// CHECK-NEXT: "castKind": "LValueToRValue",1440// CHECK-NEXT: "isPartOfExplicitCast": true,1441// CHECK-NEXT: "inner": [1442// CHECK-NEXT: {1443// CHECK-NEXT: "id": "0x{{.*}}",1444// CHECK-NEXT: "kind": "DeclRefExpr",1445// CHECK-NEXT: "range": {1446// CHECK-NEXT: "begin": {1447// CHECK-NEXT: "offset": {{[0-9]+}},1448// CHECK-NEXT: "col": 23,1449// CHECK-NEXT: "tokLen": 11450// CHECK-NEXT: },1451// CHECK-NEXT: "end": {1452// CHECK-NEXT: "offset": {{[0-9]+}},1453// CHECK-NEXT: "col": 23,1454// CHECK-NEXT: "tokLen": 11455// CHECK-NEXT: }1456// CHECK-NEXT: },1457// CHECK-NEXT: "type": {1458// CHECK-NEXT: "desugaredQualType": "int",1459// CHECK-NEXT: "qualType": "SignedInt",1460// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1461// CHECK-NEXT: },1462// CHECK-NEXT: "valueCategory": "lvalue",1463// CHECK-NEXT: "referencedDecl": {1464// CHECK-NEXT: "id": "0x{{.*}}",1465// CHECK-NEXT: "kind": "ParmVarDecl",1466// CHECK-NEXT: "name": "x",1467// CHECK-NEXT: "type": {1468// CHECK-NEXT: "desugaredQualType": "int",1469// CHECK-NEXT: "qualType": "SignedInt",1470// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1471// CHECK-NEXT: }1472// CHECK-NEXT: }1473// CHECK-NEXT: }1474// CHECK-NEXT: ]1475// CHECK-NEXT: }1476// CHECK-NEXT: ]1477// CHECK-NEXT: }1478// CHECK-NEXT: ]1479// CHECK-NEXT: }1480 1481// CHECK: "kind": "CXXFunctionalCastExpr",1482// CHECK-NEXT: "range": {1483// CHECK-NEXT: "begin": {1484// CHECK-NEXT: "offset": {{[0-9]+}},1485// CHECK-NEXT: "col": 10,1486// CHECK-NEXT: "tokLen": 101487// CHECK-NEXT: },1488// CHECK-NEXT: "end": {1489// CHECK-NEXT: "offset": {{[0-9]+}},1490// CHECK-NEXT: "col": 22,1491// CHECK-NEXT: "tokLen": 11492// CHECK-NEXT: }1493// CHECK-NEXT: },1494// CHECK-NEXT: "type": {1495// CHECK-NEXT: "desugaredQualType": "signed char",1496// CHECK-NEXT: "qualType": "SignedChar",1497// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1498// CHECK-NEXT: },1499// CHECK-NEXT: "valueCategory": "prvalue",1500// CHECK-NEXT: "castKind": "NoOp",1501// CHECK-NEXT: "inner": [1502// CHECK-NEXT: {1503// CHECK-NEXT: "id": "0x{{.*}}",1504// CHECK-NEXT: "kind": "ImplicitCastExpr",1505// CHECK-NEXT: "range": {1506// CHECK-NEXT: "begin": {1507// CHECK-NEXT: "offset": {{[0-9]+}},1508// CHECK-NEXT: "col": 21,1509// CHECK-NEXT: "tokLen": 11510// CHECK-NEXT: },1511// CHECK-NEXT: "end": {1512// CHECK-NEXT: "offset": {{[0-9]+}},1513// CHECK-NEXT: "col": 21,1514// CHECK-NEXT: "tokLen": 11515// CHECK-NEXT: }1516// CHECK-NEXT: },1517// CHECK-NEXT: "type": {1518// CHECK-NEXT: "desugaredQualType": "signed char",1519// CHECK-NEXT: "qualType": "SignedChar",1520// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1521// CHECK-NEXT: },1522// CHECK-NEXT: "valueCategory": "prvalue",1523// CHECK-NEXT: "castKind": "IntegralCast",1524// CHECK-NEXT: "isPartOfExplicitCast": true,1525// CHECK-NEXT: "inner": [1526// CHECK-NEXT: {1527// CHECK-NEXT: "id": "0x{{.*}}",1528// CHECK-NEXT: "kind": "ImplicitCastExpr",1529// CHECK-NEXT: "range": {1530// CHECK-NEXT: "begin": {1531// CHECK-NEXT: "offset": {{[0-9]+}},1532// CHECK-NEXT: "col": 21,1533// CHECK-NEXT: "tokLen": 11534// CHECK-NEXT: },1535// CHECK-NEXT: "end": {1536// CHECK-NEXT: "offset": {{[0-9]+}},1537// CHECK-NEXT: "col": 21,1538// CHECK-NEXT: "tokLen": 11539// CHECK-NEXT: }1540// CHECK-NEXT: },1541// CHECK-NEXT: "type": {1542// CHECK-NEXT: "desugaredQualType": "int",1543// CHECK-NEXT: "qualType": "SignedInt",1544// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1545// CHECK-NEXT: },1546// CHECK-NEXT: "valueCategory": "prvalue",1547// CHECK-NEXT: "castKind": "LValueToRValue",1548// CHECK-NEXT: "isPartOfExplicitCast": true,1549// CHECK-NEXT: "inner": [1550// CHECK-NEXT: {1551// CHECK-NEXT: "id": "0x{{.*}}",1552// CHECK-NEXT: "kind": "DeclRefExpr",1553// CHECK-NEXT: "range": {1554// CHECK-NEXT: "begin": {1555// CHECK-NEXT: "offset": {{[0-9]+}},1556// CHECK-NEXT: "col": 21,1557// CHECK-NEXT: "tokLen": 11558// CHECK-NEXT: },1559// CHECK-NEXT: "end": {1560// CHECK-NEXT: "offset": {{[0-9]+}},1561// CHECK-NEXT: "col": 21,1562// CHECK-NEXT: "tokLen": 11563// CHECK-NEXT: }1564// CHECK-NEXT: },1565// CHECK-NEXT: "type": {1566// CHECK-NEXT: "desugaredQualType": "int",1567// CHECK-NEXT: "qualType": "SignedInt",1568// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1569// CHECK-NEXT: },1570// CHECK-NEXT: "valueCategory": "lvalue",1571// CHECK-NEXT: "referencedDecl": {1572// CHECK-NEXT: "id": "0x{{.*}}",1573// CHECK-NEXT: "kind": "ParmVarDecl",1574// CHECK-NEXT: "name": "x",1575// CHECK-NEXT: "type": {1576// CHECK-NEXT: "desugaredQualType": "int",1577// CHECK-NEXT: "qualType": "SignedInt",1578// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"1579// CHECK-NEXT: }1580// CHECK-NEXT: }1581// CHECK-NEXT: }1582// CHECK-NEXT: ]1583// CHECK-NEXT: }1584// CHECK-NEXT: ]1585// CHECK-NEXT: }1586// CHECK-NEXT: ]1587// CHECK-NEXT: }1588