Ejemplo n.º 1
0
 /**
  * This method will parse a variable declarator.
  *
  * <code>
  * // Parameter declarator
  * function foo($x = 23) {
  * }
  * // Property declarator
  * class Foo{
  *     protected $bar = 42;
  * }
  * // Static declarator
  * function baz() {
  *     static $foo;
  * }
  * </code>
  *
  * @return PHP_Depend_Code_ASTVariableDeclarator
  * @since 0.9.6
  */
 private function _parseVariableDeclarator()
 {
     $this->_tokenStack->push();
     $name = $this->consumeToken(self::T_VARIABLE)->image;
     $this->consumeComments();
     $declarator = $this->builder->buildASTVariableDeclarator($name);
     if ($this->tokenizer->peek() === self::T_EQUAL) {
         $this->consumeToken(self::T_EQUAL);
         $declarator->setValue($this->_parseStaticValueOrStaticArray());
     }
     return $this->_setNodePositionsAndReturn($declarator);
 }
Ejemplo n.º 2
0
 /**
  * testPopOnRootReturnsExpectedTokenArrayWithAllTokens
  *
  * @return void
  */
 public function testPopOnRootReturnsExpectedTokenArrayWithAllTokens()
 {
     $stack = new PHP_Depend_Parser_TokenStack();
     $stack->push();
     $expected = array($stack->add($this->createToken()), $stack->add($this->createToken()));
     $stack->push();
     $expected[] = $stack->add($this->createToken());
     $expected[] = $stack->add($this->createToken());
     $stack->pop();
     self::assertSame($expected, $stack->pop());
 }