diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-07 20:51:59 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-07 20:51:59 +0900 |
| commit | 427e059e4ffc6ce5ff130c803f9e533b7c125089 (patch) | |
| tree | 96b7c8690bbba0f3238dfe8f52e7fb572dced1e7 /crates/shirabe-php-rpc/php/stubs/Composer/Package/RootAliasPackage.php | |
| parent | ae365645730b95d5b01b0df7382b91668d5fa24e (diff) | |
| download | php-shirabe-427e059e4ffc6ce5ff130c803f9e533b7c125089.tar.gz php-shirabe-427e059e4ffc6ce5ff130c803f9e533b7c125089.tar.zst php-shirabe-427e059e4ffc6ce5ff130c803f9e533b7c125089.zip | |
feat(plugin): cross alias packages over RPC as proxy stubs
AliasPackage, CompleteAliasPackage and RootAliasPackage now have generated
proxy stubs, so a package handed to a plugin no longer has to be a real
package: it crosses as the stub matching its concrete variant, answers
getAliasOf / setRootPackageAlias / isRootPackageAlias /
hasSelfVersionRequires, and can be constructed from plugin code.
The setters RootPackageInterface declares are routed through that interface
for every root package instead of through the base Package state. Only the
alias variant needs it -- RootAliasPackage overrides all nine to write
through to the package it aliases -- but a real RootPackage delegates to the
same base state either way, so both take one path.
An alias of an alias has no representation here, so narrowing the
constructor argument to a real package is an explicit error rather than a
silent demotion.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-php-rpc/php/stubs/Composer/Package/RootAliasPackage.php')
| -rw-r--r-- | crates/shirabe-php-rpc/php/stubs/Composer/Package/RootAliasPackage.php | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/crates/shirabe-php-rpc/php/stubs/Composer/Package/RootAliasPackage.php b/crates/shirabe-php-rpc/php/stubs/Composer/Package/RootAliasPackage.php new file mode 100644 index 00000000..9c4a294f --- /dev/null +++ b/crates/shirabe-php-rpc/php/stubs/Composer/Package/RootAliasPackage.php @@ -0,0 +1,120 @@ +<?php + +// Generated by scripts/plugin-stub-generator; do not edit by hand. +// Proxy stub for Composer\Package\RootAliasPackage: the public surface forwards to the Rust-side entity over RPC. + +namespace Composer\Package; + +class RootAliasPackage extends CompleteAliasPackage implements RootPackageInterface +{ + public function __construct(RootPackage $aliasOf, string $version, string $prettyVersion) + { + [$this->__rhandle, $this->__epoch] = \ShirabeRpcRuntime::callRust(0, '__shirabeConstruct', [static::class, [$aliasOf, $version, $prettyVersion]]); + \ShirabeRustObjectRegistry::adopt($this->__rhandle, $this); + } + + public function getAliases(): array + { + return \ShirabeRpcRuntime::callRust($this->__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 setRequires(array $requires): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setRequires', [$requires]); + } + + public function setDevRequires(array $devRequires): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDevRequires', [$devRequires]); + } + + public function setConflicts(array $conflicts): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setConflicts', [$conflicts]); + } + + public function setProvides(array $provides): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setProvides', [$provides]); + } + + public function setReplaces(array $replaces): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setReplaces', [$replaces]); + } + + public function setAutoload(array $autoload): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setAutoload', [$autoload]); + } + + public function setDevAutoload(array $devAutoload): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDevAutoload', [$devAutoload]); + } + + 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]); + } + + public function setSuggests(array $suggests): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setSuggests', [$suggests]); + } + + public function setExtra(array $extra): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setExtra', [$extra]); + } +} |
