forked from glayzzle/php-parser
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexpr.parser
More file actions
76 lines (76 loc) · 1.13 KB
/
expr.parser
File metadata and controls
76 lines (76 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Test expr parser
--PASS--
class foo {
function aa() {
$parent_resource = " in '$this->parent->template_resource}'";
}
}
--PASS--
$a = 1 + 2;
$a++;
$a--;
++$a;
--$a;
--PASS--
$b = (3 + 4) * $a / 2;
--PASS--
$b ^= $a | $b;
$b |= $a ^ $b;
$b **= $a % $b;
$b %= $a ** $b;
$b <<= $a >> $b;
$b >>= $a << $b;
--PASS--
$b = $a OR $b;
$b = $a AND $b;
$b = $a XOR $b;
$b = $a > $b;
$b = $a instanceof $b;
$b = $a >= $b;
$b = $a <= $b;
$b = $a == $b;
$b = $a != $b;
--PASS--
@silent_fail();
--PASS--
$data = foo()['offset'];
foo()['offset'] = 'something';
--PASS--
list($a, $b) = array(1, 2);
$b = empty($a);
--PASS--
$arg = include($a);
$arg = @include_once($a);
$arg = require($a);
$arg = require_once($a);
$b = @eval($arg);
--PASS--
$a = (int)$b;
$a = (double)$b;
$a = (unset)$b;
$a = (bool)$b;
$a = (string)$b;
$a = (array)$b;
$a = (object)$b;
print 'done';
exit(0);
exit;
--PASS--
$var = new class extends foo {
};
list(list($a, $b), $c) = [
[1, 2], 3
];
--PASS--
echo "test: {$this->test->foo}";
$var = &new foo();
--PASS--
$var += $a;
$var -= $a;
$var *= $a;
$var /= $a;
$var .= $a;
$var &= $a;
$var |= $a;
--PASS--
$exec = `pstree -ap $process {$foo->bar}`;