mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Generate C enums from internal enums, introduce Z_PARAM_ENUM() (#20917)
Update gen_stubs.php to generate C enums from internal enums, when the stub is annotated with @generate-c-enums. Enum values can be compared to the result of zend_enum_fetch_case_id(zend_object*).
The generated enums are added to separate files named {$extensionName}_decl.h, so that it's possible to include these from anywhere. _arginfo.h files would generate warnings if we tried to include them in a compilation unit that doesn't call the register_{$class} functions, for instance.
Introduce Z_PARAM_ENUM().
* Make ZEND_AST_CONST_ENUM_INIT a 4-children node
* Store enum case id in ZEND_AST_CONST_ENUM_INIT
* Store enum case id in instance
* Expose enum case_id internally
* Generate C enum for internal enums
* Introduce Z_PARAM_ENUM()
* Port extensions
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -21,6 +21,7 @@
|
||||
|
||||
# Collapse generated files within git and pull request diff.
|
||||
**/*_arginfo.h linguist-generated -diff
|
||||
**/*_decl.h linguist-generated -diff
|
||||
/main/debug_gdb_scripts.c linguist-generated -diff
|
||||
/Zend/zend_vm_execute.h linguist-generated -diff
|
||||
/Zend/zend_vm_handlers.h linguist-generated -diff
|
||||
|
||||
Reference in New Issue
Block a user