Beispiel #1
0
 /**
  * @param \PHP\Manipulator\Token $token
  * @return \PHP\Manipulator\TokenContainer\Iterator *Provides Fluent Interface*
  */
 public function seekToToken(Token $token)
 {
     if ($this->valid() && $this->current() === $token) {
         return $this;
     }
     $key = $this->_container->getOffsetByToken($token);
     $this->seek($key);
     return $this;
 }
 /**
  * @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);
 }
 /**
  * @covers \PHP\Manipulator\TokenContainer::insertTokensAfter
  */
 public function testInsertTokensAfter()
 {
     $token1 = Token::factory('Token1');
     $token2 = Token::factory('Token2');
     $token3 = Token::factory('Token3');
     $container = new TokenContainer(array($token1));
     $container->insertTokensAfter($token1, array($token3, $token2));
     $this->assertEquals(0, $container->getOffsetByToken($token1));
     $this->assertEquals(1, $container->getOffsetByToken($token3));
     $this->assertEquals(2, $container->getOffsetByToken($token2));
 }