friendship ended with social-app. php is my new best friend
at main 1.3 kB view raw
1<?php 2 3/* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12namespace Symfony\Component\CssSelector\Node; 13 14/** 15 * Represents a "<selector>:not(<identifier>)" node. 16 * 17 * This component is a port of the Python cssselect library, 18 * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. 19 * 20 * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com> 21 * 22 * @internal 23 */ 24class NegationNode extends AbstractNode 25{ 26 public function __construct( 27 private NodeInterface $selector, 28 private NodeInterface $subSelector, 29 ) { 30 } 31 32 public function getSelector(): NodeInterface 33 { 34 return $this->selector; 35 } 36 37 public function getSubSelector(): NodeInterface 38 { 39 return $this->subSelector; 40 } 41 42 public function getSpecificity(): Specificity 43 { 44 return $this->selector->getSpecificity()->plus($this->subSelector->getSpecificity()); 45 } 46 47 public function __toString(): string 48 { 49 return \sprintf('%s[%s:not(%s)]', $this->getNodeName(), $this->selector, $this->subSelector); 50 } 51}