*/ private array $sourceStubbers; public function __construct(SourceStubber $sourceStubber, SourceStubber ...$otherSourceStubbers) { $this->sourceStubbers = array_values(array_merge([$sourceStubber], $otherSourceStubbers)); } /** * @param class-string|trait-string $className */ public function generateClassStub(string $className): StubData|null { foreach ($this->sourceStubbers as $sourceStubber) { $stubData = $sourceStubber->generateClassStub($className); if ($stubData !== null) { return $stubData; } } return null; } public function generateFunctionStub(string $functionName): StubData|null { foreach ($this->sourceStubbers as $sourceStubber) { $stubData = $sourceStubber->generateFunctionStub($functionName); if ($stubData !== null) { return $stubData; } } return null; } public function generateConstantStub(string $constantName): StubData|null { return array_reduce($this->sourceStubbers, static fn (StubData|null $stubData, SourceStubber $sourceStubber): StubData|null => $stubData ?? $sourceStubber->generateConstantStub($constantName), null); } } __halt_compiler();----SIGNATURE:----OEb5OqdhLzT8rmc7OIWcRRwkIXgs5+uhAzCDQFwuie49fcmUiBrsMHKR3wm54gB+reb1uWfHeWha4aV5h2TKTk29IP8IkN4a5lYG2d4JVQeb+JNc22If0hYZ2JNrCFb7iv80g9ubzL39UbU2nx2iVIQv5H918le3gg7kclhM8jKrxDBl+nwzfK5WhgWOQDGB8rDvM29LqfU67wV/imI27hyL8oFsRYu2fRJFsu6sf/UTOHwauIuqU5csRqNIhnaKe35tEBG50N76RtkpIGmKYUZm5nhyvD7dnNB1mepe7bFZbktHvnHUzgTLENS2+pGIjXHF2UhEZTWS+ullzazQWvjFYBkVchkXKRPs+3bWgfFJg/NNaWHidobR693kdqFt8hh6NzXQt3vWG896WhYkKNtlh40bPONiocaUfE+YnSy9tkY8roKDcfIaCM4LPUvAS1db5J2Ue6H55OqP58FPX8chcXDTx5V8reLPUC0Lklwzjfsbv5g3up6hh8RPBHnIiKfkscA1WUGxQx+fU4ebpP6T3KhLIdbRRxYlT65CvAWSc5PULNi0XrQtPqqAMR4i6uMuvemmdc5NauvZtXOXb/JrhDFlIO2S9sV4/Gxu0xC+AqObEC7fbIzs6pMOi7nqZaLSDKrDQaaoj8vbfnPnTLTDgejkSbeNGI1wN+PUJcY=----ATTACHMENT:----ODYwNzA3MjkzODA2MjgwMyA3NDcyNjA0OTcyODIxMjcgMjIwMDMwMDIxMzA0MjI5MA==