コード例 #1
0
 /**
  * @param PHPPreStack $stack
  * @param PHPPreActionSet $actionSet
  */
 public function handle(PHPPreStack &$stack, PHPPreActionSet &$actionSet)
 {
     $action = new PHPPreDeleteLinesAction();
     $action->setStartLine($this->fileLine);
     $action->setEndLine($this->fileLine);
     $actionSet->addAction($action);
     $this->handleInternal($stack, $actionSet);
 }
コード例 #2
0
 /**
  * @param PHPPreStack $stack
  * @param PHPPreActionSet $actionSet
  * @throws PHPPreParserException
  */
 public function handleInternal(PHPPreStack &$stack, PHPPreActionSet &$actionSet)
 {
     if ($stack->top() instanceof AbstractPHPPreConditionalDirective) {
         $conditionalTag = $stack->pop();
         if (!$conditionalTag->getCondition()) {
             $action = new PHPPreDeleteLinesAction();
             $action->setStartLine($conditionalTag->getFileLine());
             $action->setEndLine($this->getFileLine());
             $actionSet->addAction($action);
         }
     } else {
         throw new PHPPreParserException('No opening tag found for endif', $this->getFileLine());
     }
 }