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/CompletePackage.php | 134 +++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 crates/shirabe-php-rpc/php/stubs/Composer/Package/CompletePackage.php (limited to 'crates/shirabe-php-rpc/php/stubs/Composer/Package/CompletePackage.php') diff --git a/crates/shirabe-php-rpc/php/stubs/Composer/Package/CompletePackage.php b/crates/shirabe-php-rpc/php/stubs/Composer/Package/CompletePackage.php new file mode 100644 index 00000000..588084b0 --- /dev/null +++ b/crates/shirabe-php-rpc/php/stubs/Composer/Package/CompletePackage.php @@ -0,0 +1,134 @@ +__rhandle, 'getScripts', []); + } + + public function setScripts(array $scripts): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setScripts', [$scripts]); + } + + public function getRepositories(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getRepositories', []); + } + + public function setRepositories(array $repositories): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setRepositories', [$repositories]); + } + + public function getLicense(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getLicense', []); + } + + public function setLicense(array $license): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setLicense', [$license]); + } + + public function getKeywords(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getKeywords', []); + } + + public function setKeywords(array $keywords): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setKeywords', [$keywords]); + } + + public function getDescription(): ?string + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getDescription', []); + } + + public function setDescription(?string $description): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDescription', [$description]); + } + + public function getHomepage(): ?string + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getHomepage', []); + } + + public function setHomepage(?string $homepage): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setHomepage', [$homepage]); + } + + public function getAuthors(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getAuthors', []); + } + + public function setAuthors(array $authors): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setAuthors', [$authors]); + } + + public function getSupport(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getSupport', []); + } + + public function setSupport(array $support): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setSupport', [$support]); + } + + public function getFunding(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getFunding', []); + } + + public function setFunding(array $funding): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setFunding', [$funding]); + } + + public function isAbandoned(): bool + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'isAbandoned', []); + } + + public function getReplacementPackage(): ?string + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getReplacementPackage', []); + } + + public function setAbandoned($abandoned): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setAbandoned', [$abandoned]); + } + + public function getArchiveName(): ?string + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getArchiveName', []); + } + + public function setArchiveName(?string $name): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setArchiveName', [$name]); + } + + public function getArchiveExcludes(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getArchiveExcludes', []); + } + + public function setArchiveExcludes(array $excludes): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setArchiveExcludes', [$excludes]); + } +} -- cgit v1.3.1