cvs: ZendEngine2 / zend_closures.c zend_closures.h
[email protected] ("Marcus Boerger")
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvshelly1230985170@cvsserver> |
helly Sat Jan 3 12:19:30 2009 UTC
Modified files:
/ZendEngine2 zend_closures.c zend_closures.h
Log:
- Add reflection helpers
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_closures.c?r1=1.19&r2=1.20&diff_format=u
Index: ZendEngine2/zend_closures.c
diff -u ZendEngine2/zend_closures.c:1.19 ZendEngine2/zend_closures.c:1.20
--- ZendEngine2/zend_closures.c:1.19 Fri Jan 2 01:52:21 2009
+++ ZendEngine2/zend_closures.c Sat Jan 3 12:19:30 2009
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_closures.c,v 1.19 2009/01/02 01:52:21 pajoye Exp $ */
+/* $Id: zend_closures.c,v 1.20 2009/01/03 12:19:30 helly Exp $ */
#include "zend.h"
#include "zend_API.h"
@@ -107,6 +107,20 @@
}
/* }}} */
+ZEND_API const zend_function *zend_get_closure_method_def(zval *obj TSRMLS_DC)
+{
+ zend_closure *closure = (zend_closure *)zend_object_store_get_object(obj TSRMLS_CC);
+ return &closure->func;
+}
+/* }}} */
+
+ZEND_API zval* zend_get_closure_this_ptr(zval *obj TSRMLS_DC) /* {{{ */
+{
+ zend_closure *closure = (zend_closure *)zend_object_store_get_object(obj TSRMLS_CC);
+ return closure->this_ptr;
+}
+/* }}} */
+
static zend_function *zend_closure_get_method(zval **object_ptr, zstr method_name, int method_len TSRMLS_DC) /* {{{ */
{
unsigned int lc_name_len;
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_closures.h?r1=1.4&r2=1.5&diff_format=u
Index: ZendEngine2/zend_closures.h
diff -u ZendEngine2/zend_closures.h:1.4 ZendEngine2/zend_closures.h:1.5
--- ZendEngine2/zend_closures.h:1.4 Wed Dec 31 11:12:28 2008
+++ ZendEngine2/zend_closures.h Sat Jan 3 12:19:30 2009
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_closures.h,v 1.4 2008/12/31 11:12:28 sebastian Exp $ */
+/* $Id: zend_closures.h,v 1.5 2009/01/03 12:19:30 helly Exp $ */
#ifndef ZEND_CLOSURES_H
#define ZEND_CLOSURES_H
@@ -33,6 +33,8 @@
ZEND_API void zend_create_closure(zval *res, zend_function *op_array, zend_class_entry *scope, zval *this_ptr TSRMLS_DC);
ZEND_API int zend_get_closure(zval *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zval **zobj_ptr TSRMLS_DC);
ZEND_API zend_function *zend_get_closure_invoke_method(zval *obj TSRMLS_DC);
+ZEND_API const zend_function *zend_get_closure_method_def(zval *obj TSRMLS_DC);
+ZEND_API zval* zend_get_closure_this_ptr(zval *obj TSRMLS_DC);
END_EXTERN_C()