|null $lineNumber */ public function __construct(CSSString $charset, ?int $lineNumber = null) { $this->charset = $charset; $this->setPosition($lineNumber); } /** * @param string|CSSString $charset */ public function setCharset($charset): void { $charset = $charset instanceof CSSString ? $charset : new CSSString($charset); $this->charset = $charset; } public function getCharset(): string { return $this->charset->getString(); } /** * @return non-empty-string */ public function render(OutputFormat $outputFormat): string { return "{$outputFormat->getFormatter()->comments($this)}@charset {$this->charset->render($outputFormat)};"; } /** * @return non-empty-string */ public function atRuleName(): string { return 'charset'; } public function atRuleArgs(): CSSString { return $this->charset; } /** * @return array|null> * * @internal */ public function getArrayRepresentation(): array { return [ 'class' => $this->getShortClassName(), 'charset' => $this->charset->getArrayRepresentation(), ]; } }