*/ 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:----rMaXHQYSJIi6SHBg+SD9kusCg2n6XZo4LGcMYYoHNtuq+U9A0F7TsdrO5slklAC/xEPTXS54n5fkJS3GlseS88L6CgRa2D+CmzNhoEv0HQaYNZNmOoHy5CGm8QipaJrH9rRUBNR1qjtl9qtzIS/s9zNFNz2QctW26C0j6M7DcDg6HAKA7ODEyFM1Ttt0lzkNJbMeSuu4vXKoLy2YvrJOvuo7BrNkm+9qIDIps82OoNCBhGtn5EhJ35XcH7H3gWX6NO+GnS7Uv3AG9bRPsBwLSSjSkQ8MBNWh+2ziffby2x3SfJgQ+LAAQNNta+Z6daC6z9HI5kTL0QpjMtJPdnXhJzOHaTBezh0RVRXvre3yPb+GpylMyDkdf9Dibuc0UA5z+xtkzr8xBcmX9tpnD0VGMWHBzctH7H72wUmCdRp8Y4iSg+GVmNKtrv+Q62Oha0QoMkK98CbIvlIi7+7/Z9tb+n/DagTMSNFZyitia1c3dRJHjw6QvYbmAG8kO8TM3Ey3EXzMQaQOLmyOFqdm9bfqwtLzeBupjYlQxP8hj21xKKiILWg73qv3PJ0o5P8vinW9jGKyXoOxzLTRMuPLALKLdDr8g7rhCMuGMI6kOPMy9Nxx365AFSkNzVDrKQ3pzSophmc3YqMOvFmYZZgT7tezdYFOBb9lcGS0ODR/6mt7asA=----ATTACHMENT:----NTQ5OTI0NDAzNjY0ODEyNSAzNTQ1NDczNTgxMDUwNDIzIDY2NTMxNDM2Mzk2Nzk1NDY=