1 // RUN: %clang_cc1 -triple x86_64-pc-linux -std=c++2b -ast-dump=json %s | FileCheck %s 2 3 void func(int val) { 4 if (val) 5 ; 6 7 if (val) 8 ; 9 else 10 ; 11 12 if (val) 13 ; 14 else if (val) 15 ; 16 else 17 ; 18 19 if constexpr(10 == 10) 20 ; 21 22 if (int i = 12) 23 ; 24 25 if (int i = 12; i) 26 ; 27 28 if consteval {} 29 30 if consteval {} else {} 31 32 if not consteval {} 33 34 if not consteval {} else {} 35 } 36 37 // NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py 38 // using --filters=IfStmt 39 40 41 // CHECK-NOT: {{^}}Dumping 42 // CHECK: "kind": "IfStmt", 43 // CHECK-NEXT: "range": { 44 // CHECK-NEXT: "begin": { 45 // CHECK-NEXT: "offset": {{[0-9]+}}, 46 // CHECK-NEXT: "line": 4, 47 // CHECK-NEXT: "col": 3, 48 // CHECK-NEXT: "tokLen": 2 49 // CHECK-NEXT: }, 50 // CHECK-NEXT: "end": { 51 // CHECK-NEXT: "offset": {{[0-9]+}}, 52 // CHECK-NEXT: "line": 5, 53 // CHECK-NEXT: "col": 5, 54 // CHECK-NEXT: "tokLen": 1 55 // CHECK-NEXT: } 56 // CHECK-NEXT: }, 57 // CHECK-NEXT: "inner": [ 58 // CHECK-NEXT: { 59 // CHECK-NEXT: "id": "0x{{.*}}", 60 // CHECK-NEXT: "kind": "ImplicitCastExpr", 61 // CHECK-NEXT: "range": { 62 // CHECK-NEXT: "begin": { 63 // CHECK-NEXT: "offset": {{[0-9]+}}, 64 // CHECK-NEXT: "line": 4, 65 // CHECK-NEXT: "col": 7, 66 // CHECK-NEXT: "tokLen": 3 67 // CHECK-NEXT: }, 68 // CHECK-NEXT: "end": { 69 // CHECK-NEXT: "offset": {{[0-9]+}}, 70 // CHECK-NEXT: "col": 7, 71 // CHECK-NEXT: "tokLen": 3 72 // CHECK-NEXT: } 73 // CHECK-NEXT: }, 74 // CHECK-NEXT: "type": { 75 // CHECK-NEXT: "qualType": "bool" 76 // CHECK-NEXT: }, 77 // CHECK-NEXT: "valueCategory": "prvalue", 78 // CHECK-NEXT: "castKind": "IntegralToBoolean", 79 // CHECK-NEXT: "inner": [ 80 // CHECK-NEXT: { 81 // CHECK-NEXT: "id": "0x{{.*}}", 82 // CHECK-NEXT: "kind": "ImplicitCastExpr", 83 // CHECK-NEXT: "range": { 84 // CHECK-NEXT: "begin": { 85 // CHECK-NEXT: "offset": {{[0-9]+}}, 86 // CHECK-NEXT: "col": 7, 87 // CHECK-NEXT: "tokLen": 3 88 // CHECK-NEXT: }, 89 // CHECK-NEXT: "end": { 90 // CHECK-NEXT: "offset": {{[0-9]+}}, 91 // CHECK-NEXT: "col": 7, 92 // CHECK-NEXT: "tokLen": 3 93 // CHECK-NEXT: } 94 // CHECK-NEXT: }, 95 // CHECK-NEXT: "type": { 96 // CHECK-NEXT: "qualType": "int" 97 // CHECK-NEXT: }, 98 // CHECK-NEXT: "valueCategory": "prvalue", 99 // CHECK-NEXT: "castKind": "LValueToRValue", 100 // CHECK-NEXT: "inner": [ 101 // CHECK-NEXT: { 102 // CHECK-NEXT: "id": "0x{{.*}}", 103 // CHECK-NEXT: "kind": "DeclRefExpr", 104 // CHECK-NEXT: "range": { 105 // CHECK-NEXT: "begin": { 106 // CHECK-NEXT: "offset": {{[0-9]+}}, 107 // CHECK-NEXT: "col": 7, 108 // CHECK-NEXT: "tokLen": 3 109 // CHECK-NEXT: }, 110 // CHECK-NEXT: "end": { 111 // CHECK-NEXT: "offset": {{[0-9]+}}, 112 // CHECK-NEXT: "col": 7, 113 // CHECK-NEXT: "tokLen": 3 114 // CHECK-NEXT: } 115 // CHECK-NEXT: }, 116 // CHECK-NEXT: "type": { 117 // CHECK-NEXT: "qualType": "int" 118 // CHECK-NEXT: }, 119 // CHECK-NEXT: "valueCategory": "lvalue", 120 // CHECK-NEXT: "referencedDecl": { 121 // CHECK-NEXT: "id": "0x{{.*}}", 122 // CHECK-NEXT: "kind": "ParmVarDecl", 123 // CHECK-NEXT: "name": "val", 124 // CHECK-NEXT: "type": { 125 // CHECK-NEXT: "qualType": "int" 126 // CHECK-NEXT: } 127 // CHECK-NEXT: } 128 // CHECK-NEXT: } 129 // CHECK-NEXT: ] 130 // CHECK-NEXT: } 131 // CHECK-NEXT: ] 132 // CHECK-NEXT: }, 133 // CHECK-NEXT: { 134 // CHECK-NEXT: "id": "0x{{.*}}", 135 // CHECK-NEXT: "kind": "NullStmt", 136 // CHECK-NEXT: "range": { 137 // CHECK-NEXT: "begin": { 138 // CHECK-NEXT: "offset": {{[0-9]+}}, 139 // CHECK-NEXT: "line": 5, 140 // CHECK-NEXT: "col": 5, 141 // CHECK-NEXT: "tokLen": 1 142 // CHECK-NEXT: }, 143 // CHECK-NEXT: "end": { 144 // CHECK-NEXT: "offset": {{[0-9]+}}, 145 // CHECK-NEXT: "col": 5, 146 // CHECK-NEXT: "tokLen": 1 147 // CHECK-NEXT: } 148 // CHECK-NEXT: } 149 // CHECK-NEXT: } 150 // CHECK-NEXT: ] 151 // CHECK-NEXT: } 152 153 154 // CHECK-NOT: {{^}}Dumping 155 // CHECK: "kind": "IfStmt", 156 // CHECK-NEXT: "range": { 157 // CHECK-NEXT: "begin": { 158 // CHECK-NEXT: "offset": {{[0-9]+}}, 159 // CHECK-NEXT: "line": 7, 160 // CHECK-NEXT: "col": 3, 161 // CHECK-NEXT: "tokLen": 2 162 // CHECK-NEXT: }, 163 // CHECK-NEXT: "end": { 164 // CHECK-NEXT: "offset": {{[0-9]+}}, 165 // CHECK-NEXT: "line": 10, 166 // CHECK-NEXT: "col": 5, 167 // CHECK-NEXT: "tokLen": 1 168 // CHECK-NEXT: } 169 // CHECK-NEXT: }, 170 // CHECK-NEXT: "hasElse": true, 171 // CHECK-NEXT: "inner": [ 172 // CHECK-NEXT: { 173 // CHECK-NEXT: "id": "0x{{.*}}", 174 // CHECK-NEXT: "kind": "ImplicitCastExpr", 175 // CHECK-NEXT: "range": { 176 // CHECK-NEXT: "begin": { 177 // CHECK-NEXT: "offset": {{[0-9]+}}, 178 // CHECK-NEXT: "line": 7, 179 // CHECK-NEXT: "col": 7, 180 // CHECK-NEXT: "tokLen": 3 181 // CHECK-NEXT: }, 182 // CHECK-NEXT: "end": { 183 // CHECK-NEXT: "offset": {{[0-9]+}}, 184 // CHECK-NEXT: "col": 7, 185 // CHECK-NEXT: "tokLen": 3 186 // CHECK-NEXT: } 187 // CHECK-NEXT: }, 188 // CHECK-NEXT: "type": { 189 // CHECK-NEXT: "qualType": "bool" 190 // CHECK-NEXT: }, 191 // CHECK-NEXT: "valueCategory": "prvalue", 192 // CHECK-NEXT: "castKind": "IntegralToBoolean", 193 // CHECK-NEXT: "inner": [ 194 // CHECK-NEXT: { 195 // CHECK-NEXT: "id": "0x{{.*}}", 196 // CHECK-NEXT: "kind": "ImplicitCastExpr", 197 // CHECK-NEXT: "range": { 198 // CHECK-NEXT: "begin": { 199 // CHECK-NEXT: "offset": {{[0-9]+}}, 200 // CHECK-NEXT: "col": 7, 201 // CHECK-NEXT: "tokLen": 3 202 // CHECK-NEXT: }, 203 // CHECK-NEXT: "end": { 204 // CHECK-NEXT: "offset": {{[0-9]+}}, 205 // CHECK-NEXT: "col": 7, 206 // CHECK-NEXT: "tokLen": 3 207 // CHECK-NEXT: } 208 // CHECK-NEXT: }, 209 // CHECK-NEXT: "type": { 210 // CHECK-NEXT: "qualType": "int" 211 // CHECK-NEXT: }, 212 // CHECK-NEXT: "valueCategory": "prvalue", 213 // CHECK-NEXT: "castKind": "LValueToRValue", 214 // CHECK-NEXT: "inner": [ 215 // CHECK-NEXT: { 216 // CHECK-NEXT: "id": "0x{{.*}}", 217 // CHECK-NEXT: "kind": "DeclRefExpr", 218 // CHECK-NEXT: "range": { 219 // CHECK-NEXT: "begin": { 220 // CHECK-NEXT: "offset": {{[0-9]+}}, 221 // CHECK-NEXT: "col": 7, 222 // CHECK-NEXT: "tokLen": 3 223 // CHECK-NEXT: }, 224 // CHECK-NEXT: "end": { 225 // CHECK-NEXT: "offset": {{[0-9]+}}, 226 // CHECK-NEXT: "col": 7, 227 // CHECK-NEXT: "tokLen": 3 228 // CHECK-NEXT: } 229 // CHECK-NEXT: }, 230 // CHECK-NEXT: "type": { 231 // CHECK-NEXT: "qualType": "int" 232 // CHECK-NEXT: }, 233 // CHECK-NEXT: "valueCategory": "lvalue", 234 // CHECK-NEXT: "referencedDecl": { 235 // CHECK-NEXT: "id": "0x{{.*}}", 236 // CHECK-NEXT: "kind": "ParmVarDecl", 237 // CHECK-NEXT: "name": "val", 238 // CHECK-NEXT: "type": { 239 // CHECK-NEXT: "qualType": "int" 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: "id": "0x{{.*}}", 249 // CHECK-NEXT: "kind": "NullStmt", 250 // CHECK-NEXT: "range": { 251 // CHECK-NEXT: "begin": { 252 // CHECK-NEXT: "offset": {{[0-9]+}}, 253 // CHECK-NEXT: "line": 8, 254 // CHECK-NEXT: "col": 5, 255 // CHECK-NEXT: "tokLen": 1 256 // CHECK-NEXT: }, 257 // CHECK-NEXT: "end": { 258 // CHECK-NEXT: "offset": {{[0-9]+}}, 259 // CHECK-NEXT: "col": 5, 260 // CHECK-NEXT: "tokLen": 1 261 // CHECK-NEXT: } 262 // CHECK-NEXT: } 263 // CHECK-NEXT: }, 264 // CHECK-NEXT: { 265 // CHECK-NEXT: "id": "0x{{.*}}", 266 // CHECK-NEXT: "kind": "NullStmt", 267 // CHECK-NEXT: "range": { 268 // CHECK-NEXT: "begin": { 269 // CHECK-NEXT: "offset": {{[0-9]+}}, 270 // CHECK-NEXT: "line": 10, 271 // CHECK-NEXT: "col": 5, 272 // CHECK-NEXT: "tokLen": 1 273 // CHECK-NEXT: }, 274 // CHECK-NEXT: "end": { 275 // CHECK-NEXT: "offset": {{[0-9]+}}, 276 // CHECK-NEXT: "col": 5, 277 // CHECK-NEXT: "tokLen": 1 278 // CHECK-NEXT: } 279 // CHECK-NEXT: } 280 // CHECK-NEXT: } 281 // CHECK-NEXT: ] 282 // CHECK-NEXT: } 283 284 285 // CHECK-NOT: {{^}}Dumping 286 // CHECK: "kind": "IfStmt", 287 // CHECK-NEXT: "range": { 288 // CHECK-NEXT: "begin": { 289 // CHECK-NEXT: "offset": {{[0-9]+}}, 290 // CHECK-NEXT: "line": 12, 291 // CHECK-NEXT: "col": 3, 292 // CHECK-NEXT: "tokLen": 2 293 // CHECK-NEXT: }, 294 // CHECK-NEXT: "end": { 295 // CHECK-NEXT: "offset": {{[0-9]+}}, 296 // CHECK-NEXT: "line": 17, 297 // CHECK-NEXT: "col": 5, 298 // CHECK-NEXT: "tokLen": 1 299 // CHECK-NEXT: } 300 // CHECK-NEXT: }, 301 // CHECK-NEXT: "hasElse": true, 302 // CHECK-NEXT: "inner": [ 303 // CHECK-NEXT: { 304 // CHECK-NEXT: "id": "0x{{.*}}", 305 // CHECK-NEXT: "kind": "ImplicitCastExpr", 306 // CHECK-NEXT: "range": { 307 // CHECK-NEXT: "begin": { 308 // CHECK-NEXT: "offset": {{[0-9]+}}, 309 // CHECK-NEXT: "line": 12, 310 // CHECK-NEXT: "col": 7, 311 // CHECK-NEXT: "tokLen": 3 312 // CHECK-NEXT: }, 313 // CHECK-NEXT: "end": { 314 // CHECK-NEXT: "offset": {{[0-9]+}}, 315 // CHECK-NEXT: "col": 7, 316 // CHECK-NEXT: "tokLen": 3 317 // CHECK-NEXT: } 318 // CHECK-NEXT: }, 319 // CHECK-NEXT: "type": { 320 // CHECK-NEXT: "qualType": "bool" 321 // CHECK-NEXT: }, 322 // CHECK-NEXT: "valueCategory": "prvalue", 323 // CHECK-NEXT: "castKind": "IntegralToBoolean", 324 // CHECK-NEXT: "inner": [ 325 // CHECK-NEXT: { 326 // CHECK-NEXT: "id": "0x{{.*}}", 327 // CHECK-NEXT: "kind": "ImplicitCastExpr", 328 // CHECK-NEXT: "range": { 329 // CHECK-NEXT: "begin": { 330 // CHECK-NEXT: "offset": {{[0-9]+}}, 331 // CHECK-NEXT: "col": 7, 332 // CHECK-NEXT: "tokLen": 3 333 // CHECK-NEXT: }, 334 // CHECK-NEXT: "end": { 335 // CHECK-NEXT: "offset": {{[0-9]+}}, 336 // CHECK-NEXT: "col": 7, 337 // CHECK-NEXT: "tokLen": 3 338 // CHECK-NEXT: } 339 // CHECK-NEXT: }, 340 // CHECK-NEXT: "type": { 341 // CHECK-NEXT: "qualType": "int" 342 // CHECK-NEXT: }, 343 // CHECK-NEXT: "valueCategory": "prvalue", 344 // CHECK-NEXT: "castKind": "LValueToRValue", 345 // CHECK-NEXT: "inner": [ 346 // CHECK-NEXT: { 347 // CHECK-NEXT: "id": "0x{{.*}}", 348 // CHECK-NEXT: "kind": "DeclRefExpr", 349 // CHECK-NEXT: "range": { 350 // CHECK-NEXT: "begin": { 351 // CHECK-NEXT: "offset": {{[0-9]+}}, 352 // CHECK-NEXT: "col": 7, 353 // CHECK-NEXT: "tokLen": 3 354 // CHECK-NEXT: }, 355 // CHECK-NEXT: "end": { 356 // CHECK-NEXT: "offset": {{[0-9]+}}, 357 // CHECK-NEXT: "col": 7, 358 // CHECK-NEXT: "tokLen": 3 359 // CHECK-NEXT: } 360 // CHECK-NEXT: }, 361 // CHECK-NEXT: "type": { 362 // CHECK-NEXT: "qualType": "int" 363 // CHECK-NEXT: }, 364 // CHECK-NEXT: "valueCategory": "lvalue", 365 // CHECK-NEXT: "referencedDecl": { 366 // CHECK-NEXT: "id": "0x{{.*}}", 367 // CHECK-NEXT: "kind": "ParmVarDecl", 368 // CHECK-NEXT: "name": "val", 369 // CHECK-NEXT: "type": { 370 // CHECK-NEXT: "qualType": "int" 371 // CHECK-NEXT: } 372 // CHECK-NEXT: } 373 // CHECK-NEXT: } 374 // CHECK-NEXT: ] 375 // CHECK-NEXT: } 376 // CHECK-NEXT: ] 377 // CHECK-NEXT: }, 378 // CHECK-NEXT: { 379 // CHECK-NEXT: "id": "0x{{.*}}", 380 // CHECK-NEXT: "kind": "NullStmt", 381 // CHECK-NEXT: "range": { 382 // CHECK-NEXT: "begin": { 383 // CHECK-NEXT: "offset": {{[0-9]+}}, 384 // CHECK-NEXT: "line": 13, 385 // CHECK-NEXT: "col": 5, 386 // CHECK-NEXT: "tokLen": 1 387 // CHECK-NEXT: }, 388 // CHECK-NEXT: "end": { 389 // CHECK-NEXT: "offset": {{[0-9]+}}, 390 // CHECK-NEXT: "col": 5, 391 // CHECK-NEXT: "tokLen": 1 392 // CHECK-NEXT: } 393 // CHECK-NEXT: } 394 // CHECK-NEXT: }, 395 // CHECK-NEXT: { 396 // CHECK-NEXT: "id": "0x{{.*}}", 397 // CHECK-NEXT: "kind": "IfStmt", 398 // CHECK-NEXT: "range": { 399 // CHECK-NEXT: "begin": { 400 // CHECK-NEXT: "offset": {{[0-9]+}}, 401 // CHECK-NEXT: "line": 14, 402 // CHECK-NEXT: "col": 8, 403 // CHECK-NEXT: "tokLen": 2 404 // CHECK-NEXT: }, 405 // CHECK-NEXT: "end": { 406 // CHECK-NEXT: "offset": {{[0-9]+}}, 407 // CHECK-NEXT: "line": 17, 408 // CHECK-NEXT: "col": 5, 409 // CHECK-NEXT: "tokLen": 1 410 // CHECK-NEXT: } 411 // CHECK-NEXT: }, 412 // CHECK-NEXT: "hasElse": 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: "line": 14, 421 // CHECK-NEXT: "col": 12, 422 // CHECK-NEXT: "tokLen": 3 423 // CHECK-NEXT: }, 424 // CHECK-NEXT: "end": { 425 // CHECK-NEXT: "offset": {{[0-9]+}}, 426 // CHECK-NEXT: "col": 12, 427 // CHECK-NEXT: "tokLen": 3 428 // CHECK-NEXT: } 429 // CHECK-NEXT: }, 430 // CHECK-NEXT: "type": { 431 // CHECK-NEXT: "qualType": "bool" 432 // CHECK-NEXT: }, 433 // CHECK-NEXT: "valueCategory": "prvalue", 434 // CHECK-NEXT: "castKind": "IntegralToBoolean", 435 // CHECK-NEXT: "inner": [ 436 // CHECK-NEXT: { 437 // CHECK-NEXT: "id": "0x{{.*}}", 438 // CHECK-NEXT: "kind": "ImplicitCastExpr", 439 // CHECK-NEXT: "range": { 440 // CHECK-NEXT: "begin": { 441 // CHECK-NEXT: "offset": {{[0-9]+}}, 442 // CHECK-NEXT: "col": 12, 443 // CHECK-NEXT: "tokLen": 3 444 // CHECK-NEXT: }, 445 // CHECK-NEXT: "end": { 446 // CHECK-NEXT: "offset": {{[0-9]+}}, 447 // CHECK-NEXT: "col": 12, 448 // CHECK-NEXT: "tokLen": 3 449 // CHECK-NEXT: } 450 // CHECK-NEXT: }, 451 // CHECK-NEXT: "type": { 452 // CHECK-NEXT: "qualType": "int" 453 // CHECK-NEXT: }, 454 // CHECK-NEXT: "valueCategory": "prvalue", 455 // CHECK-NEXT: "castKind": "LValueToRValue", 456 // CHECK-NEXT: "inner": [ 457 // CHECK-NEXT: { 458 // CHECK-NEXT: "id": "0x{{.*}}", 459 // CHECK-NEXT: "kind": "DeclRefExpr", 460 // CHECK-NEXT: "range": { 461 // CHECK-NEXT: "begin": { 462 // CHECK-NEXT: "offset": {{[0-9]+}}, 463 // CHECK-NEXT: "col": 12, 464 // CHECK-NEXT: "tokLen": 3 465 // CHECK-NEXT: }, 466 // CHECK-NEXT: "end": { 467 // CHECK-NEXT: "offset": {{[0-9]+}}, 468 // CHECK-NEXT: "col": 12, 469 // CHECK-NEXT: "tokLen": 3 470 // CHECK-NEXT: } 471 // CHECK-NEXT: }, 472 // CHECK-NEXT: "type": { 473 // CHECK-NEXT: "qualType": "int" 474 // CHECK-NEXT: }, 475 // CHECK-NEXT: "valueCategory": "lvalue", 476 // CHECK-NEXT: "referencedDecl": { 477 // CHECK-NEXT: "id": "0x{{.*}}", 478 // CHECK-NEXT: "kind": "ParmVarDecl", 479 // CHECK-NEXT: "name": "val", 480 // CHECK-NEXT: "type": { 481 // CHECK-NEXT: "qualType": "int" 482 // CHECK-NEXT: } 483 // CHECK-NEXT: } 484 // CHECK-NEXT: } 485 // CHECK-NEXT: ] 486 // CHECK-NEXT: } 487 // CHECK-NEXT: ] 488 // CHECK-NEXT: }, 489 // CHECK-NEXT: { 490 // CHECK-NEXT: "id": "0x{{.*}}", 491 // CHECK-NEXT: "kind": "NullStmt", 492 // CHECK-NEXT: "range": { 493 // CHECK-NEXT: "begin": { 494 // CHECK-NEXT: "offset": {{[0-9]+}}, 495 // CHECK-NEXT: "line": 15, 496 // CHECK-NEXT: "col": 5, 497 // CHECK-NEXT: "tokLen": 1 498 // CHECK-NEXT: }, 499 // CHECK-NEXT: "end": { 500 // CHECK-NEXT: "offset": {{[0-9]+}}, 501 // CHECK-NEXT: "col": 5, 502 // CHECK-NEXT: "tokLen": 1 503 // CHECK-NEXT: } 504 // CHECK-NEXT: } 505 // CHECK-NEXT: }, 506 // CHECK-NEXT: { 507 // CHECK-NEXT: "id": "0x{{.*}}", 508 // CHECK-NEXT: "kind": "NullStmt", 509 // CHECK-NEXT: "range": { 510 // CHECK-NEXT: "begin": { 511 // CHECK-NEXT: "offset": {{[0-9]+}}, 512 // CHECK-NEXT: "line": 17, 513 // CHECK-NEXT: "col": 5, 514 // CHECK-NEXT: "tokLen": 1 515 // CHECK-NEXT: }, 516 // CHECK-NEXT: "end": { 517 // CHECK-NEXT: "offset": {{[0-9]+}}, 518 // CHECK-NEXT: "col": 5, 519 // CHECK-NEXT: "tokLen": 1 520 // CHECK-NEXT: } 521 // CHECK-NEXT: } 522 // CHECK-NEXT: } 523 // CHECK-NEXT: ] 524 // CHECK-NEXT: } 525 // CHECK-NEXT: ] 526 // CHECK-NEXT: } 527 528 529 // CHECK-NOT: {{^}}Dumping 530 // CHECK: "kind": "IfStmt", 531 // CHECK-NEXT: "range": { 532 // CHECK-NEXT: "begin": { 533 // CHECK-NEXT: "offset": {{[0-9]+}}, 534 // CHECK-NEXT: "line": 19, 535 // CHECK-NEXT: "col": 3, 536 // CHECK-NEXT: "tokLen": 2 537 // CHECK-NEXT: }, 538 // CHECK-NEXT: "end": { 539 // CHECK-NEXT: "offset": {{[0-9]+}}, 540 // CHECK-NEXT: "line": 20, 541 // CHECK-NEXT: "col": 5, 542 // CHECK-NEXT: "tokLen": 1 543 // CHECK-NEXT: } 544 // CHECK-NEXT: }, 545 // CHECK-NEXT: "isConstexpr": true, 546 // CHECK-NEXT: "inner": [ 547 // CHECK-NEXT: { 548 // CHECK-NEXT: "id": "0x{{.*}}", 549 // CHECK-NEXT: "kind": "ConstantExpr", 550 // CHECK-NEXT: "range": { 551 // CHECK-NEXT: "begin": { 552 // CHECK-NEXT: "offset": {{[0-9]+}}, 553 // CHECK-NEXT: "line": 19, 554 // CHECK-NEXT: "col": 16, 555 // CHECK-NEXT: "tokLen": 2 556 // CHECK-NEXT: }, 557 // CHECK-NEXT: "end": { 558 // CHECK-NEXT: "offset": {{[0-9]+}}, 559 // CHECK-NEXT: "col": 22, 560 // CHECK-NEXT: "tokLen": 2 561 // CHECK-NEXT: } 562 // CHECK-NEXT: }, 563 // CHECK-NEXT: "type": { 564 // CHECK-NEXT: "qualType": "bool" 565 // CHECK-NEXT: }, 566 // CHECK-NEXT: "valueCategory": "prvalue", 567 // CHECK-NEXT: "value": "true", 568 // CHECK-NEXT: "inner": [ 569 // CHECK-NEXT: { 570 // CHECK-NEXT: "id": "0x{{.*}}", 571 // CHECK-NEXT: "kind": "BinaryOperator", 572 // CHECK-NEXT: "range": { 573 // CHECK-NEXT: "begin": { 574 // CHECK-NEXT: "offset": {{[0-9]+}}, 575 // CHECK-NEXT: "col": 16, 576 // CHECK-NEXT: "tokLen": 2 577 // CHECK-NEXT: }, 578 // CHECK-NEXT: "end": { 579 // CHECK-NEXT: "offset": {{[0-9]+}}, 580 // CHECK-NEXT: "col": 22, 581 // CHECK-NEXT: "tokLen": 2 582 // CHECK-NEXT: } 583 // CHECK-NEXT: }, 584 // CHECK-NEXT: "type": { 585 // CHECK-NEXT: "qualType": "bool" 586 // CHECK-NEXT: }, 587 // CHECK-NEXT: "valueCategory": "prvalue", 588 // CHECK-NEXT: "opcode": "==", 589 // CHECK-NEXT: "inner": [ 590 // CHECK-NEXT: { 591 // CHECK-NEXT: "id": "0x{{.*}}", 592 // CHECK-NEXT: "kind": "IntegerLiteral", 593 // CHECK-NEXT: "range": { 594 // CHECK-NEXT: "begin": { 595 // CHECK-NEXT: "offset": {{[0-9]+}}, 596 // CHECK-NEXT: "col": 16, 597 // CHECK-NEXT: "tokLen": 2 598 // CHECK-NEXT: }, 599 // CHECK-NEXT: "end": { 600 // CHECK-NEXT: "offset": {{[0-9]+}}, 601 // CHECK-NEXT: "col": 16, 602 // CHECK-NEXT: "tokLen": 2 603 // CHECK-NEXT: } 604 // CHECK-NEXT: }, 605 // CHECK-NEXT: "type": { 606 // CHECK-NEXT: "qualType": "int" 607 // CHECK-NEXT: }, 608 // CHECK-NEXT: "valueCategory": "prvalue", 609 // CHECK-NEXT: "value": "10" 610 // CHECK-NEXT: }, 611 // CHECK-NEXT: { 612 // CHECK-NEXT: "id": "0x{{.*}}", 613 // CHECK-NEXT: "kind": "IntegerLiteral", 614 // CHECK-NEXT: "range": { 615 // CHECK-NEXT: "begin": { 616 // CHECK-NEXT: "offset": {{[0-9]+}}, 617 // CHECK-NEXT: "col": 22, 618 // CHECK-NEXT: "tokLen": 2 619 // CHECK-NEXT: }, 620 // CHECK-NEXT: "end": { 621 // CHECK-NEXT: "offset": {{[0-9]+}}, 622 // CHECK-NEXT: "col": 22, 623 // CHECK-NEXT: "tokLen": 2 624 // CHECK-NEXT: } 625 // CHECK-NEXT: }, 626 // CHECK-NEXT: "type": { 627 // CHECK-NEXT: "qualType": "int" 628 // CHECK-NEXT: }, 629 // CHECK-NEXT: "valueCategory": "prvalue", 630 // CHECK-NEXT: "value": "10" 631 // CHECK-NEXT: } 632 // CHECK-NEXT: ] 633 // CHECK-NEXT: } 634 // CHECK-NEXT: ] 635 // CHECK-NEXT: }, 636 // CHECK-NEXT: { 637 // CHECK-NEXT: "id": "0x{{.*}}", 638 // CHECK-NEXT: "kind": "NullStmt", 639 // CHECK-NEXT: "range": { 640 // CHECK-NEXT: "begin": { 641 // CHECK-NEXT: "offset": {{[0-9]+}}, 642 // CHECK-NEXT: "line": 20, 643 // CHECK-NEXT: "col": 5, 644 // CHECK-NEXT: "tokLen": 1 645 // CHECK-NEXT: }, 646 // CHECK-NEXT: "end": { 647 // CHECK-NEXT: "offset": {{[0-9]+}}, 648 // CHECK-NEXT: "col": 5, 649 // CHECK-NEXT: "tokLen": 1 650 // CHECK-NEXT: } 651 // CHECK-NEXT: } 652 // CHECK-NEXT: } 653 // CHECK-NEXT: ] 654 // CHECK-NEXT: } 655 656 657 // CHECK-NOT: {{^}}Dumping 658 // CHECK: "kind": "IfStmt", 659 // CHECK-NEXT: "range": { 660 // CHECK-NEXT: "begin": { 661 // CHECK-NEXT: "offset": {{[0-9]+}}, 662 // CHECK-NEXT: "line": 22, 663 // CHECK-NEXT: "col": 3, 664 // CHECK-NEXT: "tokLen": 2 665 // CHECK-NEXT: }, 666 // CHECK-NEXT: "end": { 667 // CHECK-NEXT: "offset": {{[0-9]+}}, 668 // CHECK-NEXT: "line": 23, 669 // CHECK-NEXT: "col": 5, 670 // CHECK-NEXT: "tokLen": 1 671 // CHECK-NEXT: } 672 // CHECK-NEXT: }, 673 // CHECK-NEXT: "hasVar": true, 674 // CHECK-NEXT: "inner": [ 675 // CHECK-NEXT: { 676 // CHECK-NEXT: "id": "0x{{.*}}", 677 // CHECK-NEXT: "kind": "DeclStmt", 678 // CHECK-NEXT: "range": { 679 // CHECK-NEXT: "begin": { 680 // CHECK-NEXT: "offset": {{[0-9]+}}, 681 // CHECK-NEXT: "line": 22, 682 // CHECK-NEXT: "col": 7, 683 // CHECK-NEXT: "tokLen": 3 684 // CHECK-NEXT: }, 685 // CHECK-NEXT: "end": { 686 // CHECK-NEXT: "offset": {{[0-9]+}}, 687 // CHECK-NEXT: "col": 15, 688 // CHECK-NEXT: "tokLen": 2 689 // CHECK-NEXT: } 690 // CHECK-NEXT: }, 691 // CHECK-NEXT: "inner": [ 692 // CHECK-NEXT: { 693 // CHECK-NEXT: "id": "0x{{.*}}", 694 // CHECK-NEXT: "kind": "VarDecl", 695 // CHECK-NEXT: "loc": { 696 // CHECK-NEXT: "offset": {{[0-9]+}}, 697 // CHECK-NEXT: "col": 11, 698 // CHECK-NEXT: "tokLen": 1 699 // CHECK-NEXT: }, 700 // CHECK-NEXT: "range": { 701 // CHECK-NEXT: "begin": { 702 // CHECK-NEXT: "offset": {{[0-9]+}}, 703 // CHECK-NEXT: "col": 7, 704 // CHECK-NEXT: "tokLen": 3 705 // CHECK-NEXT: }, 706 // CHECK-NEXT: "end": { 707 // CHECK-NEXT: "offset": {{[0-9]+}}, 708 // CHECK-NEXT: "col": 15, 709 // CHECK-NEXT: "tokLen": 2 710 // CHECK-NEXT: } 711 // CHECK-NEXT: }, 712 // CHECK-NEXT: "isUsed": true, 713 // CHECK-NEXT: "name": "i", 714 // CHECK-NEXT: "type": { 715 // CHECK-NEXT: "qualType": "int" 716 // CHECK-NEXT: }, 717 // CHECK-NEXT: "init": "c", 718 // CHECK-NEXT: "inner": [ 719 // CHECK-NEXT: { 720 // CHECK-NEXT: "id": "0x{{.*}}", 721 // CHECK-NEXT: "kind": "IntegerLiteral", 722 // CHECK-NEXT: "range": { 723 // CHECK-NEXT: "begin": { 724 // CHECK-NEXT: "offset": {{[0-9]+}}, 725 // CHECK-NEXT: "col": 15, 726 // CHECK-NEXT: "tokLen": 2 727 // CHECK-NEXT: }, 728 // CHECK-NEXT: "end": { 729 // CHECK-NEXT: "offset": {{[0-9]+}}, 730 // CHECK-NEXT: "col": 15, 731 // CHECK-NEXT: "tokLen": 2 732 // CHECK-NEXT: } 733 // CHECK-NEXT: }, 734 // CHECK-NEXT: "type": { 735 // CHECK-NEXT: "qualType": "int" 736 // CHECK-NEXT: }, 737 // CHECK-NEXT: "valueCategory": "prvalue", 738 // CHECK-NEXT: "value": "12" 739 // CHECK-NEXT: } 740 // CHECK-NEXT: ] 741 // CHECK-NEXT: } 742 // CHECK-NEXT: ] 743 // CHECK-NEXT: }, 744 // CHECK-NEXT: { 745 // CHECK-NEXT: "id": "0x{{.*}}", 746 // CHECK-NEXT: "kind": "ImplicitCastExpr", 747 // CHECK-NEXT: "range": { 748 // CHECK-NEXT: "begin": { 749 // CHECK-NEXT: "offset": {{[0-9]+}}, 750 // CHECK-NEXT: "col": 11, 751 // CHECK-NEXT: "tokLen": 1 752 // CHECK-NEXT: }, 753 // CHECK-NEXT: "end": { 754 // CHECK-NEXT: "offset": {{[0-9]+}}, 755 // CHECK-NEXT: "col": 11, 756 // CHECK-NEXT: "tokLen": 1 757 // CHECK-NEXT: } 758 // CHECK-NEXT: }, 759 // CHECK-NEXT: "type": { 760 // CHECK-NEXT: "qualType": "bool" 761 // CHECK-NEXT: }, 762 // CHECK-NEXT: "valueCategory": "prvalue", 763 // CHECK-NEXT: "castKind": "IntegralToBoolean", 764 // CHECK-NEXT: "inner": [ 765 // CHECK-NEXT: { 766 // CHECK-NEXT: "id": "0x{{.*}}", 767 // CHECK-NEXT: "kind": "ImplicitCastExpr", 768 // CHECK-NEXT: "range": { 769 // CHECK-NEXT: "begin": { 770 // CHECK-NEXT: "offset": {{[0-9]+}}, 771 // CHECK-NEXT: "col": 11, 772 // CHECK-NEXT: "tokLen": 1 773 // CHECK-NEXT: }, 774 // CHECK-NEXT: "end": { 775 // CHECK-NEXT: "offset": {{[0-9]+}}, 776 // CHECK-NEXT: "col": 11, 777 // CHECK-NEXT: "tokLen": 1 778 // CHECK-NEXT: } 779 // CHECK-NEXT: }, 780 // CHECK-NEXT: "type": { 781 // CHECK-NEXT: "qualType": "int" 782 // CHECK-NEXT: }, 783 // CHECK-NEXT: "valueCategory": "prvalue", 784 // CHECK-NEXT: "castKind": "LValueToRValue", 785 // CHECK-NEXT: "inner": [ 786 // CHECK-NEXT: { 787 // CHECK-NEXT: "id": "0x{{.*}}", 788 // CHECK-NEXT: "kind": "DeclRefExpr", 789 // CHECK-NEXT: "range": { 790 // CHECK-NEXT: "begin": { 791 // CHECK-NEXT: "offset": {{[0-9]+}}, 792 // CHECK-NEXT: "col": 11, 793 // CHECK-NEXT: "tokLen": 1 794 // CHECK-NEXT: }, 795 // CHECK-NEXT: "end": { 796 // CHECK-NEXT: "offset": {{[0-9]+}}, 797 // CHECK-NEXT: "col": 11, 798 // CHECK-NEXT: "tokLen": 1 799 // CHECK-NEXT: } 800 // CHECK-NEXT: }, 801 // CHECK-NEXT: "type": { 802 // CHECK-NEXT: "qualType": "int" 803 // CHECK-NEXT: }, 804 // CHECK-NEXT: "valueCategory": "lvalue", 805 // CHECK-NEXT: "referencedDecl": { 806 // CHECK-NEXT: "id": "0x{{.*}}", 807 // CHECK-NEXT: "kind": "VarDecl", 808 // CHECK-NEXT: "name": "i", 809 // CHECK-NEXT: "type": { 810 // CHECK-NEXT: "qualType": "int" 811 // CHECK-NEXT: } 812 // CHECK-NEXT: } 813 // CHECK-NEXT: } 814 // CHECK-NEXT: ] 815 // CHECK-NEXT: } 816 // CHECK-NEXT: ] 817 // CHECK-NEXT: }, 818 // CHECK-NEXT: { 819 // CHECK-NEXT: "id": "0x{{.*}}", 820 // CHECK-NEXT: "kind": "NullStmt", 821 // CHECK-NEXT: "range": { 822 // CHECK-NEXT: "begin": { 823 // CHECK-NEXT: "offset": {{[0-9]+}}, 824 // CHECK-NEXT: "line": 23, 825 // CHECK-NEXT: "col": 5, 826 // CHECK-NEXT: "tokLen": 1 827 // CHECK-NEXT: }, 828 // CHECK-NEXT: "end": { 829 // CHECK-NEXT: "offset": {{[0-9]+}}, 830 // CHECK-NEXT: "col": 5, 831 // CHECK-NEXT: "tokLen": 1 832 // CHECK-NEXT: } 833 // CHECK-NEXT: } 834 // CHECK-NEXT: } 835 // CHECK-NEXT: ] 836 // CHECK-NEXT: } 837 838 839 // CHECK-NOT: {{^}}Dumping 840 // CHECK: "kind": "IfStmt", 841 // CHECK-NEXT: "range": { 842 // CHECK-NEXT: "begin": { 843 // CHECK-NEXT: "offset": {{[0-9]+}}, 844 // CHECK-NEXT: "line": 25, 845 // CHECK-NEXT: "col": 3, 846 // CHECK-NEXT: "tokLen": 2 847 // CHECK-NEXT: }, 848 // CHECK-NEXT: "end": { 849 // CHECK-NEXT: "offset": {{[0-9]+}}, 850 // CHECK-NEXT: "line": 26, 851 // CHECK-NEXT: "col": 5, 852 // CHECK-NEXT: "tokLen": 1 853 // CHECK-NEXT: } 854 // CHECK-NEXT: }, 855 // CHECK-NEXT: "hasInit": true, 856 // CHECK-NEXT: "inner": [ 857 // CHECK-NEXT: { 858 // CHECK-NEXT: "id": "0x{{.*}}", 859 // CHECK-NEXT: "kind": "DeclStmt", 860 // CHECK-NEXT: "range": { 861 // CHECK-NEXT: "begin": { 862 // CHECK-NEXT: "offset": {{[0-9]+}}, 863 // CHECK-NEXT: "line": 25, 864 // CHECK-NEXT: "col": 7, 865 // CHECK-NEXT: "tokLen": 3 866 // CHECK-NEXT: }, 867 // CHECK-NEXT: "end": { 868 // CHECK-NEXT: "offset": {{[0-9]+}}, 869 // CHECK-NEXT: "col": 17, 870 // CHECK-NEXT: "tokLen": 1 871 // CHECK-NEXT: } 872 // CHECK-NEXT: }, 873 // CHECK-NEXT: "inner": [ 874 // CHECK-NEXT: { 875 // CHECK-NEXT: "id": "0x{{.*}}", 876 // CHECK-NEXT: "kind": "VarDecl", 877 // CHECK-NEXT: "loc": { 878 // CHECK-NEXT: "offset": {{[0-9]+}}, 879 // CHECK-NEXT: "col": 11, 880 // CHECK-NEXT: "tokLen": 1 881 // CHECK-NEXT: }, 882 // CHECK-NEXT: "range": { 883 // CHECK-NEXT: "begin": { 884 // CHECK-NEXT: "offset": {{[0-9]+}}, 885 // CHECK-NEXT: "col": 7, 886 // CHECK-NEXT: "tokLen": 3 887 // CHECK-NEXT: }, 888 // CHECK-NEXT: "end": { 889 // CHECK-NEXT: "offset": {{[0-9]+}}, 890 // CHECK-NEXT: "col": 15, 891 // CHECK-NEXT: "tokLen": 2 892 // CHECK-NEXT: } 893 // CHECK-NEXT: }, 894 // CHECK-NEXT: "isUsed": true, 895 // CHECK-NEXT: "name": "i", 896 // CHECK-NEXT: "type": { 897 // CHECK-NEXT: "qualType": "int" 898 // CHECK-NEXT: }, 899 // CHECK-NEXT: "init": "c", 900 // CHECK-NEXT: "inner": [ 901 // CHECK-NEXT: { 902 // CHECK-NEXT: "id": "0x{{.*}}", 903 // CHECK-NEXT: "kind": "IntegerLiteral", 904 // CHECK-NEXT: "range": { 905 // CHECK-NEXT: "begin": { 906 // CHECK-NEXT: "offset": {{[0-9]+}}, 907 // CHECK-NEXT: "col": 15, 908 // CHECK-NEXT: "tokLen": 2 909 // CHECK-NEXT: }, 910 // CHECK-NEXT: "end": { 911 // CHECK-NEXT: "offset": {{[0-9]+}}, 912 // CHECK-NEXT: "col": 15, 913 // CHECK-NEXT: "tokLen": 2 914 // CHECK-NEXT: } 915 // CHECK-NEXT: }, 916 // CHECK-NEXT: "type": { 917 // CHECK-NEXT: "qualType": "int" 918 // CHECK-NEXT: }, 919 // CHECK-NEXT: "valueCategory": "prvalue", 920 // CHECK-NEXT: "value": "12" 921 // CHECK-NEXT: } 922 // CHECK-NEXT: ] 923 // CHECK-NEXT: } 924 // CHECK-NEXT: ] 925 // CHECK-NEXT: }, 926 // CHECK-NEXT: { 927 // CHECK-NEXT: "id": "0x{{.*}}", 928 // CHECK-NEXT: "kind": "ImplicitCastExpr", 929 // CHECK-NEXT: "range": { 930 // CHECK-NEXT: "begin": { 931 // CHECK-NEXT: "offset": {{[0-9]+}}, 932 // CHECK-NEXT: "col": 19, 933 // CHECK-NEXT: "tokLen": 1 934 // CHECK-NEXT: }, 935 // CHECK-NEXT: "end": { 936 // CHECK-NEXT: "offset": {{[0-9]+}}, 937 // CHECK-NEXT: "col": 19, 938 // CHECK-NEXT: "tokLen": 1 939 // CHECK-NEXT: } 940 // CHECK-NEXT: }, 941 // CHECK-NEXT: "type": { 942 // CHECK-NEXT: "qualType": "bool" 943 // CHECK-NEXT: }, 944 // CHECK-NEXT: "valueCategory": "prvalue", 945 // CHECK-NEXT: "castKind": "IntegralToBoolean", 946 // CHECK-NEXT: "inner": [ 947 // CHECK-NEXT: { 948 // CHECK-NEXT: "id": "0x{{.*}}", 949 // CHECK-NEXT: "kind": "ImplicitCastExpr", 950 // CHECK-NEXT: "range": { 951 // CHECK-NEXT: "begin": { 952 // CHECK-NEXT: "offset": {{[0-9]+}}, 953 // CHECK-NEXT: "col": 19, 954 // CHECK-NEXT: "tokLen": 1 955 // CHECK-NEXT: }, 956 // CHECK-NEXT: "end": { 957 // CHECK-NEXT: "offset": {{[0-9]+}}, 958 // CHECK-NEXT: "col": 19, 959 // CHECK-NEXT: "tokLen": 1 960 // CHECK-NEXT: } 961 // CHECK-NEXT: }, 962 // CHECK-NEXT: "type": { 963 // CHECK-NEXT: "qualType": "int" 964 // CHECK-NEXT: }, 965 // CHECK-NEXT: "valueCategory": "prvalue", 966 // CHECK-NEXT: "castKind": "LValueToRValue", 967 // CHECK-NEXT: "inner": [ 968 // CHECK-NEXT: { 969 // CHECK-NEXT: "id": "0x{{.*}}", 970 // CHECK-NEXT: "kind": "DeclRefExpr", 971 // CHECK-NEXT: "range": { 972 // CHECK-NEXT: "begin": { 973 // CHECK-NEXT: "offset": {{[0-9]+}}, 974 // CHECK-NEXT: "col": 19, 975 // CHECK-NEXT: "tokLen": 1 976 // CHECK-NEXT: }, 977 // CHECK-NEXT: "end": { 978 // CHECK-NEXT: "offset": {{[0-9]+}}, 979 // CHECK-NEXT: "col": 19, 980 // CHECK-NEXT: "tokLen": 1 981 // CHECK-NEXT: } 982 // CHECK-NEXT: }, 983 // CHECK-NEXT: "type": { 984 // CHECK-NEXT: "qualType": "int" 985 // CHECK-NEXT: }, 986 // CHECK-NEXT: "valueCategory": "lvalue", 987 // CHECK-NEXT: "referencedDecl": { 988 // CHECK-NEXT: "id": "0x{{.*}}", 989 // CHECK-NEXT: "kind": "VarDecl", 990 // CHECK-NEXT: "name": "i", 991 // CHECK-NEXT: "type": { 992 // CHECK-NEXT: "qualType": "int" 993 // CHECK-NEXT: } 994 // CHECK-NEXT: } 995 // CHECK-NEXT: } 996 // CHECK-NEXT: ] 997 // CHECK-NEXT: } 998 // CHECK-NEXT: ] 999 // CHECK-NEXT: }, 1000 // CHECK-NEXT: { 1001 // CHECK-NEXT: "id": "0x{{.*}}", 1002 // CHECK-NEXT: "kind": "NullStmt", 1003 // CHECK-NEXT: "range": { 1004 // CHECK-NEXT: "begin": { 1005 // CHECK-NEXT: "offset": {{[0-9]+}}, 1006 // CHECK-NEXT: "line": 26, 1007 // CHECK-NEXT: "col": 5, 1008 // CHECK-NEXT: "tokLen": 1 1009 // CHECK-NEXT: }, 1010 // CHECK-NEXT: "end": { 1011 // CHECK-NEXT: "offset": {{[0-9]+}}, 1012 // CHECK-NEXT: "col": 5, 1013 // CHECK-NEXT: "tokLen": 1 1014 // CHECK-NEXT: } 1015 // CHECK-NEXT: } 1016 // CHECK-NEXT: } 1017 // CHECK-NEXT: ] 1018 // CHECK-NEXT: } 1019 1020 1021 // CHECK-NOT: {{^}}Dumping 1022 // CHECK: "kind": "IfStmt", 1023 // CHECK-NEXT: "range": { 1024 // CHECK-NEXT: "begin": { 1025 // CHECK-NEXT: "offset": {{[0-9]+}}, 1026 // CHECK-NEXT: "line": 28, 1027 // CHECK-NEXT: "col": 3, 1028 // CHECK-NEXT: "tokLen": 2 1029 // CHECK-NEXT: }, 1030 // CHECK-NEXT: "end": { 1031 // CHECK-NEXT: "offset": {{[0-9]+}}, 1032 // CHECK-NEXT: "col": 17, 1033 // CHECK-NEXT: "tokLen": 1 1034 // CHECK-NEXT: } 1035 // CHECK-NEXT: }, 1036 // CHECK-NEXT: "isConsteval": true, 1037 // CHECK-NEXT: "inner": [ 1038 // CHECK-NEXT: { 1039 // CHECK-NEXT: "id": "0x{{.*}}", 1040 // CHECK-NEXT: "kind": "CompoundStmt", 1041 // CHECK-NEXT: "range": { 1042 // CHECK-NEXT: "begin": { 1043 // CHECK-NEXT: "offset": {{[0-9]+}}, 1044 // CHECK-NEXT: "col": 16, 1045 // CHECK-NEXT: "tokLen": 1 1046 // CHECK-NEXT: }, 1047 // CHECK-NEXT: "end": { 1048 // CHECK-NEXT: "offset": {{[0-9]+}}, 1049 // CHECK-NEXT: "col": 17, 1050 // CHECK-NEXT: "tokLen": 1 1051 // CHECK-NEXT: } 1052 // CHECK-NEXT: } 1053 // CHECK-NEXT: } 1054 // CHECK-NEXT: ] 1055 // CHECK-NEXT: } 1056 1057 1058 // CHECK-NOT: {{^}}Dumping 1059 // CHECK: "kind": "IfStmt", 1060 // CHECK-NEXT: "range": { 1061 // CHECK-NEXT: "begin": { 1062 // CHECK-NEXT: "offset": {{[0-9]+}}, 1063 // CHECK-NEXT: "line": 30, 1064 // CHECK-NEXT: "col": 3, 1065 // CHECK-NEXT: "tokLen": 2 1066 // CHECK-NEXT: }, 1067 // CHECK-NEXT: "end": { 1068 // CHECK-NEXT: "offset": {{[0-9]+}}, 1069 // CHECK-NEXT: "col": 25, 1070 // CHECK-NEXT: "tokLen": 1 1071 // CHECK-NEXT: } 1072 // CHECK-NEXT: }, 1073 // CHECK-NEXT: "hasElse": true, 1074 // CHECK-NEXT: "isConsteval": true, 1075 // CHECK-NEXT: "inner": [ 1076 // CHECK-NEXT: { 1077 // CHECK-NEXT: "id": "0x{{.*}}", 1078 // CHECK-NEXT: "kind": "CompoundStmt", 1079 // CHECK-NEXT: "range": { 1080 // CHECK-NEXT: "begin": { 1081 // CHECK-NEXT: "offset": {{[0-9]+}}, 1082 // CHECK-NEXT: "col": 16, 1083 // CHECK-NEXT: "tokLen": 1 1084 // CHECK-NEXT: }, 1085 // CHECK-NEXT: "end": { 1086 // CHECK-NEXT: "offset": {{[0-9]+}}, 1087 // CHECK-NEXT: "col": 17, 1088 // CHECK-NEXT: "tokLen": 1 1089 // CHECK-NEXT: } 1090 // CHECK-NEXT: } 1091 // CHECK-NEXT: }, 1092 // CHECK-NEXT: { 1093 // CHECK-NEXT: "id": "0x{{.*}}", 1094 // CHECK-NEXT: "kind": "CompoundStmt", 1095 // CHECK-NEXT: "range": { 1096 // CHECK-NEXT: "begin": { 1097 // CHECK-NEXT: "offset": {{[0-9]+}}, 1098 // CHECK-NEXT: "col": 24, 1099 // CHECK-NEXT: "tokLen": 1 1100 // CHECK-NEXT: }, 1101 // CHECK-NEXT: "end": { 1102 // CHECK-NEXT: "offset": {{[0-9]+}}, 1103 // CHECK-NEXT: "col": 25, 1104 // CHECK-NEXT: "tokLen": 1 1105 // CHECK-NEXT: } 1106 // CHECK-NEXT: } 1107 // CHECK-NEXT: } 1108 // CHECK-NEXT: ] 1109 // CHECK-NEXT: } 1110 1111 1112 // CHECK-NOT: {{^}}Dumping 1113 // CHECK: "kind": "IfStmt", 1114 // CHECK-NEXT: "range": { 1115 // CHECK-NEXT: "begin": { 1116 // CHECK-NEXT: "offset": {{[0-9]+}}, 1117 // CHECK-NEXT: "line": 32, 1118 // CHECK-NEXT: "col": 3, 1119 // CHECK-NEXT: "tokLen": 2 1120 // CHECK-NEXT: }, 1121 // CHECK-NEXT: "end": { 1122 // CHECK-NEXT: "offset": {{[0-9]+}}, 1123 // CHECK-NEXT: "col": 21, 1124 // CHECK-NEXT: "tokLen": 1 1125 // CHECK-NEXT: } 1126 // CHECK-NEXT: }, 1127 // CHECK-NEXT: "isConsteval": true, 1128 // CHECK-NEXT: "constevalIsNegated": true, 1129 // CHECK-NEXT: "inner": [ 1130 // CHECK-NEXT: { 1131 // CHECK-NEXT: "id": "0x{{.*}}", 1132 // CHECK-NEXT: "kind": "CompoundStmt", 1133 // CHECK-NEXT: "range": { 1134 // CHECK-NEXT: "begin": { 1135 // CHECK-NEXT: "offset": {{[0-9]+}}, 1136 // CHECK-NEXT: "col": 20, 1137 // CHECK-NEXT: "tokLen": 1 1138 // CHECK-NEXT: }, 1139 // CHECK-NEXT: "end": { 1140 // CHECK-NEXT: "offset": {{[0-9]+}}, 1141 // CHECK-NEXT: "col": 21, 1142 // CHECK-NEXT: "tokLen": 1 1143 // CHECK-NEXT: } 1144 // CHECK-NEXT: } 1145 // CHECK-NEXT: } 1146 // CHECK-NEXT: ] 1147 // CHECK-NEXT: } 1148 1149 1150 // CHECK-NOT: {{^}}Dumping 1151 // CHECK: "kind": "IfStmt", 1152 // CHECK-NEXT: "range": { 1153 // CHECK-NEXT: "begin": { 1154 // CHECK-NEXT: "offset": {{[0-9]+}}, 1155 // CHECK-NEXT: "line": 34, 1156 // CHECK-NEXT: "col": 3, 1157 // CHECK-NEXT: "tokLen": 2 1158 // CHECK-NEXT: }, 1159 // CHECK-NEXT: "end": { 1160 // CHECK-NEXT: "offset": {{[0-9]+}}, 1161 // CHECK-NEXT: "col": 29, 1162 // CHECK-NEXT: "tokLen": 1 1163 // CHECK-NEXT: } 1164 // CHECK-NEXT: }, 1165 // CHECK-NEXT: "hasElse": true, 1166 // CHECK-NEXT: "isConsteval": true, 1167 // CHECK-NEXT: "constevalIsNegated": true, 1168 // CHECK-NEXT: "inner": [ 1169 // CHECK-NEXT: { 1170 // CHECK-NEXT: "id": "0x{{.*}}", 1171 // CHECK-NEXT: "kind": "CompoundStmt", 1172 // CHECK-NEXT: "range": { 1173 // CHECK-NEXT: "begin": { 1174 // CHECK-NEXT: "offset": {{[0-9]+}}, 1175 // CHECK-NEXT: "col": 20, 1176 // CHECK-NEXT: "tokLen": 1 1177 // CHECK-NEXT: }, 1178 // CHECK-NEXT: "end": { 1179 // CHECK-NEXT: "offset": {{[0-9]+}}, 1180 // CHECK-NEXT: "col": 21, 1181 // CHECK-NEXT: "tokLen": 1 1182 // CHECK-NEXT: } 1183 // CHECK-NEXT: } 1184 // CHECK-NEXT: }, 1185 // CHECK-NEXT: { 1186 // CHECK-NEXT: "id": "0x{{.*}}", 1187 // CHECK-NEXT: "kind": "CompoundStmt", 1188 // CHECK-NEXT: "range": { 1189 // CHECK-NEXT: "begin": { 1190 // CHECK-NEXT: "offset": {{[0-9]+}}, 1191 // CHECK-NEXT: "col": 28, 1192 // CHECK-NEXT: "tokLen": 1 1193 // CHECK-NEXT: }, 1194 // CHECK-NEXT: "end": { 1195 // CHECK-NEXT: "offset": {{[0-9]+}}, 1196 // CHECK-NEXT: "col": 29, 1197 // CHECK-NEXT: "tokLen": 1 1198 // CHECK-NEXT: } 1199 // CHECK-NEXT: } 1200 // CHECK-NEXT: } 1201 // CHECK-NEXT: ] 1202 // CHECK-NEXT: } 1203