From 2faccc227b65ab9dea0f80cd008cbf22ca4c5142 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 16 Aug 2026 14:56:45 +0900 Subject: feat(plugin): proxy Composer\Util\Filesystem into the plugin worker The class was shadowed by a guard, so a plugin doing `new Filesystem()` got an explicit error. It is classified rust-proxy and plugin-constructible and the Rust port is complete, so listing it as a stub target and answering its public surface from the entity is all it takes. The constructor rejects a caller-supplied ProcessExecutor: that class has no proxy stub, so the argument could only be a second instance the Rust side never sees. findShortestPath re-checks its arguments at the boundary because the port panics where PHP throws, and a panic would take the process down instead of reaching the plugin's catch block. phpstan/extension-installer matches upstream Composer byte for byte again. --- scripts/plugin-stub-generator/targets.list | 1 + 1 file changed, 1 insertion(+) (limited to 'scripts/plugin-stub-generator') diff --git a/scripts/plugin-stub-generator/targets.list b/scripts/plugin-stub-generator/targets.list index 411b9e3b..c013c3c2 100644 --- a/scripts/plugin-stub-generator/targets.list +++ b/scripts/plugin-stub-generator/targets.list @@ -33,3 +33,4 @@ Composer\DependencyResolver\Operation\UpdateOperation Composer\DependencyResolver\Operation\UninstallOperation Composer\DependencyResolver\Operation\MarkAliasInstalledOperation Composer\DependencyResolver\Operation\MarkAliasUninstalledOperation +Composer\Util\Filesystem -- cgit v1.3.1-4-g156e