Notice: Undefined variable: y in %s on line %d
-Warning: Missing argument 1 for (), called in %s on line %d and defined in %s on line %d
+Warning: Missing argument 1 for {closure}(), called in %s on line %d and defined in %s on line %d
NULL
Catchable fatal error: Argument 1 passed to test() must be an instance of Closure, instance of stdClass given, called in %s on line %d and defined in %s on line %d
--- /dev/null
+--TEST--
+Closure 032: Testing Closure and debug_backtrace
+--FILE--
+<?php
+
+function test(closure $a) {
+ $a(23);
+}
+
+
+$c = function($param) { print_r(debug_backtrace()); debug_print_backtrace(); };
+
+$c(23);
+test($c);
+?>
+--EXPECTF--
+Array
+(
+ [0] => Array
+ (
+ [file] => %s
+ [line] => %d
+ [function] => {closure}
+ [args] => Array
+ (
+ [0] => 23
+ )
+
+ )
+
+)
+#0 {closure}(23) called at [%s:%d]
+Array
+(
+ [0] => Array
+ (
+ [file] => %s
+ [line] => %d
+ [function] => {closure}
+ [args] => Array
+ (
+ [0] => 23
+ )
+
+ )
+
+ [1] => Array
+ (
+ [file] => %s
+ [line] => %d
+ [function] => test
+ [args] => Array
+ (
+ [0] => Closure Object
+ (
+ )
+
+ )
+
+ )
+
+)
+#0 {closure}(23) called at [%s:%d]
+#1 test(Closure Object ()) called at [%s:%d]
+
zend_op *current_op;
function_name.op_type = IS_CONST;
- ZVAL_STRINGL(&function_name.u.constant, "", sizeof("")-1, 1);
+ ZVAL_STRINGL(&function_name.u.constant, "{closure}", sizeof("{closure}")-1, 1);
zend_do_begin_function_declaration(function_token, &function_name, 0, return_reference, NULL TSRMLS_CC);
if (is_static) {
CG(active_op_array)->fn_flags |= ZEND_ACC_STATIC;
}
- CG(active_op_array)->fn_flags |= ZEND_ACC_CLOSURE;
+ CG(active_op_array)->fn_flags |= ZEND_ACC_CLOSURE;
}