mirror of
https://github.com/danog/PHP-Parser.git
synced 2024-12-11 17:09:41 +01:00
f6c1ab6657
* nested list()s will now create nested List nodes (instead of just nested arrays) * yield $k => $v was parsed with key and value swapped. This is now fixed * the pretty printer now works with the newly added language constructs
225 lines
4.0 KiB
Plaintext
225 lines
4.0 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;
|
|
|
|
// 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
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
1: Expr_AssignBitwiseAnd(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
2: Expr_AssignBitwiseOr(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
3: Expr_AssignBitwiseXor(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
4: Expr_AssignConcat(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
5: Expr_AssignDiv(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
6: Expr_AssignMinus(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
7: Expr_AssignMod(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
8: Expr_AssignMul(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
9: Expr_AssignPlus(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
10: Expr_AssignShiftLeft(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
11: Expr_AssignShiftRight(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
12: Expr_AssignRef(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
13: Expr_AssignRef(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
expr: Expr_New(
|
|
class: Name(
|
|
parts: array(
|
|
0: B
|
|
)
|
|
)
|
|
args: array(
|
|
)
|
|
)
|
|
)
|
|
14: Expr_Assign(
|
|
var: Expr_List(
|
|
vars: array(
|
|
0: Expr_Variable(
|
|
name: a
|
|
)
|
|
)
|
|
)
|
|
expr: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
15: Expr_Assign(
|
|
var: Expr_List(
|
|
vars: array(
|
|
0: Expr_Variable(
|
|
name: a
|
|
)
|
|
1: null
|
|
2: Expr_Variable(
|
|
name: b
|
|
)
|
|
)
|
|
)
|
|
expr: Expr_Variable(
|
|
name: c
|
|
)
|
|
)
|
|
16: 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
|
|
)
|
|
)
|
|
17: Expr_PreInc(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
)
|
|
18: Expr_PostInc(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
)
|
|
19: Expr_PreDec(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
)
|
|
20: Expr_PostDec(
|
|
var: Expr_Variable(
|
|
name: a
|
|
)
|
|
)
|
|
) |