summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2000-01-04 13:52:52 +0000
committerAndi Gutmans <andi@php.net>2000-01-04 13:52:52 +0000
commitb8cebe32e3f4724213d64fe427e0338732ee8cb9 (patch)
treea03ed09c2ba1b3f0e14d2f996913d02a5aacbd7e
parentbdefd5da154ec567941c71d71c11b385bdd95182 (diff)
downloadphp-git-b8cebe32e3f4724213d64fe427e0338732ee8cb9.tar.gz
- Separate the overloaded objects' types from Zend's data types.
There is no reason for them to be the same, and IS_METHOD just cluttered there data types.
-rw-r--r--Zend/zend.h10
-rw-r--r--Zend/zend_execute.c8
2 files changed, 11 insertions, 7 deletions
diff --git a/Zend/zend.h b/Zend/zend.h
index c5dd865833..7df3c5dd58 100644
--- a/Zend/zend.h
+++ b/Zend/zend.h
@@ -204,7 +204,7 @@ typedef struct _zend_utility_values {
/* data types */
-#define IS_NULL 0
+#define IS_NULL 0
#define IS_LONG 1
#define IS_DOUBLE 2
#define IS_STRING 3
@@ -212,9 +212,13 @@ typedef struct _zend_utility_values {
#define IS_OBJECT 5
#define IS_BC 6 /* for parser internal use only */
#define IS_BOOL 7
-#define IS_RESOURCE 8
+#define IS_RESOURCE 8
#define IS_CONSTANT 9
-#define IS_METHOD 10 /* for overloaded function calls */
+
+/* overloaded elements data types */
+#define OE_IS_ARRAY (1<<0)
+#define OE_IS_OBJECT (1<<1)
+#define OE_IS_METHOD (1<<2)
int zend_startup(zend_utility_functions *utility_functions, char **extensions);
void zend_shutdown(void);
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 087ee6a95d..42bcc25938 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -644,7 +644,7 @@ static inline void zend_fetch_dimension_address(znode *result, znode *op1, znode
/* prepare the new element */
overloaded_element.element = *get_zval_ptr(op2, Ts, &free_op2, type);
- overloaded_element.type = IS_ARRAY;
+ overloaded_element.type = OE_IS_ARRAY;
if (!free_op2) {
zval_copy_ctor(&overloaded_element.element);
}
@@ -802,7 +802,7 @@ static inline void zend_fetch_property_address(znode *result, znode *op1, znode
}
overloaded_element.element = *get_zval_ptr(op2, Ts, &free_op2, type);
- overloaded_element.type = IS_OBJECT;
+ overloaded_element.type = OE_IS_OBJECT;
if (!free_op2) {
zval_copy_ctor(&overloaded_element.element);
}
@@ -832,7 +832,7 @@ static inline void zend_fetch_property_address(znode *result, znode *op1, znode
property_reference.type = type;
zend_llist_init(&property_reference.elements_list, sizeof(zend_overloaded_element), NULL, 0);
overloaded_element.element = *get_zval_ptr(op2, Ts, &free_op2, type);
- overloaded_element.type = IS_OBJECT;
+ overloaded_element.type = OE_IS_OBJECT;
if (!free_op2) {
zval_copy_ctor(&overloaded_element.element);
}
@@ -1459,7 +1459,7 @@ binary_assign_op_addr: {
zend_property_reference *property_reference;
overloaded_element.element = *function_name;
- overloaded_element.type = IS_METHOD;
+ overloaded_element.type = OE_IS_METHOD;
if (object.ptr) {
zend_property_reference property_reference;