annotate vendor/nikic/php-parser/test/code/formatPreservation/basic.test @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 5fb285c0d0e3
children
rev   line source
Chris@13 1 abc1
Chris@13 2 -----
Chris@13 3 <?php
Chris@13 4 echo
Chris@13 5 1
Chris@13 6 +
Chris@13 7 2
Chris@13 8 +
Chris@13 9 3;
Chris@13 10 -----
Chris@13 11 $stmts[0]->exprs[0]->left->right->value = 42;
Chris@13 12 -----
Chris@13 13 <?php
Chris@13 14 echo
Chris@13 15 1
Chris@13 16 +
Chris@13 17 42
Chris@13 18 +
Chris@13 19 3;
Chris@13 20 -----
Chris@13 21 <?php
Chris@13 22 function foo($a)
Chris@13 23 { return $a; }
Chris@13 24 -----
Chris@13 25 $stmts[0]->name = new Node\Identifier('bar');
Chris@13 26 -----
Chris@13 27 <?php
Chris@13 28 function bar($a)
Chris@13 29 { return $a; }
Chris@13 30 -----
Chris@13 31 <?php
Chris@13 32 function
Chris@13 33 foo() {
Chris@13 34 call(
Chris@13 35 $bar
Chris@13 36 );
Chris@13 37 }
Chris@13 38 -----
Chris@13 39 // This triggers a fallback
Chris@13 40 $stmts[0]->byRef = true;
Chris@13 41 -----
Chris@13 42 <?php
Chris@13 43 function &foo()
Chris@13 44 {
Chris@13 45 call(
Chris@13 46 $bar
Chris@13 47 );
Chris@13 48 }
Chris@13 49 -----
Chris@13 50 <?php
Chris@13 51 function
Chris@13 52 foo() {
Chris@13 53 echo "Start
Chris@13 54 End";
Chris@13 55 }
Chris@13 56 -----
Chris@13 57 // This triggers a fallback
Chris@13 58 $stmts[0]->byRef = true;
Chris@13 59 -----
Chris@13 60 <?php
Chris@13 61 function &foo()
Chris@13 62 {
Chris@13 63 echo "Start
Chris@13 64 End";
Chris@13 65 }
Chris@13 66 -----
Chris@13 67 <?php
Chris@13 68 function test() {
Chris@13 69 call1(
Chris@13 70 $bar
Chris@13 71 );
Chris@13 72 }
Chris@13 73 call2(
Chris@13 74 $foo
Chris@13 75 );
Chris@13 76 -----
Chris@13 77 $tmp = $stmts[0]->stmts[0];
Chris@13 78 $stmts[0]->stmts[0] = $stmts[1];
Chris@13 79 $stmts[1] = $tmp;
Chris@13 80 -----
Chris@13 81 <?php
Chris@13 82 function test() {
Chris@13 83 call2(
Chris@13 84 $foo
Chris@13 85 );
Chris@13 86 }
Chris@13 87 call1(
Chris@13 88 $bar
Chris@13 89 );
Chris@13 90 -----
Chris@13 91 <?php
Chris@13 92 x;
Chris@13 93 function test() {
Chris@13 94 call1(
Chris@13 95 $bar
Chris@13 96 );
Chris@13 97 }
Chris@13 98 call2(
Chris@13 99 $foo
Chris@13 100 );
Chris@13 101 -----
Chris@13 102 $tmp = $stmts[1]->stmts[0];
Chris@13 103 $stmts[1]->stmts[0] = $stmts[2];
Chris@13 104 $stmts[2] = $tmp;
Chris@13 105 // Same test, but also removing first statement, triggering fallback
Chris@13 106 array_splice($stmts, 0, 1, []);
Chris@13 107 -----
Chris@13 108 <?php
Chris@13 109
Chris@13 110 function test() {
Chris@13 111 call2(
Chris@13 112 $foo
Chris@13 113 );
Chris@13 114 }
Chris@13 115 call1(
Chris@13 116 $bar
Chris@13 117 );
Chris@13 118 -----
Chris@13 119 <?php
Chris@13 120 echo 1;
Chris@13 121 -----
Chris@13 122 $stmts[0] = new Stmt\Expression(
Chris@13 123 new Expr\Assign(new Expr\Variable('a'), new Expr\Variable('b')));
Chris@13 124 -----
Chris@13 125 <?php
Chris@13 126 $a = $b;
Chris@13 127 -----
Chris@13 128 <?php
Chris@13 129 echo$a;
Chris@13 130 -----
Chris@13 131 $stmts[0]->exprs[0] = new Expr\ConstFetch(new Node\Name('C'));
Chris@13 132 -----
Chris@13 133 <?php
Chris@13 134 echo C;
Chris@13 135 -----
Chris@13 136 <?php
Chris@13 137 function foo() {
Chris@13 138 foo();
Chris@13 139 /*
Chris@13 140 * bar
Chris@13 141 */
Chris@13 142 baz();
Chris@13 143 }
Chris@13 144
Chris@13 145 {
Chris@13 146 $x;
Chris@13 147 }
Chris@13 148 -----
Chris@13 149 $tmp = $stmts[0];
Chris@13 150 $stmts[0] = $stmts[1];
Chris@13 151 $stmts[1] = $tmp;
Chris@13 152 /* TODO This used to do two replacement operations, but with the node list diffing this is a
Chris@13 153 * remove, keep, add (which probably makes more sense). As such, this currently triggers a
Chris@13 154 * fallback. */
Chris@13 155 -----
Chris@13 156 <?php
Chris@13 157
Chris@13 158 $x;
Chris@13 159 function foo() {
Chris@13 160 foo();
Chris@13 161 /*
Chris@13 162 * bar
Chris@13 163 */
Chris@13 164 baz();
Chris@13 165 }
Chris@13 166 -----
Chris@13 167 <?php
Chris@13 168 echo "${foo}bar";
Chris@13 169 echo "${foo['baz']}bar";
Chris@13 170 -----
Chris@13 171 $stmts[0]->exprs[0]->parts[0] = new Expr\Variable('bar');
Chris@13 172 $stmts[1]->exprs[0]->parts[0] = new Expr\Variable('bar');
Chris@13 173 -----
Chris@13 174 <?php
Chris@13 175 echo "{$bar}bar";
Chris@13 176 echo "{$bar}bar";
Chris@13 177 -----
Chris@13 178 <?php
Chris@13 179 [$a
Chris@13 180 ,$b
Chris@13 181 ,
Chris@13 182 ,] = $b;
Chris@13 183 -----
Chris@13 184 /* Nothing */
Chris@13 185 -----
Chris@13 186 <?php
Chris@13 187 [$a
Chris@13 188 ,$b
Chris@13 189 ,
Chris@13 190 ,] = $b;