cvs: ZendEngine2 / zend_compile.c zend_compile.h
[email protected] ("Felipe Pena")
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvsfelipe1206213020@cvsserver> |
felipe Sat Mar 22 19:10:20 2008 UTC
Modified files:
/ZendEngine2 zend_compile.c zend_compile.h
Log:
- Renamed zend_do_fetch_class_name() to zend_do_build_full_name() (It is not used only for classes)
- Moved zend_resolve_class_name prototype to zend_compile.h
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.c?r1=1.815&r2=1.816&diff_format=u
Index: ZendEngine2/zend_compile.c
diff -u ZendEngine2/zend_compile.c:1.815 ZendEngine2/zend_compile.c:1.816
--- ZendEngine2/zend_compile.c:1.815 Fri Mar 21 20:41:22 2008
+++ ZendEngine2/zend_compile.c Sat Mar 22 19:10:20 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_compile.c,v 1.815 2008/03/21 20:41:22 felipe Exp $ */
+/* $Id: zend_compile.c,v 1.816 2008/03/22 19:10:20 felipe Exp $ */
#include <zend_language_parser.h>
#include "zend.h"
@@ -30,8 +30,6 @@
ZEND_API zend_op_array *(*zend_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC);
ZEND_API zend_op_array *(*zend_compile_string)(zval *source_string, char *filename TSRMLS_DC);
-void zend_resolve_class_name(znode *class_name, ulong *fetch_type, int check_ns_name TSRMLS_DC);
-
#ifndef ZTS
ZEND_API zend_compiler_globals compiler_globals;
ZEND_API zend_executor_globals executor_globals;
@@ -1832,28 +1830,28 @@
}
/* }}} */
-void zend_do_fetch_class_name(znode *result, znode *class_name_entry, znode *class_name TSRMLS_DC) /* {{{ */
+void zend_do_build_full_name(znode *result, znode *prefix, znode *name TSRMLS_DC) /* {{{ */
{
zend_uint length;
if (!result) {
- result = class_name_entry;
+ result = prefix;
} else {
- *result = *class_name_entry;
+ *result = *prefix;
}
- length = sizeof("::")-1 + Z_UNILEN(result->u.constant) + Z_UNILEN(class_name->u.constant);
+ length = sizeof("::")-1 + Z_UNILEN(result->u.constant) + Z_UNILEN(name->u.constant);
if (Z_TYPE(result->u.constant) == IS_UNICODE) {
Z_USTRVAL(result->u.constant) = erealloc(Z_USTRVAL(result->u.constant), UBYTES(length+1));
Z_USTRVAL(result->u.constant)[Z_USTRLEN(result->u.constant)] = ':';
Z_USTRVAL(result->u.constant)[Z_USTRLEN(result->u.constant)+1] = ':';
- memcpy(&Z_USTRVAL(result->u.constant)[Z_USTRLEN(result->u.constant) + sizeof("::")-1], Z_STRVAL(class_name->u.constant), UBYTES(Z_USTRLEN(class_name->u.constant)+1));
- STR_FREE(Z_USTRVAL(class_name->u.constant));
+ memcpy(&Z_USTRVAL(result->u.constant)[Z_USTRLEN(result->u.constant) + sizeof("::")-1], Z_STRVAL(name->u.constant), UBYTES(Z_USTRLEN(name->u.constant)+1));
+ STR_FREE(Z_USTRVAL(name->u.constant));
} else {
Z_STRVAL(result->u.constant) = erealloc(Z_STRVAL(result->u.constant), length+1);
memcpy(&Z_STRVAL(result->u.constant)[Z_STRLEN(result->u.constant)], "::", sizeof("::")-1);
- memcpy(&Z_STRVAL(result->u.constant)[Z_STRLEN(result->u.constant) + sizeof("::")-1], Z_STRVAL(class_name->u.constant), Z_STRLEN(class_name->u.constant)+1);
- STR_FREE(Z_STRVAL(class_name->u.constant));
+ memcpy(&Z_STRVAL(result->u.constant)[Z_STRLEN(result->u.constant) + sizeof("::")-1], Z_STRVAL(name->u.constant), Z_STRLEN(name->u.constant)+1);
+ STR_FREE(Z_STRVAL(name->u.constant));
}
Z_UNILEN(result->u.constant) = length;
}
@@ -3912,7 +3910,7 @@
} else if (ZEND_FETCH_CLASS_DEFAULT == type) {
zend_resolve_class_name(constant_container, &fetch_type, 1 TSRMLS_CC);
}
- zend_do_fetch_class_name(NULL, constant_container, constant_name TSRMLS_CC);
+ zend_do_build_full_name(NULL, constant_container, constant_name TSRMLS_CC);
*result = *constant_container;
result->u.constant.type = IS_CONSTANT | fetch_type;
} else if (fetch_type || !zend_constant_ct_subst(result, &constant_name->u.constant TSRMLS_CC)) {
@@ -5239,7 +5237,7 @@
Z_UNILEN(result->u.constant) = 0;
}
/* prefix = result */
- zend_do_fetch_class_name(NULL, result, name TSRMLS_CC);
+ zend_do_build_full_name(NULL, result, name TSRMLS_CC);
}
/* }}} */
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.h?r1=1.376&r2=1.377&diff_format=u
Index: ZendEngine2/zend_compile.h
diff -u ZendEngine2/zend_compile.h:1.376 ZendEngine2/zend_compile.h:1.377
--- ZendEngine2/zend_compile.h:1.376 Tue Mar 18 08:36:49 2008
+++ ZendEngine2/zend_compile.h Sat Mar 22 19:10:20 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_compile.h,v 1.376 2008/03/18 08:36:49 dmitry Exp $ */
+/* $Id: zend_compile.h,v 1.377 2008/03/22 19:10:20 felipe Exp $ */
#ifndef ZEND_COMPILE_H
#define ZEND_COMPILE_H
@@ -334,6 +334,8 @@
void shutdown_compiler(TSRMLS_D);
void zend_init_compiler_data_structures(TSRMLS_D);
+void zend_resolve_class_name(znode *class_name, ulong *fetch_type, int check_ns_name TSRMLS_DC);
+
extern ZEND_API zend_op_array *(*zend_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC);
extern ZEND_API zend_op_array *(*zend_compile_string)(zval *source_string, char *filename TSRMLS_DC);
@@ -421,7 +423,7 @@
void zend_do_clone(znode *result, znode *expr TSRMLS_DC);
void zend_do_begin_dynamic_function_call(znode *function_name, int prefix_len TSRMLS_DC);
void zend_do_fetch_class(znode *result, znode *class_name TSRMLS_DC);
-void zend_do_fetch_class_name(znode *result, znode *class_entry, znode *class_name TSRMLS_DC);
+void zend_do_build_full_name(znode *result, znode *prefix, znode *name TSRMLS_DC);
int zend_do_begin_class_member_function_call(znode *class_name, znode *method_name TSRMLS_DC);
void zend_do_end_function_call(znode *function_name, znode *result, znode *argument_list, int is_method, int is_dynamic_fcall TSRMLS_DC);
void zend_do_return(znode *expr, int do_end_vparse TSRMLS_DC);