1
0
mirror of https://github.com/php/php-src.git synced 2026-04-03 06:02:23 +02:00

- 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.
This commit is contained in:
Andi Gutmans
2000-01-04 13:52:52 +00:00
parent bdefd5da15
commit b8cebe32e3
2 changed files with 11 additions and 7 deletions

View 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);

View 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;