/**
  * @param array $tokens
  */
 protected function _handleTokens(TokenContainer $container, array $tokens)
 {
     foreach ($tokens as $start) {
         if ($container->contains($start)) {
             $result = $this->findTokens('IncludeAndRequire', $start, $container);
             $tokens = $result->getTokens();
             foreach ($tokens as $token) {
                 if ($container->contains($token)) {
                     $container->removeToken($token);
                 }
             }
         }
     }
 }
 /**
  * @param \PHP\Manipulator\TokenContainer $container
  * @param mixed $params
  */
 public function run(TokenContainer $container, Token $from, Token $to)
 {
     if (!$container->contains($from)) {
         $message = "element 'from' not found in \$container";
         throw new \Exception($message);
     }
     if (!$container->contains($to)) {
         $message = "element 'to' not found in \$container";
         throw new \Exception($message);
     }
     $startOffset = $container->getOffsetByToken($from);
     $endOffset = $container->getOffsetByToken($to);
     if ($startOffset > $endOffset) {
         $message = 'startOffset is behind endOffset';
         throw new \Exception($message);
     }
     $tokens = $this->_getTokensFromStartToEnd($container, $startOffset, $endOffset);
     $value = $this->_mergeTokenValuesIntoString($tokens);
     $value = '/*' . $value . '*/';
     $commentToken = new Token($value, T_COMMENT);
     $container->insertAtOffset($startOffset, $commentToken);
     $container->removeTokens($tokens);
 }
Ejemplo n.º 3
0
 /**
  * @covers \PHP\Manipulator\TokenContainer::<protected>
  * @covers \PHP\Manipulator\TokenContainer::contains
  */
 public function testContains()
 {
     $anotherToken = Token::factory('Blub');
     $array = array(Token::factory('Blub'), Token::factory('Bla'), Token::factory('Foo'), Token::factory('BaaFoo'));
     $container = new TokenContainer($array);
     $this->assertTrue($container->contains($array[0]));
     $this->assertTrue($container->contains($array[1]));
     $this->assertTrue($container->contains($array[2]));
     $this->assertTrue($container->contains($array[3]));
     $this->assertFalse($container->contains($anotherToken));
     unset($container[1]);
     unset($container[2]);
     $this->assertFalse($container->contains($array[1]));
     $this->assertFalse($container->contains($array[2]));
 }