* updated Twig to the latest version in 1.x series (v1.35.0)

This commit is contained in:
slawkens1
2017-12-25 13:02:46 +01:00
parent 6528a4a60c
commit 8b4eccc064
198 changed files with 4132 additions and 1977 deletions

View File

@@ -3,8 +3,8 @@
/*
* This file is part of Twig.
*
* (c) 2009 Fabien Potencier
* (c) 2009 Armin Ronacher
* (c) Fabien Potencier
* (c) Armin Ronacher
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@@ -13,32 +13,40 @@
/**
* Represents a token stream.
*
* @final
*
* @author Fabien Potencier <fabien@symfony.com>
*/
class Twig_TokenStream
{
protected $tokens;
protected $current;
protected $current = 0;
protected $filename;
/**
* Constructor.
*
* @param array $tokens An array of tokens
* @param string $filename The name of the filename which tokens are associated with
*/
public function __construct(array $tokens, $filename = null)
{
$this->tokens = $tokens;
$this->current = 0;
$this->filename = $filename;
}
private $source;
/**
* Returns a string representation of the token stream.
*
* @return string
* @param array $tokens An array of tokens
* @param string|null $name The name of the template which tokens are associated with
* @param string|null $source The source code associated with the tokens
*/
public function __construct(array $tokens, $name = null, $source = null)
{
if (!$name instanceof Twig_Source) {
if (null !== $name || null !== $source) {
@trigger_error(sprintf('Passing a string as the $name argument of %s() is deprecated since version 1.27. Pass a Twig_Source instance instead.', __METHOD__), E_USER_DEPRECATED);
}
$this->source = new Twig_Source($source, $name);
} else {
$this->source = $name;
}
$this->tokens = $tokens;
// deprecated, not used anymore, to be removed in 2.0
$this->filename = $this->source->getName();
}
public function __toString()
{
return implode("\n", $this->tokens);
@@ -57,7 +65,7 @@ class Twig_TokenStream
public function next()
{
if (!isset($this->tokens[++$this->current])) {
throw new Twig_Error_Syntax('Unexpected end of template', $this->tokens[$this->current - 1]->getLine(), $this->filename);
throw new Twig_Error_Syntax('Unexpected end of template.', $this->tokens[$this->current - 1]->getLine(), $this->source);
}
return $this->tokens[$this->current - 1];
@@ -85,12 +93,12 @@ class Twig_TokenStream
$token = $this->tokens[$this->current];
if (!$token->test($type, $value)) {
$line = $token->getLine();
throw new Twig_Error_Syntax(sprintf('%sUnexpected token "%s" of value "%s" ("%s" expected%s)',
throw new Twig_Error_Syntax(sprintf('%sUnexpected token "%s" of value "%s" ("%s" expected%s).',
$message ? $message.'. ' : '',
Twig_Token::typeToEnglish($token->getType()), $token->getValue(),
Twig_Token::typeToEnglish($type), $value ? sprintf(' with value "%s"', $value) : ''),
$line,
$this->filename
$this->source
);
}
$this->next();
@@ -108,7 +116,7 @@ class Twig_TokenStream
public function look($number = 1)
{
if (!isset($this->tokens[$this->current + $number])) {
throw new Twig_Error_Syntax('Unexpected end of template', $this->tokens[$this->current + $number - 1]->getLine(), $this->filename);
throw new Twig_Error_Syntax('Unexpected end of template.', $this->tokens[$this->current + $number - 1]->getLine(), $this->source);
}
return $this->tokens[$this->current + $number];
@@ -135,8 +143,6 @@ class Twig_TokenStream
}
/**
* Gets the current token.
*
* @return Twig_Token
*/
public function getCurrent()
@@ -145,12 +151,46 @@ class Twig_TokenStream
}
/**
* Gets the filename associated with this stream.
* Gets the name associated with this stream (null if not defined).
*
* @return string
* @return string|null
*
* @deprecated since 1.27 (to be removed in 2.0)
*/
public function getFilename()
{
return $this->filename;
@trigger_error(sprintf('The %s() method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', __METHOD__), E_USER_DEPRECATED);
return $this->source->getName();
}
/**
* Gets the source code associated with this stream.
*
* @return string
*
* @internal Don't use this as it might be empty depending on the environment configuration
*
* @deprecated since 1.27 (to be removed in 2.0)
*/
public function getSource()
{
@trigger_error(sprintf('The %s() method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', __METHOD__), E_USER_DEPRECATED);
return $this->source->getCode();
}
/**
* Gets the source associated with this stream.
*
* @return Twig_Source
*
* @internal
*/
public function getSourceContext()
{
return $this->source;
}
}
class_alias('Twig_TokenStream', 'Twig\TokenStream', false);