diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-04 05:09:04 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-04 05:43:32 +0900 |
| commit | 80631930a6ca7b64d96a89de61c8b63f302161a8 (patch) | |
| tree | dc5acf4a8dbe74b576ec7826206defa0e3f8fba1 /scripts/plugin-stub-generator/targets.list | |
| parent | 850b67c048bbf80d9739520d950f4dd1ed4190a5 (diff) | |
| download | php-shirabe-80631930a6ca7b64d96a89de61c8b63f302161a8.tar.gz php-shirabe-80631930a6ca7b64d96a89de61c8b63f302161a8.tar.zst php-shirabe-80631930a6ca7b64d96a89de61c8b63f302161a8.zip | |
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 <noreply@anthropic.com>
Diffstat (limited to 'scripts/plugin-stub-generator/targets.list')
| -rw-r--r-- | scripts/plugin-stub-generator/targets.list | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/plugin-stub-generator/targets.list b/scripts/plugin-stub-generator/targets.list index 42794e13..59656c6a 100644 --- a/scripts/plugin-stub-generator/targets.list +++ b/scripts/plugin-stub-generator/targets.list @@ -10,3 +10,14 @@ Composer\IO\BaseIO Composer\IO\ConsoleIO Composer\IO\BufferIO Composer\IO\NullIO +Composer\Package\BasePackage +Composer\Package\Package +Composer\Package\CompletePackage +Composer\Package\RootPackage +Composer\Repository\ArrayRepository +Composer\Repository\WritableArrayRepository +Composer\Repository\InstalledArrayRepository +Composer\Repository\FilesystemRepository +Composer\Repository\InstalledFilesystemRepository +Composer\Repository\RepositoryManager +Composer\Installer\InstallationManager |
