|null $lineNumber */ public function __construct(string $type, string $arguments = '', ?int $lineNumber = null) { parent::__construct($lineNumber); $this->type = $type; $this->arguments = $arguments; } /** * @return non-empty-string */ public function atRuleName(): string { return $this->type; } public function atRuleArgs(): string { return $this->arguments; } /** * @return non-empty-string */ public function render(OutputFormat $outputFormat): string { $formatter = $outputFormat->getFormatter(); $result = $formatter->comments($this); $arguments = $this->arguments; if ($arguments !== '') { $arguments = ' ' . $arguments; } $result .= "@{$this->type}$arguments{$formatter->spaceBeforeOpeningBrace()}{"; $result .= $this->renderRules($outputFormat); $result .= '}'; return $result; } }