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
|
--TEST--
eval() and include parsing
--FILE--
<?php
require __DIR__ . '/../util.php';
$code = <<<'PHP'
<?php
eval( 'echo "hello";');
include 'foo.php';
include_once 'foo.php';
require 'foo.php';
require_once 'foo.php';
PHP;
echo ast_dump(ast\parse_code($code, $version=70));
?>
--EXPECT--
AST_STMT_LIST
0: AST_INCLUDE_OR_EVAL
flags: EXEC_EVAL (1)
expr: "echo "hello";"
1: AST_INCLUDE_OR_EVAL
flags: EXEC_INCLUDE (2)
expr: "foo.php"
2: AST_INCLUDE_OR_EVAL
flags: EXEC_INCLUDE_ONCE (4)
expr: "foo.php"
3: AST_INCLUDE_OR_EVAL
flags: EXEC_REQUIRE (8)
expr: "foo.php"
4: AST_INCLUDE_OR_EVAL
flags: EXEC_REQUIRE_ONCE (16)
expr: "foo.php"
|