Problem
phpc lint maps some unsupported CFG kinds to GitHub issues via lib/Lint/UnsupportedRegistry.php, but several Phase-2 P0 constructs still fall through to generic errors:
| Syntax |
Tracking issue |
Registry today |
Ternary ?: |
#114 |
missing (mis-filed Expr_Yield → #114) |
Compound .= / += |
#136 |
missing |
break / continue |
#115 |
missing |
match |
#143 |
missing |
Contributors running ./phpc lint examples/003-MiniWebApp/... do not get actionable issue links for common blockers.
Goal
Extend UnsupportedRegistry::KIND_TO_ISSUE and docs/unsupported-syntax.md so lint output references the correct issue numbers.
Tasks
Acceptance criteria
./phpc lint -r '\$x = \$a ? \$b : \$c;'
stderr mentions #114 (or structured lint code linking to it).
Verification (local only)
./script/ci-local.sh --filter UnsupportedRegistry
# or Docker:
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
vendor/bin/phpunit --filter Lint
Dependencies
Blocks
Problem
phpc lintmaps some unsupported CFG kinds to GitHub issues vialib/Lint/UnsupportedRegistry.php, but several Phase-2 P0 constructs still fall through to generic errors:?:Expr_Yield→ #114).=/+=break/continuematchContributors running
./phpc lint examples/003-MiniWebApp/...do not get actionable issue links for common blockers.Goal
Extend
UnsupportedRegistry::KIND_TO_ISSUEanddocs/unsupported-syntax.mdso lint output references the correct issue numbers.Tasks
lib/Compiler.phpLogicExceptionpaths for stmt/expr typesmatchExpr_Yield→ Language: Generators (yield and yield from) #167, not Language: Ternary operator (?:) in compiler pipeline #114)UnsupportedRegistry::trackingIssueForKind()for each added kinddocs/unsupported-syntax.mdif generated from registryAcceptance criteria
./phpc lint -r '\$x = \$a ? \$b : \$c;'stderr mentions #114 (or structured lint code linking to it).
Verification (local only)
Dependencies
Blocks