*/ 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:----vhmveOXxYeLWg8Ia9gFg06p+eeL2BAsqvBRNOQoQGfA3sTbVzZLA2nHEhjlyFHjyPlsgtGq1qkYP3Vo1P7LEkKTnmvAPyl7669VTTsVGyYtgtURJK8V48FseynMan6lS+KJbeLqDoGWNVXzXWXZ0+S9xb3hz0rMfa/ntLUTpOspP9p8PBnhiPx55V3trpDt345AznBJRrcaYlReSt4DIxh7MaNgxOnJZedYrVDoR2saSWiZwrVTcnNboodS+y5l665UrK4FRIhtaFW7UbkFfZwG3wnnPOqcZ+sJRnEug0sQXfhFr/DPAOq7oEBfJyeatxTT1TorB8ptbvkrgzz9y3CotdRvWIEk+yl5pwep1k7wYE9qPLoWd0nhPScgoL0+0Uy4FhWCYgNjxsYfqfsfFhYAFfQ4mWtaOYoB0xW248dv+1o/fxffEZqnRC5aQA3kNCTGR9VCvuQ6dbXIqq/CQk/toMiAV3U0PmI3/nPvqr/ZuLlbzo1nTYA6vWs652Fh2v2vKptNAU230llSwNyu2TtD+3KWH3/CIItsbY6xpfZFdmpvsWT+m6DcRn3mYitIIlaLcSnA6PQe8pthrM0Yrb8lxtX1NWsuVOoETv4Q8S+pvad8k+1Tmc7jMktZNezO8sKT6aoFLgeoXKy/yRj7ZL15OTkl1CRhI+mRDoXjad7s=----ATTACHMENT:----MzM5Mjk3NTU3NzA2MjE5MCA0NTIzNTUzMjY1NzU5MzkwIDc2Njk5Njk2MTg0MDQwMTY=