summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.h
diff options
context:
space:
mode:
authorkrakjoe <joe.watkins@live.co.uk>2014-11-25 08:37:02 +0000
committerkrakjoe <joe.watkins@live.co.uk>2014-11-25 08:37:02 +0000
commite07feeaf8b91f16a89e9903b461042a0f6a63ac0 (patch)
tree4a94cd382fcffefff920f7733562e1860a66cc44 /Zend/zend_compile.h
parent9b6836ebd36eccc9e81ca51e2efe172e1d334f0b (diff)
parentd4f42289ddde002cb4d3ed9d1a4f2219f68df48e (diff)
downloadphp-git-e07feeaf8b91f16a89e9903b461042a0f6a63ac0.tar.gz
Merge branch 'master' of https://github.com/php/php-src
Diffstat (limited to 'Zend/zend_compile.h')
-rw-r--r--Zend/zend_compile.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index bc9b88227f..f9a66a37d8 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -227,13 +227,23 @@ typedef struct _zend_try_catch_element {
char *zend_visibility_string(uint32_t fn_flags);
typedef struct _zend_property_info {
+ uint32_t offset; /* property offset for object properties or
+ property index for static properties */
uint32_t flags;
- int offset;
zend_string *name;
zend_string *doc_comment;
zend_class_entry *ce;
} zend_property_info;
+#define OBJ_PROP(obj, offset) \
+ ((zval*)((char*)(obj) + offset))
+#define OBJ_PROP_NUM(obj, num) \
+ (&(obj)->properties_table[(num)])
+#define OBJ_PROP_TO_OFFSET(num) \
+ ((uint32_t)(zend_uintptr_t)OBJ_PROP_NUM(((zend_object*)NULL), num))
+#define OBJ_PROP_TO_NUM(offset) \
+ ((offset - OBJ_PROP_TO_OFFSET(0)) / sizeof(zval))
+
typedef struct _zend_arg_info {
const char *name; // TODO: convert into zend_string ???
uint32_t name_len;