%PDF- %PDF-
Direktori : /home/q/g/b/qgbqkvz/www/wp-content/plugins/wp-scss/scssphp/src/Ast/Css/ |
Current File : /home/q/g/b/qgbqkvz/www/wp-content/plugins/wp-scss/scssphp/src/Ast/Css/IsInvisibleVisitor.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\Visitor\EveryCssVisitor; /** * The visitor used to implement {@see CssNode::isInvisible} * * @internal */ final class IsInvisibleVisitor extends EveryCssVisitor { /** * Whether to consider selectors with bogus combinators invisible. * * @var bool * @readonly */ private $includeBogus; /** * Whether to consider comments invisible. * * @var bool * @readonly */ private $includeComments; public function __construct(bool $includeBogus, bool $includeComments) { $this->includeBogus = $includeBogus; $this->includeComments = $includeComments; } public function visitCssAtRule($node): bool { // An unknown at-rule is never invisible. Because we don't know the semantics // of unknown rules, we can't guarantee that (for example) `@foo {}` isn't // meaningful. return false; } public function visitCssComment($node): bool { return $this->includeComments && !$node->isPreserved(); } public function visitCssStyleRule($node): bool { return ($this->includeBogus ? $node->getSelector()->getValue()->isInvisible() : $node->getSelector()->getValue()->isInvisibleOtherThanBogusCombinators()) || parent::visitCssStyleRule($node); } }