Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
srv
/
data
/
web
/
vhosts
/
www.shinegis.mu
/
htdocs
/
functions
/
scssphp
/
src
/
Ast
/
Css
/
/srv/data/web/vhosts/www.shinegis.mu/htdocs/functions/scssphp/src/Ast/Css/ModifiableCssAtRule.php
<?php /** * SCSSPHP * * @copyright 2012-2020 Leaf Corcoran * * @license http://opensource.org/licenses/MIT MIT * * @link http://scssphp.github.io/scssphp */ namespace ScssPhp\ScssPhp\Ast\Css; use ScssPhp\ScssPhp\SourceSpan\FileSpan; /** * A modifiable version of {@see CssAtRule} for use in the evaluation step. * * @internal */ final class ModifiableCssAtRule extends ModifiableCssParentNode implements CssAtRule { /** * @var CssValue<string> */ private $name; /** * @var CssValue<string>|null */ private $value; /** * @var bool * @readonly */ private $childless; /** * @var FileSpan * @readonly */ private $span; /** * @param CssValue<string> $name * @param CssValue<string>|null $value * @param bool $childless * @param FileSpan $span */ public function __construct(CssValue $name, FileSpan $span, bool $childless = false, ?CssValue $value = null) { parent::__construct(); $this->name = $name; $this->value = $value; $this->childless = $childless; $this->span = $span; } public function getName(): CssValue { return $this->name; } public function getValue(): ?CssValue { return $this->value; } public function isChildless(): bool { return $this->childless; } public function getSpan(): FileSpan { return $this->span; } public function accept($visitor) { return $visitor->visitCssAtRule($this); } /** * @phpstan-return ModifiableCssAtRule */ public function copyWithoutChildren(): ModifiableCssParentNode { return new ModifiableCssAtRule($this->name, $this->span, $this->childless, $this->value); } public function addChild(ModifiableCssNode $child): void { if ($this->childless) { throw new \LogicException('Cannot add a child in a childless at-rule.'); } parent::addChild($child); } }