public function collectFromRuleXmlElement(SimpleXMLElement $ruleXmlElement)
 {
     if (!isset($ruleXmlElement->properties)) {
         return;
     }
     $sniffCode = (string) $ruleXmlElement['ref'];
     $sniffClass = SniffNaming::guessClassByCode($sniffCode);
     $properties = $this->sniffPropertyValuesExtractor->extractFromRuleXmlElement($ruleXmlElement);
     $this->addSniffPropertyValues($sniffClass, $properties);
 }
 private function isRuleXmlElementSkipped(SimpleXMLElement $ruleXmlElement) : bool
 {
     if (!isset($ruleXmlElement['ref'])) {
         return true;
     }
     if (isset($ruleXmlElement->severity)) {
         if (SniffNaming::isSniffCode($ruleXmlElement['ref'])) {
             return true;
         }
         return false;
     }
     return false;
 }
 public function filterOutAbstractAndNonPhpSniffClasses(array $originSniffClasses) : array
 {
     $finalSniffClasses = [];
     foreach ($originSniffClasses as $sniffClass) {
         if ($this->isAbstractClass($sniffClass)) {
             continue;
         }
         if (!$this->doesSniffSupportsPhp($sniffClass)) {
             continue;
         }
         $sniffCode = SniffNaming::guessCodeByClass($sniffClass);
         $finalSniffClasses[$sniffCode] = $sniffClass;
     }
     return $finalSniffClasses;
 }
 public function getCurrentListenerSniffCode() : string
 {
     if (!is_callable($this->currentListener)) {
         return '';
     }
     if (isset($this->sniffClassToSniffCodeMap[$this->currentListener])) {
         return $this->sniffClassToSniffCodeMap[$this->currentListener];
     }
     $closureReflection = new ReflectionFunction($this->currentListener);
     if (!isset($closureReflection->getStaticVariables()['sniffObject'])) {
         return '';
     }
     $sniffClass = get_class($closureReflection->getStaticVariables()['sniffObject']);
     $sniffCode = SniffNaming::guessCodeByClass($sniffClass);
     return $this->sniffClassToSniffCodeMap[$this->currentListener] = $sniffCode;
 }
 public function isSniffClassExcluded(string $sniffClassName) : bool
 {
     $sniffCode = SniffNaming::guessCodeByClass($sniffClassName);
     return $this->isSniffCodeExcluded($sniffCode);
 }