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);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.