/** * 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(); }
/** * 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())); } }