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:
10
Zend/zend.h
10
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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user