]> granicus.if.org Git - php/commitdiff
- Separate the overloaded objects' types from Zend's data types.
authorAndi Gutmans <andi@php.net>
Tue, 4 Jan 2000 13:52:52 +0000 (13:52 +0000)
committerAndi Gutmans <andi@php.net>
Tue, 4 Jan 2000 13:52:52 +0000 (13:52 +0000)
  There is no reason for them to be the same, and IS_METHOD just cluttered
  there data types.

Zend/zend.h
Zend/zend_execute.c

index c5dd865833d6d064812eb3662d2e982ebebd9abb..7df3c5dd58b64dff453858b85d96819e449ff20c 100644 (file)
@@ -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);
index 087ee6a95de83809686edb09247ad04318e5f6e0..42bcc25938ddfb978602be955de6b15a4d732eb0 100644 (file)
@@ -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;