diff options
Diffstat (limited to 'Zend/zend_ast.c')
-rw-r--r-- | Zend/zend_ast.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index b7ce1e5171..d52ad6326a 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -155,7 +155,14 @@ ZEND_API zend_ast *zend_ast_create_list(uint32_t init_children, zend_ast_kind ki uint32_t i; va_start(va, kind); for (i = 0; i < init_children; ++i) { - ast = zend_ast_list_add(ast, va_arg(va, zend_ast *)); + zend_ast *child = va_arg(va, zend_ast *); + ast = zend_ast_list_add(ast, child); + if (child != NULL) { + uint32_t lineno = zend_ast_get_lineno(child); + if (lineno < ast->lineno) { + ast->lineno = lineno; + } + } } va_end(va); } |