Skip to content

Fix php-cfg asymmetric visibility overlay anchors (#7468) - #7471

Merged
PurHur merged 2 commits into
masterfrom
agent/issue-7468-asymmetric-visibility-overlay
Jun 7, 2026
Merged

PurHur merged 2 commits into
masterfrom
agent/issue-7468-asymmetric-visibility-overlay

Conversation

@PurHur

@PurHur PurHur commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Summary

php-src reference

  • Zend/zend_compile.c — asymmetric property visibility (ZEND_ACC_*_SET)
  • Zend/zend_language_parser.y — parenthesized (private(set)) modifier grammar

Verification

./script/docker-exec.sh -- bash -lc '
  ./script/apply-patches.sh 2>&1 | grep -i asymmetric || true
  php bin/vm.php test/repro-maintainer/asymmetric_visibility_regression.php
  php vendor/bin/phpunit --filter asymmetric_visibility test/compliance/VMTest.php
  php vendor/bin/phpunit --filter "AsymmetricVisibilityRewriterTest|ApplyPatchesTest::testPhpCfgAsymmetric" test/unit/AsymmetricVisibilityRewriterTest.php test/unit/ApplyPatchesTest.php
'

Output:

Skip php-cfg-asymmetric-visibility.patch (already applied)
hi
Error
OK (21 tests, 23 assertions)   # VM compliance asymmetric_visibility*
OK (17 tests, 27 assertions)   # unit rewriter + overlay probe

Closes #7468

Made with Cursor

PurHur and others added 2 commits June 7, 2026 09:26
Refresh Param.php promotionGetVisibility insertion for untyped vendor anchors, allow parenthesized public (private(set)) rewriting, and restore compliance VM tests for uncaught fatal stdout.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

#7460 language rewriter changes supersede local parenthesized-only edits.
@PurHur
PurHur merged commit 7574d42 into master Jun 7, 2026
@PurHur
PurHur deleted the agent/issue-7468-asymmetric-visibility-overlay branch June 7, 2026 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bootstrap: php-cfg-asymmetric-visibility Param.php overlay anchor missing — blocks public private(set) parse (#7460)

1 participant