Exemplo n.º 1
0
 /**
  * Extracts all variable and variable declarator nodes from the given node
  * and checks the variable name length against the configured maximum
  * length.
  *
  * @param PHP_PMD_AbstractNode $node The context source code node.
  *
  * @return void
  */
 public function apply(PHP_PMD_AbstractNode $node)
 {
     $this->resetProcessed();
     if ($node->getType() === 'class') {
         $fields = $node->findChildrenOfType('FieldDeclaration');
         foreach ($fields as $field) {
             if ($field->isPrivate()) {
                 continue;
             }
             $declarators = $field->findChildrenOfType('VariableDeclarator');
             foreach ($declarators as $declarator) {
                 $this->checkNodeImage($declarator);
             }
         }
     } else {
         $declarators = $node->findChildrenOfType('VariableDeclarator');
         foreach ($declarators as $declarator) {
             $this->checkNodeImage($declarator);
         }
         $variables = $node->findChildrenOfType('Variable');
         foreach ($variables as $variable) {
             $this->checkNodeImage($variable);
         }
     }
     $this->resetProcessed();
 }
Exemplo n.º 2
0
 /**
  * This method checks if a given function or method contains an eval-expression
  * and emits a rule violation when it exists.
  *
  * @param PHP_PMD_AbstractNode $node The context source code node.
  *
  * @return void
  */
 public function apply(PHP_PMD_AbstractNode $node)
 {
     foreach ($node->findChildrenOfType('EvalExpression') as $eval) {
         $this->addViolation($eval, array($node->getType(), $node->getName()));
     }
 }
 /**
  * This method should implement the violation analysis algorithm of concrete
  * rule implementations. All extending classes must implement this method.
  *
  * @param PHP_PMD_AbstractNode $node The current context for analysis.
  *
  * @return void
  */
 public function apply(PHP_PMD_AbstractNode $node)
 {
     foreach ($node->findChildrenOfType('GotoStatement') as $goto) {
         $this->addViolation($goto, array($node->getType(), $node->getName()));
     }
 }