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
|
Reference: https://github.com/nikic/php-ast/pull/252
https://github.com/php/php-src/commit/e421a44ac6ba1474d72df46b3331753671bbfe76
https://github.com/php/php-src/commit/ca49a7bec2a0a8d77bfa4b6d375ca0ffa4edc5ee
--- ast_data.c.orig 2024-08-10 18:39:35 UTC
+++ ast_data.c
@@ -42,8 +42,10 @@ const zend_ast_kind ast_kinds[] = {
ZEND_AST_EMPTY,
ZEND_AST_ISSET,
ZEND_AST_SHELL_EXEC,
+#if PHP_VERSION_ID < 80500
ZEND_AST_CLONE,
ZEND_AST_EXIT,
+#endif
ZEND_AST_PRINT,
ZEND_AST_INCLUDE_OR_EVAL,
ZEND_AST_UNARY_OP,
@@ -158,8 +160,10 @@ const char *ast_kind_to_name(zend_ast_kind kind) {
case ZEND_AST_EMPTY: return "AST_EMPTY";
case ZEND_AST_ISSET: return "AST_ISSET";
case ZEND_AST_SHELL_EXEC: return "AST_SHELL_EXEC";
+#if PHP_VERSION_ID < 80500
case ZEND_AST_CLONE: return "AST_CLONE";
case ZEND_AST_EXIT: return "AST_EXIT";
+#endif
case ZEND_AST_PRINT: return "AST_PRINT";
case ZEND_AST_INCLUDE_OR_EVAL: return "AST_INCLUDE_OR_EVAL";
case ZEND_AST_UNARY_OP: return "AST_UNARY_OP";
@@ -278,8 +282,10 @@ zend_string *ast_kind_child_name(zend_ast_kind kind, u
case ZEND_AST_CAST:
case ZEND_AST_EMPTY:
case ZEND_AST_SHELL_EXEC:
+#if PHP_VERSION_ID < 80500
case ZEND_AST_CLONE:
case ZEND_AST_EXIT:
+#endif
case ZEND_AST_PRINT:
case ZEND_AST_INCLUDE_OR_EVAL:
case ZEND_AST_UNARY_OP:
@@ -618,8 +624,10 @@ void ast_register_kind_constants(INIT_FUNC_ARGS) {
REGISTER_NS_LONG_CONSTANT("ast", "AST_EMPTY", ZEND_AST_EMPTY, CONST_CS | CONST_PERSISTENT);
REGISTER_NS_LONG_CONSTANT("ast", "AST_ISSET", ZEND_AST_ISSET, CONST_CS | CONST_PERSISTENT);
REGISTER_NS_LONG_CONSTANT("ast", "AST_SHELL_EXEC", ZEND_AST_SHELL_EXEC, CONST_CS | CONST_PERSISTENT);
+#if PHP_VERSION_ID < 80500
REGISTER_NS_LONG_CONSTANT("ast", "AST_CLONE", ZEND_AST_CLONE, CONST_CS | CONST_PERSISTENT);
REGISTER_NS_LONG_CONSTANT("ast", "AST_EXIT", ZEND_AST_EXIT, CONST_CS | CONST_PERSISTENT);
+#endif
REGISTER_NS_LONG_CONSTANT("ast", "AST_PRINT", ZEND_AST_PRINT, CONST_CS | CONST_PERSISTENT);
REGISTER_NS_LONG_CONSTANT("ast", "AST_INCLUDE_OR_EVAL", ZEND_AST_INCLUDE_OR_EVAL, CONST_CS | CONST_PERSISTENT);
REGISTER_NS_LONG_CONSTANT("ast", "AST_UNARY_OP", ZEND_AST_UNARY_OP, CONST_CS | CONST_PERSISTENT);
|