* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace PHPUnit\Event\TestRunner; use function sprintf; use PHPUnit\Event\Event; use PHPUnit\Event\Telemetry; /** * @immutable * * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ final readonly class ExtensionBootstrapped implements Event { private Telemetry\Info $telemetryInfo; /** * @var class-string */ private string $className; /** * @var array */ private array $parameters; /** * @param class-string $className * @param array $parameters * * @internal This method is not covered by the backward compatibility promise for PHPUnit */ public function __construct(Telemetry\Info $telemetryInfo, string $className, array $parameters) { $this->telemetryInfo = $telemetryInfo; $this->className = $className; $this->parameters = $parameters; } public function telemetryInfo(): Telemetry\Info { return $this->telemetryInfo; } /** * @return class-string */ public function className(): string { return $this->className; } /** * @return array */ public function parameters(): array { return $this->parameters; } /** * @return non-empty-string */ public function asString(): string { return sprintf( 'Extension Bootstrapped (%s)', $this->className, ); } }