annotate vendor/nikic/php-parser/test/code/parser/expr/constant_expr.test @ 2:92f882872392

Trusted hosts, + remove migration modules
author Chris Cannam
date Tue, 05 Dec 2017 09:26:43 +0000
parents 4c8ae668cc8c
children 5fb285c0d0e3
rev   line source
Chris@0 1 Expressions in static scalar context
Chris@0 2 -----
Chris@0 3 <?php
Chris@0 4
Chris@0 5 const T_1 = 1 << 1;
Chris@0 6 const T_2 = 1 / 2;
Chris@0 7 const T_3 = 1.5 + 1.5;
Chris@0 8 const T_4 = "foo" . "bar";
Chris@0 9 const T_5 = (1.5 + 1.5) * 2;
Chris@0 10 const T_6 = "foo" . 2 . 3 . 4.0;
Chris@0 11 const T_7 = __LINE__;
Chris@0 12 const T_8 = <<<ENDOFSTRING
Chris@0 13 This is a test string
Chris@0 14 ENDOFSTRING;
Chris@0 15 const T_9 = ~-1;
Chris@0 16 const T_10 = (-1?:1) + (0?2:3);
Chris@0 17 const T_11 = 1 && 0;
Chris@0 18 const T_12 = 1 and 1;
Chris@0 19 const T_13 = 0 || 0;
Chris@0 20 const T_14 = 1 or 0;
Chris@0 21 const T_15 = 1 xor 1;
Chris@0 22 const T_16 = 1 xor 0;
Chris@0 23 const T_17 = 1 < 0;
Chris@0 24 const T_18 = 0 <= 0;
Chris@0 25 const T_19 = 1 > 0;
Chris@0 26 const T_20 = 1 >= 0;
Chris@0 27 const T_21 = 1 === 1;
Chris@0 28 const T_22 = 1 !== 1;
Chris@0 29 const T_23 = 0 != "0";
Chris@0 30 const T_24 = 1 == "1";
Chris@0 31 const T_25 = 1 + 2 * 3;
Chris@0 32 const T_26 = "1" + 2 + "3";
Chris@0 33 const T_27 = 2 ** 3;
Chris@0 34 const T_28 = [1, 2, 3][1];
Chris@0 35 const T_29 = 12 - 13;
Chris@0 36 const T_30 = 12 ^ 13;
Chris@0 37 const T_31 = 12 & 13;
Chris@0 38 const T_32 = 12 | 13;
Chris@0 39 const T_33 = 12 % 3;
Chris@0 40 const T_34 = 100 >> 4;
Chris@0 41 const T_35 = !false;
Chris@0 42 -----
Chris@0 43 array(
Chris@0 44 0: Stmt_Const(
Chris@0 45 consts: array(
Chris@0 46 0: Const(
Chris@0 47 name: T_1
Chris@0 48 value: Expr_BinaryOp_ShiftLeft(
Chris@0 49 left: Scalar_LNumber(
Chris@0 50 value: 1
Chris@0 51 )
Chris@0 52 right: Scalar_LNumber(
Chris@0 53 value: 1
Chris@0 54 )
Chris@0 55 )
Chris@0 56 )
Chris@0 57 )
Chris@0 58 )
Chris@0 59 1: Stmt_Const(
Chris@0 60 consts: array(
Chris@0 61 0: Const(
Chris@0 62 name: T_2
Chris@0 63 value: Expr_BinaryOp_Div(
Chris@0 64 left: Scalar_LNumber(
Chris@0 65 value: 1
Chris@0 66 )
Chris@0 67 right: Scalar_LNumber(
Chris@0 68 value: 2
Chris@0 69 )
Chris@0 70 )
Chris@0 71 )
Chris@0 72 )
Chris@0 73 )
Chris@0 74 2: Stmt_Const(
Chris@0 75 consts: array(
Chris@0 76 0: Const(
Chris@0 77 name: T_3
Chris@0 78 value: Expr_BinaryOp_Plus(
Chris@0 79 left: Scalar_DNumber(
Chris@0 80 value: 1.5
Chris@0 81 )
Chris@0 82 right: Scalar_DNumber(
Chris@0 83 value: 1.5
Chris@0 84 )
Chris@0 85 )
Chris@0 86 )
Chris@0 87 )
Chris@0 88 )
Chris@0 89 3: Stmt_Const(
Chris@0 90 consts: array(
Chris@0 91 0: Const(
Chris@0 92 name: T_4
Chris@0 93 value: Expr_BinaryOp_Concat(
Chris@0 94 left: Scalar_String(
Chris@0 95 value: foo
Chris@0 96 )
Chris@0 97 right: Scalar_String(
Chris@0 98 value: bar
Chris@0 99 )
Chris@0 100 )
Chris@0 101 )
Chris@0 102 )
Chris@0 103 )
Chris@0 104 4: Stmt_Const(
Chris@0 105 consts: array(
Chris@0 106 0: Const(
Chris@0 107 name: T_5
Chris@0 108 value: Expr_BinaryOp_Mul(
Chris@0 109 left: Expr_BinaryOp_Plus(
Chris@0 110 left: Scalar_DNumber(
Chris@0 111 value: 1.5
Chris@0 112 )
Chris@0 113 right: Scalar_DNumber(
Chris@0 114 value: 1.5
Chris@0 115 )
Chris@0 116 )
Chris@0 117 right: Scalar_LNumber(
Chris@0 118 value: 2
Chris@0 119 )
Chris@0 120 )
Chris@0 121 )
Chris@0 122 )
Chris@0 123 )
Chris@0 124 5: Stmt_Const(
Chris@0 125 consts: array(
Chris@0 126 0: Const(
Chris@0 127 name: T_6
Chris@0 128 value: Expr_BinaryOp_Concat(
Chris@0 129 left: Expr_BinaryOp_Concat(
Chris@0 130 left: Expr_BinaryOp_Concat(
Chris@0 131 left: Scalar_String(
Chris@0 132 value: foo
Chris@0 133 )
Chris@0 134 right: Scalar_LNumber(
Chris@0 135 value: 2
Chris@0 136 )
Chris@0 137 )
Chris@0 138 right: Scalar_LNumber(
Chris@0 139 value: 3
Chris@0 140 )
Chris@0 141 )
Chris@0 142 right: Scalar_DNumber(
Chris@0 143 value: 4
Chris@0 144 )
Chris@0 145 )
Chris@0 146 )
Chris@0 147 )
Chris@0 148 )
Chris@0 149 6: Stmt_Const(
Chris@0 150 consts: array(
Chris@0 151 0: Const(
Chris@0 152 name: T_7
Chris@0 153 value: Scalar_MagicConst_Line(
Chris@0 154 )
Chris@0 155 )
Chris@0 156 )
Chris@0 157 )
Chris@0 158 7: Stmt_Const(
Chris@0 159 consts: array(
Chris@0 160 0: Const(
Chris@0 161 name: T_8
Chris@0 162 value: Scalar_String(
Chris@0 163 value: This is a test string
Chris@0 164 )
Chris@0 165 )
Chris@0 166 )
Chris@0 167 )
Chris@0 168 8: Stmt_Const(
Chris@0 169 consts: array(
Chris@0 170 0: Const(
Chris@0 171 name: T_9
Chris@0 172 value: Expr_BitwiseNot(
Chris@0 173 expr: Expr_UnaryMinus(
Chris@0 174 expr: Scalar_LNumber(
Chris@0 175 value: 1
Chris@0 176 )
Chris@0 177 )
Chris@0 178 )
Chris@0 179 )
Chris@0 180 )
Chris@0 181 )
Chris@0 182 9: Stmt_Const(
Chris@0 183 consts: array(
Chris@0 184 0: Const(
Chris@0 185 name: T_10
Chris@0 186 value: Expr_BinaryOp_Plus(
Chris@0 187 left: Expr_Ternary(
Chris@0 188 cond: Expr_UnaryMinus(
Chris@0 189 expr: Scalar_LNumber(
Chris@0 190 value: 1
Chris@0 191 )
Chris@0 192 )
Chris@0 193 if: null
Chris@0 194 else: Scalar_LNumber(
Chris@0 195 value: 1
Chris@0 196 )
Chris@0 197 )
Chris@0 198 right: Expr_Ternary(
Chris@0 199 cond: Scalar_LNumber(
Chris@0 200 value: 0
Chris@0 201 )
Chris@0 202 if: Scalar_LNumber(
Chris@0 203 value: 2
Chris@0 204 )
Chris@0 205 else: Scalar_LNumber(
Chris@0 206 value: 3
Chris@0 207 )
Chris@0 208 )
Chris@0 209 )
Chris@0 210 )
Chris@0 211 )
Chris@0 212 )
Chris@0 213 10: Stmt_Const(
Chris@0 214 consts: array(
Chris@0 215 0: Const(
Chris@0 216 name: T_11
Chris@0 217 value: Expr_BinaryOp_BooleanAnd(
Chris@0 218 left: Scalar_LNumber(
Chris@0 219 value: 1
Chris@0 220 )
Chris@0 221 right: Scalar_LNumber(
Chris@0 222 value: 0
Chris@0 223 )
Chris@0 224 )
Chris@0 225 )
Chris@0 226 )
Chris@0 227 )
Chris@0 228 11: Stmt_Const(
Chris@0 229 consts: array(
Chris@0 230 0: Const(
Chris@0 231 name: T_12
Chris@0 232 value: Expr_BinaryOp_LogicalAnd(
Chris@0 233 left: Scalar_LNumber(
Chris@0 234 value: 1
Chris@0 235 )
Chris@0 236 right: Scalar_LNumber(
Chris@0 237 value: 1
Chris@0 238 )
Chris@0 239 )
Chris@0 240 )
Chris@0 241 )
Chris@0 242 )
Chris@0 243 12: Stmt_Const(
Chris@0 244 consts: array(
Chris@0 245 0: Const(
Chris@0 246 name: T_13
Chris@0 247 value: Expr_BinaryOp_BooleanOr(
Chris@0 248 left: Scalar_LNumber(
Chris@0 249 value: 0
Chris@0 250 )
Chris@0 251 right: Scalar_LNumber(
Chris@0 252 value: 0
Chris@0 253 )
Chris@0 254 )
Chris@0 255 )
Chris@0 256 )
Chris@0 257 )
Chris@0 258 13: Stmt_Const(
Chris@0 259 consts: array(
Chris@0 260 0: Const(
Chris@0 261 name: T_14
Chris@0 262 value: Expr_BinaryOp_LogicalOr(
Chris@0 263 left: Scalar_LNumber(
Chris@0 264 value: 1
Chris@0 265 )
Chris@0 266 right: Scalar_LNumber(
Chris@0 267 value: 0
Chris@0 268 )
Chris@0 269 )
Chris@0 270 )
Chris@0 271 )
Chris@0 272 )
Chris@0 273 14: Stmt_Const(
Chris@0 274 consts: array(
Chris@0 275 0: Const(
Chris@0 276 name: T_15
Chris@0 277 value: Expr_BinaryOp_LogicalXor(
Chris@0 278 left: Scalar_LNumber(
Chris@0 279 value: 1
Chris@0 280 )
Chris@0 281 right: Scalar_LNumber(
Chris@0 282 value: 1
Chris@0 283 )
Chris@0 284 )
Chris@0 285 )
Chris@0 286 )
Chris@0 287 )
Chris@0 288 15: Stmt_Const(
Chris@0 289 consts: array(
Chris@0 290 0: Const(
Chris@0 291 name: T_16
Chris@0 292 value: Expr_BinaryOp_LogicalXor(
Chris@0 293 left: Scalar_LNumber(
Chris@0 294 value: 1
Chris@0 295 )
Chris@0 296 right: Scalar_LNumber(
Chris@0 297 value: 0
Chris@0 298 )
Chris@0 299 )
Chris@0 300 )
Chris@0 301 )
Chris@0 302 )
Chris@0 303 16: Stmt_Const(
Chris@0 304 consts: array(
Chris@0 305 0: Const(
Chris@0 306 name: T_17
Chris@0 307 value: Expr_BinaryOp_Smaller(
Chris@0 308 left: Scalar_LNumber(
Chris@0 309 value: 1
Chris@0 310 )
Chris@0 311 right: Scalar_LNumber(
Chris@0 312 value: 0
Chris@0 313 )
Chris@0 314 )
Chris@0 315 )
Chris@0 316 )
Chris@0 317 )
Chris@0 318 17: Stmt_Const(
Chris@0 319 consts: array(
Chris@0 320 0: Const(
Chris@0 321 name: T_18
Chris@0 322 value: Expr_BinaryOp_SmallerOrEqual(
Chris@0 323 left: Scalar_LNumber(
Chris@0 324 value: 0
Chris@0 325 )
Chris@0 326 right: Scalar_LNumber(
Chris@0 327 value: 0
Chris@0 328 )
Chris@0 329 )
Chris@0 330 )
Chris@0 331 )
Chris@0 332 )
Chris@0 333 18: Stmt_Const(
Chris@0 334 consts: array(
Chris@0 335 0: Const(
Chris@0 336 name: T_19
Chris@0 337 value: Expr_BinaryOp_Greater(
Chris@0 338 left: Scalar_LNumber(
Chris@0 339 value: 1
Chris@0 340 )
Chris@0 341 right: Scalar_LNumber(
Chris@0 342 value: 0
Chris@0 343 )
Chris@0 344 )
Chris@0 345 )
Chris@0 346 )
Chris@0 347 )
Chris@0 348 19: Stmt_Const(
Chris@0 349 consts: array(
Chris@0 350 0: Const(
Chris@0 351 name: T_20
Chris@0 352 value: Expr_BinaryOp_GreaterOrEqual(
Chris@0 353 left: Scalar_LNumber(
Chris@0 354 value: 1
Chris@0 355 )
Chris@0 356 right: Scalar_LNumber(
Chris@0 357 value: 0
Chris@0 358 )
Chris@0 359 )
Chris@0 360 )
Chris@0 361 )
Chris@0 362 )
Chris@0 363 20: Stmt_Const(
Chris@0 364 consts: array(
Chris@0 365 0: Const(
Chris@0 366 name: T_21
Chris@0 367 value: Expr_BinaryOp_Identical(
Chris@0 368 left: Scalar_LNumber(
Chris@0 369 value: 1
Chris@0 370 )
Chris@0 371 right: Scalar_LNumber(
Chris@0 372 value: 1
Chris@0 373 )
Chris@0 374 )
Chris@0 375 )
Chris@0 376 )
Chris@0 377 )
Chris@0 378 21: Stmt_Const(
Chris@0 379 consts: array(
Chris@0 380 0: Const(
Chris@0 381 name: T_22
Chris@0 382 value: Expr_BinaryOp_NotIdentical(
Chris@0 383 left: Scalar_LNumber(
Chris@0 384 value: 1
Chris@0 385 )
Chris@0 386 right: Scalar_LNumber(
Chris@0 387 value: 1
Chris@0 388 )
Chris@0 389 )
Chris@0 390 )
Chris@0 391 )
Chris@0 392 )
Chris@0 393 22: Stmt_Const(
Chris@0 394 consts: array(
Chris@0 395 0: Const(
Chris@0 396 name: T_23
Chris@0 397 value: Expr_BinaryOp_NotEqual(
Chris@0 398 left: Scalar_LNumber(
Chris@0 399 value: 0
Chris@0 400 )
Chris@0 401 right: Scalar_String(
Chris@0 402 value: 0
Chris@0 403 )
Chris@0 404 )
Chris@0 405 )
Chris@0 406 )
Chris@0 407 )
Chris@0 408 23: Stmt_Const(
Chris@0 409 consts: array(
Chris@0 410 0: Const(
Chris@0 411 name: T_24
Chris@0 412 value: Expr_BinaryOp_Equal(
Chris@0 413 left: Scalar_LNumber(
Chris@0 414 value: 1
Chris@0 415 )
Chris@0 416 right: Scalar_String(
Chris@0 417 value: 1
Chris@0 418 )
Chris@0 419 )
Chris@0 420 )
Chris@0 421 )
Chris@0 422 )
Chris@0 423 24: Stmt_Const(
Chris@0 424 consts: array(
Chris@0 425 0: Const(
Chris@0 426 name: T_25
Chris@0 427 value: Expr_BinaryOp_Plus(
Chris@0 428 left: Scalar_LNumber(
Chris@0 429 value: 1
Chris@0 430 )
Chris@0 431 right: Expr_BinaryOp_Mul(
Chris@0 432 left: Scalar_LNumber(
Chris@0 433 value: 2
Chris@0 434 )
Chris@0 435 right: Scalar_LNumber(
Chris@0 436 value: 3
Chris@0 437 )
Chris@0 438 )
Chris@0 439 )
Chris@0 440 )
Chris@0 441 )
Chris@0 442 )
Chris@0 443 25: Stmt_Const(
Chris@0 444 consts: array(
Chris@0 445 0: Const(
Chris@0 446 name: T_26
Chris@0 447 value: Expr_BinaryOp_Plus(
Chris@0 448 left: Expr_BinaryOp_Plus(
Chris@0 449 left: Scalar_String(
Chris@0 450 value: 1
Chris@0 451 )
Chris@0 452 right: Scalar_LNumber(
Chris@0 453 value: 2
Chris@0 454 )
Chris@0 455 )
Chris@0 456 right: Scalar_String(
Chris@0 457 value: 3
Chris@0 458 )
Chris@0 459 )
Chris@0 460 )
Chris@0 461 )
Chris@0 462 )
Chris@0 463 26: Stmt_Const(
Chris@0 464 consts: array(
Chris@0 465 0: Const(
Chris@0 466 name: T_27
Chris@0 467 value: Expr_BinaryOp_Pow(
Chris@0 468 left: Scalar_LNumber(
Chris@0 469 value: 2
Chris@0 470 )
Chris@0 471 right: Scalar_LNumber(
Chris@0 472 value: 3
Chris@0 473 )
Chris@0 474 )
Chris@0 475 )
Chris@0 476 )
Chris@0 477 )
Chris@0 478 27: Stmt_Const(
Chris@0 479 consts: array(
Chris@0 480 0: Const(
Chris@0 481 name: T_28
Chris@0 482 value: Expr_ArrayDimFetch(
Chris@0 483 var: Expr_Array(
Chris@0 484 items: array(
Chris@0 485 0: Expr_ArrayItem(
Chris@0 486 key: null
Chris@0 487 value: Scalar_LNumber(
Chris@0 488 value: 1
Chris@0 489 )
Chris@0 490 byRef: false
Chris@0 491 )
Chris@0 492 1: Expr_ArrayItem(
Chris@0 493 key: null
Chris@0 494 value: Scalar_LNumber(
Chris@0 495 value: 2
Chris@0 496 )
Chris@0 497 byRef: false
Chris@0 498 )
Chris@0 499 2: Expr_ArrayItem(
Chris@0 500 key: null
Chris@0 501 value: Scalar_LNumber(
Chris@0 502 value: 3
Chris@0 503 )
Chris@0 504 byRef: false
Chris@0 505 )
Chris@0 506 )
Chris@0 507 )
Chris@0 508 dim: Scalar_LNumber(
Chris@0 509 value: 1
Chris@0 510 )
Chris@0 511 )
Chris@0 512 )
Chris@0 513 )
Chris@0 514 )
Chris@0 515 28: Stmt_Const(
Chris@0 516 consts: array(
Chris@0 517 0: Const(
Chris@0 518 name: T_29
Chris@0 519 value: Expr_BinaryOp_Minus(
Chris@0 520 left: Scalar_LNumber(
Chris@0 521 value: 12
Chris@0 522 )
Chris@0 523 right: Scalar_LNumber(
Chris@0 524 value: 13
Chris@0 525 )
Chris@0 526 )
Chris@0 527 )
Chris@0 528 )
Chris@0 529 )
Chris@0 530 29: Stmt_Const(
Chris@0 531 consts: array(
Chris@0 532 0: Const(
Chris@0 533 name: T_30
Chris@0 534 value: Expr_BinaryOp_BitwiseXor(
Chris@0 535 left: Scalar_LNumber(
Chris@0 536 value: 12
Chris@0 537 )
Chris@0 538 right: Scalar_LNumber(
Chris@0 539 value: 13
Chris@0 540 )
Chris@0 541 )
Chris@0 542 )
Chris@0 543 )
Chris@0 544 )
Chris@0 545 30: Stmt_Const(
Chris@0 546 consts: array(
Chris@0 547 0: Const(
Chris@0 548 name: T_31
Chris@0 549 value: Expr_BinaryOp_BitwiseAnd(
Chris@0 550 left: Scalar_LNumber(
Chris@0 551 value: 12
Chris@0 552 )
Chris@0 553 right: Scalar_LNumber(
Chris@0 554 value: 13
Chris@0 555 )
Chris@0 556 )
Chris@0 557 )
Chris@0 558 )
Chris@0 559 )
Chris@0 560 31: Stmt_Const(
Chris@0 561 consts: array(
Chris@0 562 0: Const(
Chris@0 563 name: T_32
Chris@0 564 value: Expr_BinaryOp_BitwiseOr(
Chris@0 565 left: Scalar_LNumber(
Chris@0 566 value: 12
Chris@0 567 )
Chris@0 568 right: Scalar_LNumber(
Chris@0 569 value: 13
Chris@0 570 )
Chris@0 571 )
Chris@0 572 )
Chris@0 573 )
Chris@0 574 )
Chris@0 575 32: Stmt_Const(
Chris@0 576 consts: array(
Chris@0 577 0: Const(
Chris@0 578 name: T_33
Chris@0 579 value: Expr_BinaryOp_Mod(
Chris@0 580 left: Scalar_LNumber(
Chris@0 581 value: 12
Chris@0 582 )
Chris@0 583 right: Scalar_LNumber(
Chris@0 584 value: 3
Chris@0 585 )
Chris@0 586 )
Chris@0 587 )
Chris@0 588 )
Chris@0 589 )
Chris@0 590 33: Stmt_Const(
Chris@0 591 consts: array(
Chris@0 592 0: Const(
Chris@0 593 name: T_34
Chris@0 594 value: Expr_BinaryOp_ShiftRight(
Chris@0 595 left: Scalar_LNumber(
Chris@0 596 value: 100
Chris@0 597 )
Chris@0 598 right: Scalar_LNumber(
Chris@0 599 value: 4
Chris@0 600 )
Chris@0 601 )
Chris@0 602 )
Chris@0 603 )
Chris@0 604 )
Chris@0 605 34: Stmt_Const(
Chris@0 606 consts: array(
Chris@0 607 0: Const(
Chris@0 608 name: T_35
Chris@0 609 value: Expr_BooleanNot(
Chris@0 610 expr: Expr_ConstFetch(
Chris@0 611 name: Name(
Chris@0 612 parts: array(
Chris@0 613 0: false
Chris@0 614 )
Chris@0 615 )
Chris@0 616 )
Chris@0 617 )
Chris@0 618 )
Chris@0 619 )
Chris@0 620 )
Chris@0 621 )