Repository navigation
Language: enum implements interface — case objects + VM dispatch (#3373) - #3378
Merged
Merged
Conversation
VM dispatch for enum case objects with interface methods and instanceof is already on master via EnumCaseSupport; add phpt, unit test, and capability matrix notes. Co-authored-by: Cursor <cursoragent@cursor.com>
PurHur
force-pushed
the
agent/issue-3373-enum-implements-interface
branch
from
May 30, 2026 10:59
2440554 to
9078c2b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Status::Open) now materialize as cached singletonObjectEntryinstances instead of bare backed scalars, enabling instance method dispatch andinstanceofagainst implemented interfaces.nameandvaluematch Zend semantics; string context (echo/concat) still uses the backed scalar.enum … implements …was already wired (Language: Backed enum VM regression — php-cfg Enum_ parse + case value echo (#1356) #3083); this completes VM runtime parity for the issue repro.php-src reference:
Zend/zend_enum.c(enum registration + case objects),Zend/zend_interfaces.c(interface satisfaction),Zend/zend_compile.c(zend_compile_enumimplements clause).Verification
Closes #3373
Made with Cursor