readded TokenStream::look()
authorFabien Potencier <fabien.potencier@gmail.com>
Wed, 22 Dec 2010 10:49:01 +0000 (11:49 +0100)
committerFabien Potencier <fabien.potencier@gmail.com>
Wed, 22 Dec 2010 10:51:29 +0000 (11:51 +0100)
doc/advanced.rst
lib/Twig/TokenStream.php

index 9df1dd5..ce551af 100644 (file)
@@ -359,6 +359,8 @@ from the token stream (``$this->parser->getStream()``):
   type/value a syntax error is thrown. Otherwise, if the type and value are correct,
   the token is returned and the stream moves to the next token.
 
+* ``look()``: Looks a the next token without consuming it.
+
 Parsing expressions is done by calling the ``parseExpression()`` like we did for
 the ``set`` tag.
 
index d8e8edf..0a7ef90 100644 (file)
@@ -67,6 +67,20 @@ class Twig_TokenStream
     }
 
     /**
+     * Looks at the next token.
+     *
+     * @return Twig_Token
+     */
+    public function look()
+    {
+        if (!isset($this->tokens[$this->current + 1])) {
+            throw new Twig_Error_Syntax('Unexpected end of template');
+        }
+
+        return $this->tokens[$this->current + 1];
+    }
+
+    /**
      * test() current token
      *
      * @return bool