aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts/plugin-stub-generator
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-16 14:56:45 +0900
committernsfisis <nsfisis@gmail.com>2026-08-16 14:56:45 +0900
commit2faccc227b65ab9dea0f80cd008cbf22ca4c5142 (patch)
tree6f4e11bc37489550d68ad57d210668d0bea9cfb6 /scripts/plugin-stub-generator
parentaa2124fe5d0c96078c034a6e4044b7e81acdf692 (diff)
downloadphp-shirabe-2faccc227b65ab9dea0f80cd008cbf22ca4c5142.tar.gz
php-shirabe-2faccc227b65ab9dea0f80cd008cbf22ca4c5142.tar.zst
php-shirabe-2faccc227b65ab9dea0f80cd008cbf22ca4c5142.zip
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.
Diffstat (limited to 'scripts/plugin-stub-generator')
-rw-r--r--scripts/plugin-stub-generator/targets.list1
1 files changed, 1 insertions, 0 deletions
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