From 80631930a6ca7b64d96a89de61c8b63f302161a8 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 4 Aug 2026 05:09:04 +0900 Subject: feat(plugin): generate proxy stubs for the package and repository graph Emit the eleven stubs a subscriber plugin's object-graph calls reach (BasePackage through RootPackage, the installed-repository hierarchy, RepositoryManager, InstallationManager). The generator learns the member kinds these classes need: builtin interfaces contribute no closure entries, public static properties are materialized, public instance properties forward through __get/__set, __toString forwards like a plain method, __clone throws (proxy clone semantics are still an open design question), and a subclass stub may add interfaces to its inherited surface. Co-Authored-By: Claude Fable 5 --- .../php/stubs/Composer/Package/RootPackage.php | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 crates/shirabe-php-rpc/php/stubs/Composer/Package/RootPackage.php (limited to 'crates/shirabe-php-rpc/php/stubs/Composer/Package/RootPackage.php') diff --git a/crates/shirabe-php-rpc/php/stubs/Composer/Package/RootPackage.php b/crates/shirabe-php-rpc/php/stubs/Composer/Package/RootPackage.php new file mode 100644 index 00000000..7584787d --- /dev/null +++ b/crates/shirabe-php-rpc/php/stubs/Composer/Package/RootPackage.php @@ -0,0 +1,71 @@ +__rhandle, 'getAliases', []); + } + + public function getMinimumStability(): string + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getMinimumStability', []); + } + + public function getStabilityFlags(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getStabilityFlags', []); + } + + public function getReferences(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getReferences', []); + } + + public function getPreferStable(): bool + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getPreferStable', []); + } + + public function getConfig(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getConfig', []); + } + + public function setStabilityFlags(array $stabilityFlags): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setStabilityFlags', [$stabilityFlags]); + } + + public function setMinimumStability(string $minimumStability): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setMinimumStability', [$minimumStability]); + } + + public function setPreferStable(bool $preferStable): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setPreferStable', [$preferStable]); + } + + public function setConfig(array $config): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setConfig', [$config]); + } + + public function setReferences(array $references): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setReferences', [$references]); + } + + public function setAliases(array $aliases): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setAliases', [$aliases]); + } +} -- cgit v1.3.1