mirror of
https://github.com/danog/PHP-Parser.git
synced 2024-12-03 17:57:59 +01:00
a0c216bf4b
Adding this as an option to avoid breaking people's tests. Some of the test results show pretty clearly that we are incorrectly assigning the same comment multiple times for nested nodes (mentioned in #36).
288 lines
5.4 KiB
Plaintext
288 lines
5.4 KiB
Plaintext
Assignments
|
|
-----
|
|
<?php
|
|
// simple assign
|
|
$a = $b;
|
|
|
|
// combined assign
|
|
$a &= $b;
|
|
$a |= $b;
|
|
$a ^= $b;
|
|
$a .= $b;
|
|
$a /= $b;
|
|
$a -= $b;
|
|
$a %= $b;
|
|
$a *= $b;
|
|
$a += $b;
|
|
$a <<= $b;
|
|
$a >>= $b;
|
|
$a **= $b;
|
|
|
|
// chained assign
|
|
$a = $b *= $c **= $d;
|
|
|
|
// by ref assign
|
|
$a =& $b;
|
|
$a =& new B;
|
|
|
|
// list() assign
|
|
list($a) = $b;
|
|
list($a, , $b) = $c;
|
|
list($a, list(, $c), $d) = $e;
|
|
|
|
// inc/dec
|
|
++$a;
|
|
$a++;
|
|
--$a;
|
|
$a--;
|
|
-----
|
|
array(
|
|
0: Expr_Assign(
|
|
var: Expr_Variable(
|
|
name: a
|
|
comments: array(
|
|
0: // simple assign
|
|
)
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
comments: array(
|
|
0: // simple assign
|
|
)
|
|
)
|
|
1: Expr_AssignOp_BitwiseAnd(
|
|
var: Expr_Variable(
|
|
name: a
|
|
comments: array(
|
|
0: // combined assign
|
|
)
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
comments: array(
|
|
0: // combined assign
|
|
)
|
|
)
|
|
2: Expr_AssignOp_BitwiseOr(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
3: Expr_AssignOp_BitwiseXor(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
4: Expr_AssignOp_Concat(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
5: Expr_AssignOp_Div(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
6: Expr_AssignOp_Minus(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
7: Expr_AssignOp_Mod(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
8: Expr_AssignOp_Mul(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
9: Expr_AssignOp_Plus(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
10: Expr_AssignOp_ShiftLeft(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
11: Expr_AssignOp_ShiftRight(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
12: Expr_AssignOp_Pow(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
13: Expr_Assign(
|
|
var: Expr_Variable(
|
|
name: a
|
|
comments: array(
|
|
0: // chained assign
|
|
)
|
|
)
|
|
expr: Expr_AssignOp_Mul(
|
|
var: Expr_Variable(
|
|
name: b
|
|
)
|
|
expr: Expr_AssignOp_Pow(
|
|
var: Expr_Variable(
|
|
name: c
|
|
)
|
|
expr: Expr_Variable(
|
|
name: d
|
|
)
|
|
)
|
|
)
|
|
comments: array(
|
|
0: // chained assign
|
|
)
|
|
)
|
|
14: Expr_AssignRef(
|
|
var: Expr_Variable(
|
|
name: a
|
|
comments: array(
|
|
0: // by ref assign
|
|
)
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
comments: array(
|
|
0: // by ref assign
|
|
)
|
|
)
|
|
15: Expr_AssignRef(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_New(
|
|
class: Name(
|
|
parts: array(
|
|
0: B
|
|
)
|
|
)
|
|
args: array(
|
|
)
|
|
)
|
|
)
|
|
16: Expr_Assign(
|
|
var: Expr_List(
|
|
vars: array(
|
|
0: Expr_Variable(
|
|
name: a
|
|
)
|
|
)
|
|
comments: array(
|
|
0: // list() assign
|
|
)
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
comments: array(
|
|
0: // list() assign
|
|
)
|
|
)
|
|
17: Expr_Assign(
|
|
var: Expr_List(
|
|
vars: array(
|
|
0: Expr_Variable(
|
|
name: a
|
|
)
|
|
1: null
|
|
2: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
)
|
|
expr: Expr_Variable(
|
|
name: c
|
|
)
|
|
)
|
|
18: Expr_Assign(
|
|
var: Expr_List(
|
|
vars: array(
|
|
0: Expr_Variable(
|
|
name: a
|
|
)
|
|
1: Expr_List(
|
|
vars: array(
|
|
0: null
|
|
1: Expr_Variable(
|
|
name: c
|
|
)
|
|
)
|
|
)
|
|
2: Expr_Variable(
|
|
name: d
|
|
)
|
|
)
|
|
)
|
|
expr: Expr_Variable(
|
|
name: e
|
|
)
|
|
)
|
|
19: Expr_PreInc(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
comments: array(
|
|
0: // inc/dec
|
|
)
|
|
)
|
|
20: Expr_PostInc(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
)
|
|
21: Expr_PreDec(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
)
|
|
22: Expr_PostDec(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
)
|
|
) |