* @readonly */ private $rectorClass; /** * @readonly * @var int */ private $line; /** * @param string|\Rector\Core\Contract\Rector\RectorInterface $rectorClass */ public function __construct($rectorClass, int $line) { $this->line = $line; if ($rectorClass instanceof RectorInterface) { $rectorClass = \get_class($rectorClass); } $this->rectorClass = $rectorClass; } /** * @return class-string */ public function getRectorClass() : string { return $this->rectorClass; } /** * @param array $json * @return $this */ public static function decode(array $json) : \RectorPrefix202305\Symplify\EasyParallel\Contract\SerializableInterface { $rectorClass = $json[self::KEY_RECTOR_CLASS]; Assert::string($rectorClass); $line = $json[self::KEY_LINE]; Assert::integer($line); return new self($rectorClass, $line); } /** * @return array{rector_class: class-string, line: int} */ public function jsonSerialize() : array { return [self::KEY_RECTOR_CLASS => $this->rectorClass, self::KEY_LINE => $this->line]; } }