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": 111, 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": 124, 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": 115, 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": 115, 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": 115, 86 // CHECK-NEXT: "col": 7, 87 // CHECK-NEXT: "tokLen": 3 88 // CHECK-NEXT: }, 89 // CHECK-NEXT: "end": { 90 // CHECK-NEXT: "offset": 115, 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": 115, 107 // CHECK-NEXT: "col": 7, 108 // CHECK-NEXT: "tokLen": 3 109 // CHECK-NEXT: }, 110 // CHECK-NEXT: "end": { 111 // CHECK-NEXT: "offset": 115, 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": 124, 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": 124, 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": 129, 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": 155, 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": 133, 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": 133, 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": 133, 200 // CHECK-NEXT: "col": 7, 201 // CHECK-NEXT: "tokLen": 3 202 // CHECK-NEXT: }, 203 // CHECK-NEXT: "end": { 204 // CHECK-NEXT: "offset": 133, 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": 133, 221 // CHECK-NEXT: "col": 7, 222 // CHECK-NEXT: "tokLen": 3 223 // CHECK-NEXT: }, 224 // CHECK-NEXT: "end": { 225 // CHECK-NEXT: "offset": 133, 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": 142, 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": 142, 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": 155, 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": 155, 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": 160, 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": 208, 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": 164, 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": 164, 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": 164, 331 // CHECK-NEXT: "col": 7, 332 // CHECK-NEXT: "tokLen": 3 333 // CHECK-NEXT: }, 334 // CHECK-NEXT: "end": { 335 // CHECK-NEXT: "offset": 164, 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": 164, 352 // CHECK-NEXT: "col": 7, 353 // CHECK-NEXT: "tokLen": 3 354 // CHECK-NEXT: }, 355 // CHECK-NEXT: "end": { 356 // CHECK-NEXT: "offset": 164, 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": 173, 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": 173, 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": 182, 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": 208, 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": 186, 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": 186, 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": 186, 442 // CHECK-NEXT: "col": 12, 443 // CHECK-NEXT: "tokLen": 3 444 // CHECK-NEXT: }, 445 // CHECK-NEXT: "end": { 446 // CHECK-NEXT: "offset": 186, 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": 186, 463 // CHECK-NEXT: "col": 12, 464 // CHECK-NEXT: "tokLen": 3 465 // CHECK-NEXT: }, 466 // CHECK-NEXT: "end": { 467 // CHECK-NEXT: "offset": 186, 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": 195, 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": 195, 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": 208, 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": 208, 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": 213, 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": 240, 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": 226, 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": 232, 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": 226, 575 // CHECK-NEXT: "col": 16, 576 // CHECK-NEXT: "tokLen": 2 577 // CHECK-NEXT: }, 578 // CHECK-NEXT: "end": { 579 // CHECK-NEXT: "offset": 232, 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": 226, 596 // CHECK-NEXT: "col": 16, 597 // CHECK-NEXT: "tokLen": 2 598 // CHECK-NEXT: }, 599 // CHECK-NEXT: "end": { 600 // CHECK-NEXT: "offset": 226, 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": 232, 617 // CHECK-NEXT: "col": 22, 618 // CHECK-NEXT: "tokLen": 2 619 // CHECK-NEXT: }, 620 // CHECK-NEXT: "end": { 621 // CHECK-NEXT: "offset": 232, 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": 240, 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": 240, 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": 245, 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": 265, 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": 249, 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": 257, 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": 253, 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": 249, 703 // CHECK-NEXT: "col": 7, 704 // CHECK-NEXT: "tokLen": 3 705 // CHECK-NEXT: }, 706 // CHECK-NEXT: "end": { 707 // CHECK-NEXT: "offset": 257, 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: "mangledName": "_ZZ4funciE1i", 715 // CHECK-NEXT: "type": { 716 // CHECK-NEXT: "qualType": "int" 717 // CHECK-NEXT: }, 718 // CHECK-NEXT: "init": "c", 719 // CHECK-NEXT: "inner": [ 720 // CHECK-NEXT: { 721 // CHECK-NEXT: "id": "0x{{.*}}", 722 // CHECK-NEXT: "kind": "IntegerLiteral", 723 // CHECK-NEXT: "range": { 724 // CHECK-NEXT: "begin": { 725 // CHECK-NEXT: "offset": 257, 726 // CHECK-NEXT: "col": 15, 727 // CHECK-NEXT: "tokLen": 2 728 // CHECK-NEXT: }, 729 // CHECK-NEXT: "end": { 730 // CHECK-NEXT: "offset": 257, 731 // CHECK-NEXT: "col": 15, 732 // CHECK-NEXT: "tokLen": 2 733 // CHECK-NEXT: } 734 // CHECK-NEXT: }, 735 // CHECK-NEXT: "type": { 736 // CHECK-NEXT: "qualType": "int" 737 // CHECK-NEXT: }, 738 // CHECK-NEXT: "valueCategory": "prvalue", 739 // CHECK-NEXT: "value": "12" 740 // CHECK-NEXT: } 741 // CHECK-NEXT: ] 742 // CHECK-NEXT: } 743 // CHECK-NEXT: ] 744 // CHECK-NEXT: }, 745 // CHECK-NEXT: { 746 // CHECK-NEXT: "id": "0x{{.*}}", 747 // CHECK-NEXT: "kind": "ImplicitCastExpr", 748 // CHECK-NEXT: "range": { 749 // CHECK-NEXT: "begin": { 750 // CHECK-NEXT: "offset": 253, 751 // CHECK-NEXT: "col": 11, 752 // CHECK-NEXT: "tokLen": 1 753 // CHECK-NEXT: }, 754 // CHECK-NEXT: "end": { 755 // CHECK-NEXT: "offset": 253, 756 // CHECK-NEXT: "col": 11, 757 // CHECK-NEXT: "tokLen": 1 758 // CHECK-NEXT: } 759 // CHECK-NEXT: }, 760 // CHECK-NEXT: "type": { 761 // CHECK-NEXT: "qualType": "bool" 762 // CHECK-NEXT: }, 763 // CHECK-NEXT: "valueCategory": "prvalue", 764 // CHECK-NEXT: "castKind": "IntegralToBoolean", 765 // CHECK-NEXT: "inner": [ 766 // CHECK-NEXT: { 767 // CHECK-NEXT: "id": "0x{{.*}}", 768 // CHECK-NEXT: "kind": "ImplicitCastExpr", 769 // CHECK-NEXT: "range": { 770 // CHECK-NEXT: "begin": { 771 // CHECK-NEXT: "offset": 253, 772 // CHECK-NEXT: "col": 11, 773 // CHECK-NEXT: "tokLen": 1 774 // CHECK-NEXT: }, 775 // CHECK-NEXT: "end": { 776 // CHECK-NEXT: "offset": 253, 777 // CHECK-NEXT: "col": 11, 778 // CHECK-NEXT: "tokLen": 1 779 // CHECK-NEXT: } 780 // CHECK-NEXT: }, 781 // CHECK-NEXT: "type": { 782 // CHECK-NEXT: "qualType": "int" 783 // CHECK-NEXT: }, 784 // CHECK-NEXT: "valueCategory": "prvalue", 785 // CHECK-NEXT: "castKind": "LValueToRValue", 786 // CHECK-NEXT: "inner": [ 787 // CHECK-NEXT: { 788 // CHECK-NEXT: "id": "0x{{.*}}", 789 // CHECK-NEXT: "kind": "DeclRefExpr", 790 // CHECK-NEXT: "range": { 791 // CHECK-NEXT: "begin": { 792 // CHECK-NEXT: "offset": 253, 793 // CHECK-NEXT: "col": 11, 794 // CHECK-NEXT: "tokLen": 1 795 // CHECK-NEXT: }, 796 // CHECK-NEXT: "end": { 797 // CHECK-NEXT: "offset": 253, 798 // CHECK-NEXT: "col": 11, 799 // CHECK-NEXT: "tokLen": 1 800 // CHECK-NEXT: } 801 // CHECK-NEXT: }, 802 // CHECK-NEXT: "type": { 803 // CHECK-NEXT: "qualType": "int" 804 // CHECK-NEXT: }, 805 // CHECK-NEXT: "valueCategory": "lvalue", 806 // CHECK-NEXT: "referencedDecl": { 807 // CHECK-NEXT: "id": "0x{{.*}}", 808 // CHECK-NEXT: "kind": "VarDecl", 809 // CHECK-NEXT: "name": "i", 810 // CHECK-NEXT: "type": { 811 // CHECK-NEXT: "qualType": "int" 812 // CHECK-NEXT: } 813 // CHECK-NEXT: } 814 // CHECK-NEXT: } 815 // CHECK-NEXT: ] 816 // CHECK-NEXT: } 817 // CHECK-NEXT: ] 818 // CHECK-NEXT: }, 819 // CHECK-NEXT: { 820 // CHECK-NEXT: "id": "0x{{.*}}", 821 // CHECK-NEXT: "kind": "NullStmt", 822 // CHECK-NEXT: "range": { 823 // CHECK-NEXT: "begin": { 824 // CHECK-NEXT: "offset": 265, 825 // CHECK-NEXT: "line": 23, 826 // CHECK-NEXT: "col": 5, 827 // CHECK-NEXT: "tokLen": 1 828 // CHECK-NEXT: }, 829 // CHECK-NEXT: "end": { 830 // CHECK-NEXT: "offset": 265, 831 // CHECK-NEXT: "col": 5, 832 // CHECK-NEXT: "tokLen": 1 833 // CHECK-NEXT: } 834 // CHECK-NEXT: } 835 // CHECK-NEXT: } 836 // CHECK-NEXT: ] 837 // CHECK-NEXT: } 838 839 840 // CHECK-NOT: {{^}}Dumping 841 // CHECK: "kind": "IfStmt", 842 // CHECK-NEXT: "range": { 843 // CHECK-NEXT: "begin": { 844 // CHECK-NEXT: "offset": 270, 845 // CHECK-NEXT: "line": 25, 846 // CHECK-NEXT: "col": 3, 847 // CHECK-NEXT: "tokLen": 2 848 // CHECK-NEXT: }, 849 // CHECK-NEXT: "end": { 850 // CHECK-NEXT: "offset": 293, 851 // CHECK-NEXT: "line": 26, 852 // CHECK-NEXT: "col": 5, 853 // CHECK-NEXT: "tokLen": 1 854 // CHECK-NEXT: } 855 // CHECK-NEXT: }, 856 // CHECK-NEXT: "hasInit": true, 857 // CHECK-NEXT: "inner": [ 858 // CHECK-NEXT: { 859 // CHECK-NEXT: "id": "0x{{.*}}", 860 // CHECK-NEXT: "kind": "DeclStmt", 861 // CHECK-NEXT: "range": { 862 // CHECK-NEXT: "begin": { 863 // CHECK-NEXT: "offset": 274, 864 // CHECK-NEXT: "line": 25, 865 // CHECK-NEXT: "col": 7, 866 // CHECK-NEXT: "tokLen": 3 867 // CHECK-NEXT: }, 868 // CHECK-NEXT: "end": { 869 // CHECK-NEXT: "offset": 284, 870 // CHECK-NEXT: "col": 17, 871 // CHECK-NEXT: "tokLen": 1 872 // CHECK-NEXT: } 873 // CHECK-NEXT: }, 874 // CHECK-NEXT: "inner": [ 875 // CHECK-NEXT: { 876 // CHECK-NEXT: "id": "0x{{.*}}", 877 // CHECK-NEXT: "kind": "VarDecl", 878 // CHECK-NEXT: "loc": { 879 // CHECK-NEXT: "offset": 278, 880 // CHECK-NEXT: "col": 11, 881 // CHECK-NEXT: "tokLen": 1 882 // CHECK-NEXT: }, 883 // CHECK-NEXT: "range": { 884 // CHECK-NEXT: "begin": { 885 // CHECK-NEXT: "offset": 274, 886 // CHECK-NEXT: "col": 7, 887 // CHECK-NEXT: "tokLen": 3 888 // CHECK-NEXT: }, 889 // CHECK-NEXT: "end": { 890 // CHECK-NEXT: "offset": 282, 891 // CHECK-NEXT: "col": 15, 892 // CHECK-NEXT: "tokLen": 2 893 // CHECK-NEXT: } 894 // CHECK-NEXT: }, 895 // CHECK-NEXT: "isUsed": true, 896 // CHECK-NEXT: "name": "i", 897 // CHECK-NEXT: "mangledName": "_ZZ4funciE1i_0", 898 // CHECK-NEXT: "type": { 899 // CHECK-NEXT: "qualType": "int" 900 // CHECK-NEXT: }, 901 // CHECK-NEXT: "init": "c", 902 // CHECK-NEXT: "inner": [ 903 // CHECK-NEXT: { 904 // CHECK-NEXT: "id": "0x{{.*}}", 905 // CHECK-NEXT: "kind": "IntegerLiteral", 906 // CHECK-NEXT: "range": { 907 // CHECK-NEXT: "begin": { 908 // CHECK-NEXT: "offset": 282, 909 // CHECK-NEXT: "col": 15, 910 // CHECK-NEXT: "tokLen": 2 911 // CHECK-NEXT: }, 912 // CHECK-NEXT: "end": { 913 // CHECK-NEXT: "offset": 282, 914 // CHECK-NEXT: "col": 15, 915 // CHECK-NEXT: "tokLen": 2 916 // CHECK-NEXT: } 917 // CHECK-NEXT: }, 918 // CHECK-NEXT: "type": { 919 // CHECK-NEXT: "qualType": "int" 920 // CHECK-NEXT: }, 921 // CHECK-NEXT: "valueCategory": "prvalue", 922 // CHECK-NEXT: "value": "12" 923 // CHECK-NEXT: } 924 // CHECK-NEXT: ] 925 // CHECK-NEXT: } 926 // CHECK-NEXT: ] 927 // CHECK-NEXT: }, 928 // CHECK-NEXT: { 929 // CHECK-NEXT: "id": "0x{{.*}}", 930 // CHECK-NEXT: "kind": "ImplicitCastExpr", 931 // CHECK-NEXT: "range": { 932 // CHECK-NEXT: "begin": { 933 // CHECK-NEXT: "offset": 286, 934 // CHECK-NEXT: "col": 19, 935 // CHECK-NEXT: "tokLen": 1 936 // CHECK-NEXT: }, 937 // CHECK-NEXT: "end": { 938 // CHECK-NEXT: "offset": 286, 939 // CHECK-NEXT: "col": 19, 940 // CHECK-NEXT: "tokLen": 1 941 // CHECK-NEXT: } 942 // CHECK-NEXT: }, 943 // CHECK-NEXT: "type": { 944 // CHECK-NEXT: "qualType": "bool" 945 // CHECK-NEXT: }, 946 // CHECK-NEXT: "valueCategory": "prvalue", 947 // CHECK-NEXT: "castKind": "IntegralToBoolean", 948 // CHECK-NEXT: "inner": [ 949 // CHECK-NEXT: { 950 // CHECK-NEXT: "id": "0x{{.*}}", 951 // CHECK-NEXT: "kind": "ImplicitCastExpr", 952 // CHECK-NEXT: "range": { 953 // CHECK-NEXT: "begin": { 954 // CHECK-NEXT: "offset": 286, 955 // CHECK-NEXT: "col": 19, 956 // CHECK-NEXT: "tokLen": 1 957 // CHECK-NEXT: }, 958 // CHECK-NEXT: "end": { 959 // CHECK-NEXT: "offset": 286, 960 // CHECK-NEXT: "col": 19, 961 // CHECK-NEXT: "tokLen": 1 962 // CHECK-NEXT: } 963 // CHECK-NEXT: }, 964 // CHECK-NEXT: "type": { 965 // CHECK-NEXT: "qualType": "int" 966 // CHECK-NEXT: }, 967 // CHECK-NEXT: "valueCategory": "prvalue", 968 // CHECK-NEXT: "castKind": "LValueToRValue", 969 // CHECK-NEXT: "inner": [ 970 // CHECK-NEXT: { 971 // CHECK-NEXT: "id": "0x{{.*}}", 972 // CHECK-NEXT: "kind": "DeclRefExpr", 973 // CHECK-NEXT: "range": { 974 // CHECK-NEXT: "begin": { 975 // CHECK-NEXT: "offset": 286, 976 // CHECK-NEXT: "col": 19, 977 // CHECK-NEXT: "tokLen": 1 978 // CHECK-NEXT: }, 979 // CHECK-NEXT: "end": { 980 // CHECK-NEXT: "offset": 286, 981 // CHECK-NEXT: "col": 19, 982 // CHECK-NEXT: "tokLen": 1 983 // CHECK-NEXT: } 984 // CHECK-NEXT: }, 985 // CHECK-NEXT: "type": { 986 // CHECK-NEXT: "qualType": "int" 987 // CHECK-NEXT: }, 988 // CHECK-NEXT: "valueCategory": "lvalue", 989 // CHECK-NEXT: "referencedDecl": { 990 // CHECK-NEXT: "id": "0x{{.*}}", 991 // CHECK-NEXT: "kind": "VarDecl", 992 // CHECK-NEXT: "name": "i", 993 // CHECK-NEXT: "type": { 994 // CHECK-NEXT: "qualType": "int" 995 // CHECK-NEXT: } 996 // CHECK-NEXT: } 997 // CHECK-NEXT: } 998 // CHECK-NEXT: ] 999 // CHECK-NEXT: } 1000 // CHECK-NEXT: ] 1001 // CHECK-NEXT: }, 1002 // CHECK-NEXT: { 1003 // CHECK-NEXT: "id": "0x{{.*}}", 1004 // CHECK-NEXT: "kind": "NullStmt", 1005 // CHECK-NEXT: "range": { 1006 // CHECK-NEXT: "begin": { 1007 // CHECK-NEXT: "offset": 293, 1008 // CHECK-NEXT: "line": 26, 1009 // CHECK-NEXT: "col": 5, 1010 // CHECK-NEXT: "tokLen": 1 1011 // CHECK-NEXT: }, 1012 // CHECK-NEXT: "end": { 1013 // CHECK-NEXT: "offset": 293, 1014 // CHECK-NEXT: "col": 5, 1015 // CHECK-NEXT: "tokLen": 1 1016 // CHECK-NEXT: } 1017 // CHECK-NEXT: } 1018 // CHECK-NEXT: } 1019 // CHECK-NEXT: ] 1020 // CHECK-NEXT: } 1021 1022 1023 // CHECK-NOT: {{^}}Dumping 1024 // CHECK: "kind": "IfStmt", 1025 // CHECK-NEXT: "range": { 1026 // CHECK-NEXT: "begin": { 1027 // CHECK-NEXT: "offset": 298, 1028 // CHECK-NEXT: "line": 28, 1029 // CHECK-NEXT: "col": 3, 1030 // CHECK-NEXT: "tokLen": 2 1031 // CHECK-NEXT: }, 1032 // CHECK-NEXT: "end": { 1033 // CHECK-NEXT: "offset": 312, 1034 // CHECK-NEXT: "col": 17, 1035 // CHECK-NEXT: "tokLen": 1 1036 // CHECK-NEXT: } 1037 // CHECK-NEXT: }, 1038 // CHECK-NEXT: "isConsteval": true, 1039 // CHECK-NEXT: "inner": [ 1040 // CHECK-NEXT: { 1041 // CHECK-NEXT: "id": "0x{{.*}}", 1042 // CHECK-NEXT: "kind": "CompoundStmt", 1043 // CHECK-NEXT: "range": { 1044 // CHECK-NEXT: "begin": { 1045 // CHECK-NEXT: "offset": 311, 1046 // CHECK-NEXT: "col": 16, 1047 // CHECK-NEXT: "tokLen": 1 1048 // CHECK-NEXT: }, 1049 // CHECK-NEXT: "end": { 1050 // CHECK-NEXT: "offset": 312, 1051 // CHECK-NEXT: "col": 17, 1052 // CHECK-NEXT: "tokLen": 1 1053 // CHECK-NEXT: } 1054 // CHECK-NEXT: } 1055 // CHECK-NEXT: } 1056 // CHECK-NEXT: ] 1057 // CHECK-NEXT: } 1058 1059 1060 // CHECK-NOT: {{^}}Dumping 1061 // CHECK: "kind": "IfStmt", 1062 // CHECK-NEXT: "range": { 1063 // CHECK-NEXT: "begin": { 1064 // CHECK-NEXT: "offset": 317, 1065 // CHECK-NEXT: "line": 30, 1066 // CHECK-NEXT: "col": 3, 1067 // CHECK-NEXT: "tokLen": 2 1068 // CHECK-NEXT: }, 1069 // CHECK-NEXT: "end": { 1070 // CHECK-NEXT: "offset": 339, 1071 // CHECK-NEXT: "col": 25, 1072 // CHECK-NEXT: "tokLen": 1 1073 // CHECK-NEXT: } 1074 // CHECK-NEXT: }, 1075 // CHECK-NEXT: "hasElse": true, 1076 // CHECK-NEXT: "isConsteval": true, 1077 // CHECK-NEXT: "inner": [ 1078 // CHECK-NEXT: { 1079 // CHECK-NEXT: "id": "0x{{.*}}", 1080 // CHECK-NEXT: "kind": "CompoundStmt", 1081 // CHECK-NEXT: "range": { 1082 // CHECK-NEXT: "begin": { 1083 // CHECK-NEXT: "offset": 330, 1084 // CHECK-NEXT: "col": 16, 1085 // CHECK-NEXT: "tokLen": 1 1086 // CHECK-NEXT: }, 1087 // CHECK-NEXT: "end": { 1088 // CHECK-NEXT: "offset": 331, 1089 // CHECK-NEXT: "col": 17, 1090 // CHECK-NEXT: "tokLen": 1 1091 // CHECK-NEXT: } 1092 // CHECK-NEXT: } 1093 // CHECK-NEXT: }, 1094 // CHECK-NEXT: { 1095 // CHECK-NEXT: "id": "0x{{.*}}", 1096 // CHECK-NEXT: "kind": "CompoundStmt", 1097 // CHECK-NEXT: "range": { 1098 // CHECK-NEXT: "begin": { 1099 // CHECK-NEXT: "offset": 338, 1100 // CHECK-NEXT: "col": 24, 1101 // CHECK-NEXT: "tokLen": 1 1102 // CHECK-NEXT: }, 1103 // CHECK-NEXT: "end": { 1104 // CHECK-NEXT: "offset": 339, 1105 // CHECK-NEXT: "col": 25, 1106 // CHECK-NEXT: "tokLen": 1 1107 // CHECK-NEXT: } 1108 // CHECK-NEXT: } 1109 // CHECK-NEXT: } 1110 // CHECK-NEXT: ] 1111 // CHECK-NEXT: } 1112 1113 1114 // CHECK-NOT: {{^}}Dumping 1115 // CHECK: "kind": "IfStmt", 1116 // CHECK-NEXT: "range": { 1117 // CHECK-NEXT: "begin": { 1118 // CHECK-NEXT: "offset": 344, 1119 // CHECK-NEXT: "line": 32, 1120 // CHECK-NEXT: "col": 3, 1121 // CHECK-NEXT: "tokLen": 2 1122 // CHECK-NEXT: }, 1123 // CHECK-NEXT: "end": { 1124 // CHECK-NEXT: "offset": 362, 1125 // CHECK-NEXT: "col": 21, 1126 // CHECK-NEXT: "tokLen": 1 1127 // CHECK-NEXT: } 1128 // CHECK-NEXT: }, 1129 // CHECK-NEXT: "isConsteval": true, 1130 // CHECK-NEXT: "constevalIsNegated": true, 1131 // CHECK-NEXT: "inner": [ 1132 // CHECK-NEXT: { 1133 // CHECK-NEXT: "id": "0x{{.*}}", 1134 // CHECK-NEXT: "kind": "CompoundStmt", 1135 // CHECK-NEXT: "range": { 1136 // CHECK-NEXT: "begin": { 1137 // CHECK-NEXT: "offset": 361, 1138 // CHECK-NEXT: "col": 20, 1139 // CHECK-NEXT: "tokLen": 1 1140 // CHECK-NEXT: }, 1141 // CHECK-NEXT: "end": { 1142 // CHECK-NEXT: "offset": 362, 1143 // CHECK-NEXT: "col": 21, 1144 // CHECK-NEXT: "tokLen": 1 1145 // CHECK-NEXT: } 1146 // CHECK-NEXT: } 1147 // CHECK-NEXT: } 1148 // CHECK-NEXT: ] 1149 // CHECK-NEXT: } 1150 1151 1152 // CHECK-NOT: {{^}}Dumping 1153 // CHECK: "kind": "IfStmt", 1154 // CHECK-NEXT: "range": { 1155 // CHECK-NEXT: "begin": { 1156 // CHECK-NEXT: "offset": 367, 1157 // CHECK-NEXT: "line": 34, 1158 // CHECK-NEXT: "col": 3, 1159 // CHECK-NEXT: "tokLen": 2 1160 // CHECK-NEXT: }, 1161 // CHECK-NEXT: "end": { 1162 // CHECK-NEXT: "offset": 393, 1163 // CHECK-NEXT: "col": 29, 1164 // CHECK-NEXT: "tokLen": 1 1165 // CHECK-NEXT: } 1166 // CHECK-NEXT: }, 1167 // CHECK-NEXT: "hasElse": true, 1168 // CHECK-NEXT: "isConsteval": true, 1169 // CHECK-NEXT: "constevalIsNegated": true, 1170 // CHECK-NEXT: "inner": [ 1171 // CHECK-NEXT: { 1172 // CHECK-NEXT: "id": "0x{{.*}}", 1173 // CHECK-NEXT: "kind": "CompoundStmt", 1174 // CHECK-NEXT: "range": { 1175 // CHECK-NEXT: "begin": { 1176 // CHECK-NEXT: "offset": 384, 1177 // CHECK-NEXT: "col": 20, 1178 // CHECK-NEXT: "tokLen": 1 1179 // CHECK-NEXT: }, 1180 // CHECK-NEXT: "end": { 1181 // CHECK-NEXT: "offset": 385, 1182 // CHECK-NEXT: "col": 21, 1183 // CHECK-NEXT: "tokLen": 1 1184 // CHECK-NEXT: } 1185 // CHECK-NEXT: } 1186 // CHECK-NEXT: }, 1187 // CHECK-NEXT: { 1188 // CHECK-NEXT: "id": "0x{{.*}}", 1189 // CHECK-NEXT: "kind": "CompoundStmt", 1190 // CHECK-NEXT: "range": { 1191 // CHECK-NEXT: "begin": { 1192 // CHECK-NEXT: "offset": 392, 1193 // CHECK-NEXT: "col": 28, 1194 // CHECK-NEXT: "tokLen": 1 1195 // CHECK-NEXT: }, 1196 // CHECK-NEXT: "end": { 1197 // CHECK-NEXT: "offset": 393, 1198 // CHECK-NEXT: "col": 29, 1199 // CHECK-NEXT: "tokLen": 1 1200 // CHECK-NEXT: } 1201 // CHECK-NEXT: } 1202 // CHECK-NEXT: } 1203 // CHECK-NEXT: ] 1204 // CHECK-NEXT: } 1205