diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-16 14:56:45 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-16 14:56:45 +0900 |
| commit | 2faccc227b65ab9dea0f80cd008cbf22ca4c5142 (patch) | |
| tree | 6f4e11bc37489550d68ad57d210668d0bea9cfb6 /crates/shirabe-php-rpc/php/guards | |
| parent | aa2124fe5d0c96078c034a6e4044b7e81acdf692 (diff) | |
| download | php-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 'crates/shirabe-php-rpc/php/guards')
| -rw-r--r-- | crates/shirabe-php-rpc/php/guards/Composer/Util/Filesystem.php | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/crates/shirabe-php-rpc/php/guards/Composer/Util/Filesystem.php b/crates/shirabe-php-rpc/php/guards/Composer/Util/Filesystem.php deleted file mode 100644 index 6d8dbb24..00000000 --- a/crates/shirabe-php-rpc/php/guards/Composer/Util/Filesystem.php +++ /dev/null @@ -1,167 +0,0 @@ -<?php - -// Generated by scripts/plugin-stub-generator; do not edit by hand. -// Guard for Composer\Util\Filesystem. -// The Rust side owns this class and the worker has no proxy for it, so this -// declaration shadows the real one: the constants and the hierarchy stay, while -// constructing it or calling anything on it raises an explicit error. - -namespace Composer\Util; - -class Filesystem -{ - public function __construct(?ProcessExecutor $executor = null) - { - \ShirabeUnsupportedClass::fail(self::class, '__construct'); - } - - public function remove(string $file) - { - \ShirabeUnsupportedClass::fail(self::class, 'remove'); - } - - public function isDirEmpty(string $dir) - { - \ShirabeUnsupportedClass::fail(self::class, 'isDirEmpty'); - } - - public function emptyDirectory(string $dir, bool $ensureDirectoryExists = true) - { - \ShirabeUnsupportedClass::fail(self::class, 'emptyDirectory'); - } - - public function removeDirectory(string $directory) - { - \ShirabeUnsupportedClass::fail(self::class, 'removeDirectory'); - } - - public function removeDirectoryAsync(string $directory) - { - \ShirabeUnsupportedClass::fail(self::class, 'removeDirectoryAsync'); - } - - public function removeDirectoryPhp(string $directory) - { - \ShirabeUnsupportedClass::fail(self::class, 'removeDirectoryPhp'); - } - - public function ensureDirectoryExists(string $directory) - { - \ShirabeUnsupportedClass::fail(self::class, 'ensureDirectoryExists'); - } - - public function unlink(string $path) - { - \ShirabeUnsupportedClass::fail(self::class, 'unlink'); - } - - public function rmdir(string $path) - { - \ShirabeUnsupportedClass::fail(self::class, 'rmdir'); - } - - public function copyThenRemove(string $source, string $target) - { - \ShirabeUnsupportedClass::fail(self::class, 'copyThenRemove'); - } - - public function copy(string $source, string $target) - { - \ShirabeUnsupportedClass::fail(self::class, 'copy'); - } - - public function rename(string $source, string $target) - { - \ShirabeUnsupportedClass::fail(self::class, 'rename'); - } - - public function findShortestPath(string $from, string $to, bool $directories = false, bool $preferRelative = false) - { - \ShirabeUnsupportedClass::fail(self::class, 'findShortestPath'); - } - - public function findShortestPathCode(string $from, string $to, bool $directories = false, bool $staticCode = false, bool $preferRelative = false) - { - \ShirabeUnsupportedClass::fail(self::class, 'findShortestPathCode'); - } - - public function isAbsolutePath(string $path) - { - \ShirabeUnsupportedClass::fail(self::class, 'isAbsolutePath'); - } - - public function size(string $path) - { - \ShirabeUnsupportedClass::fail(self::class, 'size'); - } - - public function normalizePath(string $path) - { - \ShirabeUnsupportedClass::fail(self::class, 'normalizePath'); - } - - public static function trimTrailingSlash(string $path) - { - \ShirabeUnsupportedClass::fail(self::class, 'trimTrailingSlash'); - } - - public static function isLocalPath(string $path) - { - \ShirabeUnsupportedClass::fail(self::class, 'isLocalPath'); - } - - public static function getPlatformPath(string $path) - { - \ShirabeUnsupportedClass::fail(self::class, 'getPlatformPath'); - } - - public static function isReadable(string $path) - { - \ShirabeUnsupportedClass::fail(self::class, 'isReadable'); - } - - protected function directorySize(string $directory) - { - \ShirabeUnsupportedClass::fail(self::class, 'directorySize'); - } - - protected function getProcess() - { - \ShirabeUnsupportedClass::fail(self::class, 'getProcess'); - } - - public function relativeSymlink(string $target, string $link) - { - \ShirabeUnsupportedClass::fail(self::class, 'relativeSymlink'); - } - - public function isSymlinkedDirectory(string $directory) - { - \ShirabeUnsupportedClass::fail(self::class, 'isSymlinkedDirectory'); - } - - public function junction(string $target, string $junction) - { - \ShirabeUnsupportedClass::fail(self::class, 'junction'); - } - - public function isJunction(string $junction) - { - \ShirabeUnsupportedClass::fail(self::class, 'isJunction'); - } - - public function removeJunction(string $junction) - { - \ShirabeUnsupportedClass::fail(self::class, 'removeJunction'); - } - - public function filePutContentsIfModified(string $path, string $content) - { - \ShirabeUnsupportedClass::fail(self::class, 'filePutContentsIfModified'); - } - - public function safeCopy(string $source, string $target): void - { - \ShirabeUnsupportedClass::fail(self::class, 'safeCopy'); - } -} |
