123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- Pretty printer generates least-parentheses output
- -----
- <?php
- echo 'abc' . 'cde' . 'fgh';
- echo 'abc' . ('cde' . 'fgh');
- echo 'abc' . 1 + 2 . 'fgh';
- echo 'abc' . (1 + 2) . 'fgh';
- echo 1 * 2 + 3 / 4 % 5 . 6;
- echo 1 * (2 + 3) / (4 % (5 . 6));
- $a = $b = $c = $d = $f && true;
- ($a = $b = $c = $d = $f) && true;
- $a = $b = $c = $d = $f and true;
- $a = $b = $c = $d = ($f and true);
- $a ? $b : $c ? $d : $e ? $f : $g;
- $a ? $b : ($c ? $d : ($e ? $f : $g));
- $a ? $b ? $c : $d : $f;
- $a ?? $b ?? $c;
- ($a ?? $b) ?? $c;
- $a ?? ($b ? $c : $d);
- $a || ($b ?? $c);
- (1 > 0) > (1 < 0);
- ++$a + $b;
- $a + $b++;
- $a ** $b ** $c;
- ($a ** $b) ** $c;
- -1 ** 2;
- yield from $a and yield from $b;
- yield from ($a and yield from $b);
- print ($a and print $b);
- // The following will currently add unnecessary parentheses, because the pretty printer is not aware that assignment
- // and incdec only work on variables.
- !$a = $b;
- ++$a ** $b;
- $a ** $b++;
- -----
- echo 'abc' . 'cde' . 'fgh';
- echo 'abc' . ('cde' . 'fgh');
- echo 'abc' . 1 + 2 . 'fgh';
- echo 'abc' . (1 + 2) . 'fgh';
- echo 1 * 2 + 3 / 4 % 5 . 6;
- echo 1 * (2 + 3) / (4 % (5 . 6));
- $a = $b = $c = $d = $f && true;
- ($a = $b = $c = $d = $f) && true;
- $a = $b = $c = $d = $f and true;
- $a = $b = $c = $d = ($f and true);
- $a ? $b : $c ? $d : $e ? $f : $g;
- $a ? $b : ($c ? $d : ($e ? $f : $g));
- $a ? $b ? $c : $d : $f;
- $a ?? $b ?? $c;
- ($a ?? $b) ?? $c;
- $a ?? ($b ? $c : $d);
- $a || ($b ?? $c);
- (1 > 0) > (1 < 0);
- ++$a + $b;
- $a + $b++;
- $a ** $b ** $c;
- ($a ** $b) ** $c;
- -1 ** 2;
- yield from $a and yield from $b;
- yield from ($a and yield from $b);
- print ($a and print $b);
- // The following will currently add unnecessary parentheses, because the pretty printer is not aware that assignment
- // and incdec only work on variables.
- !($a = $b);
- (++$a) ** $b;
- $a ** ($b++);
|