Skip to content

Commit 083185c

Browse files
committed
Add typedef for [class] constants
1 parent 7f860b9 commit 083185c

File tree

7 files changed

+25
-21
lines changed

7 files changed

+25
-21
lines changed

Zend/zend_API.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4702,7 +4702,7 @@ ZEND_API void zend_declare_property_stringl(zend_class_entry *ce, const char *na
47024702
}
47034703
/* }}} */
47044704

4705-
ZEND_API zend_class_constant *zend_declare_typed_class_constant(zend_class_entry *ce, zend_string *name, zval *value, int flags, zend_string *doc_comment, zend_type type) /* {{{ */
4705+
ZEND_API zend_class_constant *zend_declare_typed_class_constant(zend_class_entry *ce, zend_string *name, zval *value, zend_class_const_flags flags, zend_string *doc_comment, zend_type type) /* {{{ */
47064706
{
47074707
zend_class_constant *c;
47084708

@@ -4752,7 +4752,7 @@ ZEND_API zend_class_constant *zend_declare_typed_class_constant(zend_class_entry
47524752
return c;
47534753
}
47544754

4755-
ZEND_API zend_class_constant *zend_declare_class_constant_ex(zend_class_entry *ce, zend_string *name, zval *value, int flags, zend_string *doc_comment)
4755+
ZEND_API zend_class_constant *zend_declare_class_constant_ex(zend_class_entry *ce, zend_string *name, zval *value, zend_class_const_flags flags, zend_string *doc_comment)
47564756
{
47574757
return zend_declare_typed_class_constant(ce, name, value, flags, doc_comment, (zend_type) ZEND_TYPE_INIT_NONE(0));
47584758
}

Zend/zend_API.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -433,8 +433,8 @@ ZEND_API void zend_declare_property_double(zend_class_entry *ce, const char *nam
433433
ZEND_API void zend_declare_property_string(zend_class_entry *ce, const char *name, size_t name_length, const char *value, zend_prop_flags access_type);
434434
ZEND_API void zend_declare_property_stringl(zend_class_entry *ce, const char *name, size_t name_length, const char *value, size_t value_len, zend_prop_flags access_type);
435435

436-
ZEND_API zend_class_constant *zend_declare_typed_class_constant(zend_class_entry *ce, zend_string *name, zval *value, int access_type, zend_string *doc_comment, zend_type type);
437-
ZEND_API zend_class_constant *zend_declare_class_constant_ex(zend_class_entry *ce, zend_string *name, zval *value, int access_type, zend_string *doc_comment);
436+
ZEND_API zend_class_constant *zend_declare_typed_class_constant(zend_class_entry *ce, zend_string *name, zval *value, zend_class_const_flags access_type, zend_string *doc_comment, zend_type type);
437+
ZEND_API zend_class_constant *zend_declare_class_constant_ex(zend_class_entry *ce, zend_string *name, zval *value, zend_class_const_flags access_type, zend_string *doc_comment);
438438
ZEND_API void zend_declare_class_constant(zend_class_entry *ce, const char *name, size_t name_length, zval *value);
439439
ZEND_API void zend_declare_class_constant_null(zend_class_entry *ce, const char *name, size_t name_length);
440440
ZEND_API void zend_declare_class_constant_long(zend_class_entry *ce, const char *name, size_t name_length, zend_long value);

Zend/zend_compile.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7994,7 +7994,7 @@ static void zend_check_trait_alias_modifiers(uint32_t attr) /* {{{ */
79947994
}
79957995
/* }}} */
79967996

7997-
static void zend_compile_class_const_decl(zend_ast *ast, uint32_t flags, zend_ast *attr_ast, zend_ast *type_ast)
7997+
static void zend_compile_class_const_decl(zend_ast *ast, zend_class_const_flags flags, zend_ast *attr_ast, zend_ast *type_ast)
79987998
{
79997999
zend_ast_list *list = zend_ast_get_list(ast);
80008000
zend_class_entry *ce = CG(active_class_entry);

Zend/zend_compile.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,8 @@ typedef struct _zend_property_info {
420420
#define OBJ_PROP_TO_NUM(offset) \
421421
((offset - OBJ_PROP_TO_OFFSET(0)) / sizeof(zval))
422422

423+
typedef uint32_t zend_class_const_flags;
424+
423425
typedef struct _zend_class_constant {
424426
zval value; /* flags are stored in u2 */
425427
zend_string *doc_comment;

Zend/zend_constants.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ void zend_register_standard_constants(void)
116116
null_const = zend_hash_str_find_ptr(EG(zend_constants), "NULL", sizeof("NULL")-1);
117117
}
118118

119-
ZEND_API void zend_register_null_constant(const char *name, size_t name_len, int flags, int module_number)
119+
ZEND_API void zend_register_null_constant(const char *name, size_t name_len, zend_const_flags flags, int module_number)
120120
{
121121
zend_constant c;
122122

@@ -126,7 +126,7 @@ ZEND_API void zend_register_null_constant(const char *name, size_t name_len, int
126126
zend_register_constant(&c);
127127
}
128128

129-
ZEND_API void zend_register_bool_constant(const char *name, size_t name_len, bool bval, int flags, int module_number)
129+
ZEND_API void zend_register_bool_constant(const char *name, size_t name_len, bool bval, zend_const_flags flags, int module_number)
130130
{
131131
zend_constant c;
132132

@@ -136,7 +136,7 @@ ZEND_API void zend_register_bool_constant(const char *name, size_t name_len, boo
136136
zend_register_constant(&c);
137137
}
138138

139-
ZEND_API void zend_register_long_constant(const char *name, size_t name_len, zend_long lval, int flags, int module_number)
139+
ZEND_API void zend_register_long_constant(const char *name, size_t name_len, zend_long lval, zend_const_flags flags, int module_number)
140140
{
141141
zend_constant c;
142142

@@ -147,7 +147,7 @@ ZEND_API void zend_register_long_constant(const char *name, size_t name_len, zen
147147
}
148148

149149

150-
ZEND_API void zend_register_double_constant(const char *name, size_t name_len, double dval, int flags, int module_number)
150+
ZEND_API void zend_register_double_constant(const char *name, size_t name_len, double dval, zend_const_flags flags, int module_number)
151151
{
152152
zend_constant c;
153153

@@ -158,7 +158,7 @@ ZEND_API void zend_register_double_constant(const char *name, size_t name_len, d
158158
}
159159

160160

161-
ZEND_API void zend_register_stringl_constant(const char *name, size_t name_len, const char *strval, size_t strlen, int flags, int module_number)
161+
ZEND_API void zend_register_stringl_constant(const char *name, size_t name_len, const char *strval, size_t strlen, zend_const_flags flags, int module_number)
162162
{
163163
zend_constant c;
164164

@@ -169,7 +169,7 @@ ZEND_API void zend_register_stringl_constant(const char *name, size_t name_len,
169169
}
170170

171171

172-
ZEND_API void zend_register_string_constant(const char *name, size_t name_len, const char *strval, int flags, int module_number)
172+
ZEND_API void zend_register_string_constant(const char *name, size_t name_len, const char *strval, zend_const_flags flags, int module_number)
173173
{
174174
zend_register_stringl_constant(name, name_len, strval, strlen(strval), flags, module_number);
175175
}

Zend/zend_constants.h

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030

3131
#define PHP_USER_CONSTANT 0x7fffff /* a constant defined in user space */
3232

33+
typedef uint32_t zend_const_flags;
34+
3335
typedef struct _zend_constant {
3436
zval value;
3537
zend_string *name;
@@ -75,14 +77,14 @@ void zend_register_standard_constants(void);
7577
ZEND_API bool zend_verify_const_access(zend_class_constant *c, zend_class_entry *ce);
7678
ZEND_API zval *zend_get_constant(zend_string *name);
7779
ZEND_API zval *zend_get_constant_str(const char *name, size_t name_len);
78-
ZEND_API zval *zend_get_constant_ex(zend_string *name, zend_class_entry *scope, uint32_t flags);
79-
ZEND_API zval *zend_get_class_constant_ex(zend_string *class_name, zend_string *constant_name, zend_class_entry *scope, uint32_t flags);
80-
ZEND_API void zend_register_bool_constant(const char *name, size_t name_len, bool bval, int flags, int module_number);
81-
ZEND_API void zend_register_null_constant(const char *name, size_t name_len, int flags, int module_number);
82-
ZEND_API void zend_register_long_constant(const char *name, size_t name_len, zend_long lval, int flags, int module_number);
83-
ZEND_API void zend_register_double_constant(const char *name, size_t name_len, double dval, int flags, int module_number);
84-
ZEND_API void zend_register_string_constant(const char *name, size_t name_len, const char *strval, int flags, int module_number);
85-
ZEND_API void zend_register_stringl_constant(const char *name, size_t name_len, const char *strval, size_t strlen, int flags, int module_number);
80+
ZEND_API zval *zend_get_constant_ex(zend_string *name, zend_class_entry *scope, zend_const_flags flags);
81+
ZEND_API zval *zend_get_class_constant_ex(zend_string *class_name, zend_string *constant_name, zend_class_entry *scope, zend_const_flags flags);
82+
ZEND_API void zend_register_bool_constant(const char *name, size_t name_len, bool bval, zend_const_flags flags, int module_number);
83+
ZEND_API void zend_register_null_constant(const char *name, size_t name_len, zend_const_flags flags, int module_number);
84+
ZEND_API void zend_register_long_constant(const char *name, size_t name_len, zend_long lval, zend_const_flags flags, int module_number);
85+
ZEND_API void zend_register_double_constant(const char *name, size_t name_len, double dval, zend_const_flags flags, int module_number);
86+
ZEND_API void zend_register_string_constant(const char *name, size_t name_len, const char *strval, zend_const_flags flags, int module_number);
87+
ZEND_API void zend_register_stringl_constant(const char *name, size_t name_len, const char *strval, size_t strlen, zend_const_flags flags, int module_number);
8688
ZEND_API zend_result zend_register_constant(zend_constant *c);
8789
#ifdef ZTS
8890
void zend_copy_constants(HashTable *target, HashTable *source);

ext/reflection/php_reflection.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3894,7 +3894,7 @@ ZEND_METHOD(ReflectionClassConstant, hasType)
38943894
RETVAL_BOOL(ZEND_TYPE_IS_SET(ref->type));
38953895
}
38963896

3897-
static void _class_constant_check_flag(INTERNAL_FUNCTION_PARAMETERS, int mask) /* {{{ */
3897+
static void _class_constant_check_flag(INTERNAL_FUNCTION_PARAMETERS, zend_class_const_flags mask) /* {{{ */
38983898
{
38993899
reflection_object *intern;
39003900
zend_class_constant *ref;
@@ -3939,7 +3939,7 @@ ZEND_METHOD(ReflectionClassConstant, getModifiers)
39393939
{
39403940
reflection_object *intern;
39413941
zend_class_constant *ref;
3942-
uint32_t keep_flags = ZEND_ACC_FINAL | ZEND_ACC_PPP_MASK;
3942+
zend_class_const_flags keep_flags = ZEND_ACC_FINAL | ZEND_ACC_PPP_MASK;
39433943

39443944
if (zend_parse_parameters_none() == FAILURE) {
39453945
RETURN_THROWS();

0 commit comments

Comments
 (0)