first commit

This commit is contained in:
2023-09-12 21:41:04 +02:00
commit 3361a7f053
13284 changed files with 2116755 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
@\trigger_error('The Twig_Autoloader class is deprecated since version 1.21 and will be removed in 2.0. Use Composer instead.', \E_USER_DEPRECATED);
/**
* Autoloads Twig classes.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.21 and will be removed in 2.0. Use Composer instead. 2.0.
*/
class Twig_Autoloader
{
/**
* Registers Twig_Autoloader as an SPL autoloader.
*
* @param bool $prepend whether to prepend the autoloader or not
*/
public static function register($prepend = \false)
{
@\trigger_error('Using Twig_Autoloader is deprecated since version 1.21. Use Composer instead.', \E_USER_DEPRECATED);
\spl_autoload_register([__CLASS__, 'autoload'], \true, $prepend);
}
/**
* Handles autoloading of classes.
*
* @param string $class a class name
*/
public static function autoload($class)
{
if (0 !== \strpos($class, 'Twig')) {
return;
}
if (\is_file($file = __DIR__ . '/../' . \str_replace(['_', "\0"], ['/', ''], $class) . '.php')) {
require $file;
} elseif (\is_file($file = __DIR__ . '/../../src/' . \str_replace(['Twig\\', '\\', "\0"], ['', '/', ''], $class) . '.php')) {
require $file;
}
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\NodeVisitor\AbstractNodeVisitor;
\class_exists('WPML\\Core\\Twig\\NodeVisitor\\AbstractNodeVisitor');
if (\false) {
class Twig_BaseNodeVisitor extends \WPML\Core\Twig\NodeVisitor\AbstractNodeVisitor
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Cache\FilesystemCache;
\class_exists('WPML\\Core\\Twig\\Cache\\FilesystemCache');
if (\false) {
class Twig_Cache_Filesystem extends \WPML\Core\Twig\Cache\FilesystemCache
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Cache\NullCache;
\class_exists('WPML\\Core\\Twig\\Cache\\NullCache');
if (\false) {
class Twig_Cache_Null extends \WPML\Core\Twig\Cache\NullCache
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Cache\CacheInterface;
\class_exists('WPML\\Core\\Twig\\Cache\\CacheInterface');
if (\false) {
class Twig_CacheInterface extends \WPML\Core\Twig\Cache\CacheInterface
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Compiler;
\class_exists('WPML\\Core\\Twig\\Compiler');
if (\false) {
class Twig_Compiler extends \WPML\Core\Twig\Compiler
{
}
}

View File

@@ -0,0 +1,34 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Interface implemented by compiler classes.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 3.0)
*/
interface Twig_CompilerInterface
{
/**
* Compiles a node.
*
* @return $this
*/
public function compile(\WPML\Core\Twig_NodeInterface $node);
/**
* Gets the current PHP code after compilation.
*
* @return string The PHP code
*/
public function getSource();
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\RuntimeLoader\ContainerRuntimeLoader;
\class_exists('WPML\\Core\\Twig\\RuntimeLoader\\ContainerRuntimeLoader');
if (\false) {
class Twig_ContainerRuntimeLoader extends \WPML\Core\Twig\RuntimeLoader\ContainerRuntimeLoader
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Environment;
\class_exists('WPML\\Core\\Twig\\Environment');
if (\false) {
class Twig_Environment extends \WPML\Core\Twig\Environment
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Error\Error;
\class_exists('WPML\\Core\\Twig\\Error\\Error');
if (\false) {
class Twig_Error extends \WPML\Core\Twig\Error\Error
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Error\LoaderError;
\class_exists('WPML\\Core\\Twig\\Error\\LoaderError');
if (\false) {
class Twig_Error_Loader extends \WPML\Core\Twig\Error\LoaderError
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Error\RuntimeError;
\class_exists('WPML\\Core\\Twig\\Error\\RuntimeError');
if (\false) {
class Twig_Error_Runtime extends \WPML\Core\Twig\Error\RuntimeError
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Error\SyntaxError;
\class_exists('WPML\\Core\\Twig\\Error\\SyntaxError');
if (\false) {
class Twig_Error_Syntax extends \WPML\Core\Twig\Error\SyntaxError
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Loader\ExistsLoaderInterface;
\class_exists('WPML\\Core\\Twig\\Loader\\ExistsLoaderInterface');
if (\false) {
class Twig_ExistsLoaderInterface extends \WPML\Core\Twig\Loader\ExistsLoaderInterface
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\ExpressionParser;
\class_exists('WPML\\Core\\Twig\\ExpressionParser');
if (\false) {
class Twig_ExpressionParser extends \WPML\Core\Twig\ExpressionParser
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\AbstractExtension;
\class_exists('WPML\\Core\\Twig\\Extension\\AbstractExtension');
if (\false) {
class Twig_Extension extends \WPML\Core\Twig\Extension\AbstractExtension
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\CoreExtension;
\class_exists('WPML\\Core\\Twig\\Extension\\CoreExtension');
if (\false) {
class Twig_Extension_Core extends \WPML\Core\Twig\Extension\CoreExtension
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\DebugExtension;
\class_exists('WPML\\Core\\Twig\\Extension\\DebugExtension');
if (\false) {
class Twig_Extension_Debug extends \WPML\Core\Twig\Extension\DebugExtension
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\EscaperExtension;
\class_exists('WPML\\Core\\Twig\\Extension\\EscaperExtension');
if (\false) {
class Twig_Extension_Escaper extends \WPML\Core\Twig\Extension\EscaperExtension
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\GlobalsInterface;
\class_exists('WPML\\Core\\Twig\\Extension\\GlobalsInterface');
if (\false) {
class Twig_Extension_GlobalsInterface extends \WPML\Core\Twig\Extension\GlobalsInterface
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\InitRuntimeInterface;
\class_exists('WPML\\Core\\Twig\\Extension\\InitRuntimeInterface');
if (\false) {
class Twig_Extension_InitRuntimeInterface extends \WPML\Core\Twig\Extension\InitRuntimeInterface
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\OptimizerExtension;
\class_exists('WPML\\Core\\Twig\\Extension\\OptimizerExtension');
if (\false) {
class Twig_Extension_Optimizer extends \WPML\Core\Twig\Extension\OptimizerExtension
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\ProfilerExtension;
\class_exists('WPML\\Core\\Twig\\Extension\\ProfilerExtension');
if (\false) {
class Twig_Extension_Profiler extends \WPML\Core\Twig\Extension\ProfilerExtension
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\SandboxExtension;
\class_exists('WPML\\Core\\Twig\\Extension\\SandboxExtension');
if (\false) {
class Twig_Extension_Sandbox extends \WPML\Core\Twig\Extension\SandboxExtension
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\StagingExtension;
\class_exists('WPML\\Core\\Twig\\Extension\\StagingExtension');
if (\false) {
class Twig_Extension_Staging extends \WPML\Core\Twig\Extension\StagingExtension
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\StringLoaderExtension;
\class_exists('WPML\\Core\\Twig\\Extension\\StringLoaderExtension');
if (\false) {
class Twig_Extension_StringLoader extends \WPML\Core\Twig\Extension\StringLoaderExtension
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Extension\ExtensionInterface;
\class_exists('WPML\\Core\\Twig\\Extension\\ExtensionInterface');
if (\false) {
class Twig_ExtensionInterface extends \WPML\Core\Twig\Extension\ExtensionInterface
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\RuntimeLoader\FactoryRuntimeLoader;
\class_exists('WPML\\Core\\Twig\\RuntimeLoader\\FactoryRuntimeLoader');
if (\false) {
class Twig_FactoryRuntimeLoader extends \WPML\Core\Twig\RuntimeLoader\FactoryRuntimeLoader
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\FileExtensionEscapingStrategy;
\class_exists('WPML\\Core\\Twig\\FileExtensionEscapingStrategy');
if (\false) {
class Twig_FileExtensionEscapingStrategy extends \WPML\Core\Twig\FileExtensionEscapingStrategy
{
}
}

View File

@@ -0,0 +1,69 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use WPML\Core\Twig\Node\Node;
@\trigger_error('The Twig_Filter class is deprecated since version 1.12 and will be removed in 2.0. Use \\Twig\\TwigFilter instead.', \E_USER_DEPRECATED);
/**
* Represents a template filter.
*
* Use \Twig\TwigFilter instead.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
abstract class Twig_Filter implements \WPML\Core\Twig_FilterInterface, \WPML\Core\Twig_FilterCallableInterface
{
protected $options;
protected $arguments = [];
public function __construct(array $options = [])
{
$this->options = \array_merge(['needs_environment' => \false, 'needs_context' => \false, 'pre_escape' => null, 'preserves_safety' => null, 'callable' => null], $options);
}
public function setArguments($arguments)
{
$this->arguments = $arguments;
}
public function getArguments()
{
return $this->arguments;
}
public function needsEnvironment()
{
return $this->options['needs_environment'];
}
public function needsContext()
{
return $this->options['needs_context'];
}
public function getSafe(\WPML\Core\Twig\Node\Node $filterArgs)
{
if (isset($this->options['is_safe'])) {
return $this->options['is_safe'];
}
if (isset($this->options['is_safe_callback'])) {
return \call_user_func($this->options['is_safe_callback'], $filterArgs);
}
}
public function getPreservesSafety()
{
return $this->options['preserves_safety'];
}
public function getPreEscape()
{
return $this->options['pre_escape'];
}
public function getCallable()
{
return $this->options['callable'];
}
}

View File

@@ -0,0 +1,36 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
@\trigger_error('The Twig_Filter_Function class is deprecated since version 1.12 and will be removed in 2.0. Use \\Twig\\TwigFilter instead.', \E_USER_DEPRECATED);
/**
* Represents a function template filter.
*
* Use \Twig\TwigFilter instead.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
class Twig_Filter_Function extends \WPML\Core\Twig_Filter
{
protected $function;
public function __construct($function, array $options = [])
{
$options['callable'] = $function;
parent::__construct($options);
$this->function = $function;
}
public function compile()
{
return $this->function;
}
}

View File

@@ -0,0 +1,39 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use WPML\Core\Twig\Extension\ExtensionInterface;
@\trigger_error('The Twig_Filter_Method class is deprecated since version 1.12 and will be removed in 2.0. Use \\Twig\\TwigFilter instead.', \E_USER_DEPRECATED);
/**
* Represents a method template filter.
*
* Use \Twig\TwigFilter instead.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
class Twig_Filter_Method extends \WPML\Core\Twig_Filter
{
protected $extension;
protected $method;
public function __construct(\WPML\Core\Twig\Extension\ExtensionInterface $extension, $method, array $options = [])
{
$options['callable'] = [$extension, $method];
parent::__construct($options);
$this->extension = $extension;
$this->method = $method;
}
public function compile()
{
return \sprintf('$this->env->getExtension(\'%s\')->%s', \get_class($this->extension), $this->method);
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
@\trigger_error('The Twig_Filter_Node class is deprecated since version 1.12 and will be removed in 2.0. Use \\Twig\\TwigFilter instead.', \E_USER_DEPRECATED);
/**
* Represents a template filter as a node.
*
* Use \Twig\TwigFilter instead.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
class Twig_Filter_Node extends \WPML\Core\Twig_Filter
{
protected $class;
public function __construct($class, array $options = [])
{
parent::__construct($options);
$this->class = $class;
}
public function getClass()
{
return $this->class;
}
public function compile()
{
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Represents a callable template filter.
*
* Use \Twig\TwigFilter instead.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
interface Twig_FilterCallableInterface
{
public function getCallable();
}

View File

@@ -0,0 +1,38 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use WPML\Core\Twig\Node\Node;
/**
* Represents a template filter.
*
* Use \Twig\TwigFilter instead.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
interface Twig_FilterInterface
{
/**
* Compiles a filter.
*
* @return string The PHP code for the filter
*/
public function compile();
public function needsEnvironment();
public function needsContext();
public function getSafe(\WPML\Core\Twig\Node\Node $filterArgs);
public function getPreservesSafety();
public function getPreEscape();
public function setArguments($arguments);
public function getArguments();
}

View File

@@ -0,0 +1,62 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use WPML\Core\Twig\Node\Node;
@\trigger_error('The Twig_Function class is deprecated since version 1.12 and will be removed in 2.0. Use \\Twig\\TwigFunction instead.', \E_USER_DEPRECATED);
/**
* Represents a template function.
*
* Use \Twig\TwigFunction instead.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
abstract class Twig_Function implements \WPML\Core\Twig_FunctionInterface, \WPML\Core\Twig_FunctionCallableInterface
{
protected $options;
protected $arguments = [];
public function __construct(array $options = [])
{
$this->options = \array_merge(['needs_environment' => \false, 'needs_context' => \false, 'callable' => null], $options);
}
public function setArguments($arguments)
{
$this->arguments = $arguments;
}
public function getArguments()
{
return $this->arguments;
}
public function needsEnvironment()
{
return $this->options['needs_environment'];
}
public function needsContext()
{
return $this->options['needs_context'];
}
public function getSafe(\WPML\Core\Twig\Node\Node $functionArgs)
{
if (isset($this->options['is_safe'])) {
return $this->options['is_safe'];
}
if (isset($this->options['is_safe_callback'])) {
return \call_user_func($this->options['is_safe_callback'], $functionArgs);
}
return [];
}
public function getCallable()
{
return $this->options['callable'];
}
}

View File

@@ -0,0 +1,37 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
* (c) Arnaud Le Blanc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
@\trigger_error('The Twig_Function_Function class is deprecated since version 1.12 and will be removed in 2.0. Use \\Twig\\TwigFunction instead.', \E_USER_DEPRECATED);
/**
* Represents a function template function.
*
* Use \Twig\TwigFunction instead.
*
* @author Arnaud Le Blanc <arnaud.lb@gmail.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
class Twig_Function_Function extends \WPML\Core\Twig_Function
{
protected $function;
public function __construct($function, array $options = [])
{
$options['callable'] = $function;
parent::__construct($options);
$this->function = $function;
}
public function compile()
{
return $this->function;
}
}

View File

@@ -0,0 +1,40 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
* (c) Arnaud Le Blanc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use WPML\Core\Twig\Extension\ExtensionInterface;
@\trigger_error('The Twig_Function_Method class is deprecated since version 1.12 and will be removed in 2.0. Use \\Twig\\TwigFunction instead.', \E_USER_DEPRECATED);
/**
* Represents a method template function.
*
* Use \Twig\TwigFunction instead.
*
* @author Arnaud Le Blanc <arnaud.lb@gmail.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
class Twig_Function_Method extends \WPML\Core\Twig_Function
{
protected $extension;
protected $method;
public function __construct(\WPML\Core\Twig\Extension\ExtensionInterface $extension, $method, array $options = [])
{
$options['callable'] = [$extension, $method];
parent::__construct($options);
$this->extension = $extension;
$this->method = $method;
}
public function compile()
{
return \sprintf('$this->env->getExtension(\'%s\')->%s', \get_class($this->extension), $this->method);
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
@\trigger_error('The Twig_Function_Node class is deprecated since version 1.12 and will be removed in 2.0. Use \\Twig\\TwigFunction instead.', \E_USER_DEPRECATED);
/**
* Represents a template function as a node.
*
* Use \Twig\TwigFunction instead.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
class Twig_Function_Node extends \WPML\Core\Twig_Function
{
protected $class;
public function __construct($class, array $options = [])
{
parent::__construct($options);
$this->class = $class;
}
public function getClass()
{
return $this->class;
}
public function compile()
{
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Represents a callable template function.
*
* Use \Twig\TwigFunction instead.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
interface Twig_FunctionCallableInterface
{
public function getCallable();
}

View File

@@ -0,0 +1,37 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
* (c) Arnaud Le Blanc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use WPML\Core\Twig\Node\Node;
/**
* Represents a template function.
*
* Use \Twig\TwigFunction instead.
*
* @author Arnaud Le Blanc <arnaud.lb@gmail.com>
*
* @deprecated since 1.12 (to be removed in 2.0)
*/
interface Twig_FunctionInterface
{
/**
* Compiles a function.
*
* @return string The PHP code for the function
*/
public function compile();
public function needsEnvironment();
public function needsContext();
public function getSafe(\WPML\Core\Twig\Node\Node $filterArgs);
public function setArguments($arguments);
public function getArguments();
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Lexer;
\class_exists('WPML\\Core\\Twig\\Lexer');
if (\false) {
class Twig_Lexer extends \WPML\Core\Twig\Lexer
{
}
}

View File

@@ -0,0 +1,36 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use WPML\Core\Twig\Error\SyntaxError;
use WPML\Core\Twig\Source;
use WPML\Core\Twig\TokenStream;
/**
* Interface implemented by lexer classes.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.12 (to be removed in 3.0)
*/
interface Twig_LexerInterface
{
/**
* Tokenizes a source code.
*
* @param string|Source $code The source code
* @param string $name A unique identifier for the source code
*
* @return TokenStream
*
* @throws SyntaxError When the code is syntactically wrong
*/
public function tokenize($code, $name = null);
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Loader\ArrayLoader;
\class_exists('WPML\\Core\\Twig\\Loader\\ArrayLoader');
if (\false) {
class Twig_Loader_Array extends \WPML\Core\Twig\Loader\ArrayLoader
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Loader\ChainLoader;
\class_exists('WPML\\Core\\Twig\\Loader\\ChainLoader');
if (\false) {
class Twig_Loader_Chain extends \WPML\Core\Twig\Loader\ChainLoader
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Loader\FilesystemLoader;
\class_exists('WPML\\Core\\Twig\\Loader\\FilesystemLoader');
if (\false) {
class Twig_Loader_Filesystem extends \WPML\Core\Twig\Loader\FilesystemLoader
{
}
}

View File

@@ -0,0 +1,57 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use WPML\Core\Twig\Loader\ExistsLoaderInterface;
use WPML\Core\Twig\Loader\LoaderInterface;
use WPML\Core\Twig\Loader\SourceContextLoaderInterface;
use WPML\Core\Twig\Source;
@\trigger_error('The Twig_Loader_String class is deprecated since version 1.18.1 and will be removed in 2.0. Use "Twig\\Loader\\ArrayLoader" instead or "Twig\\Environment::createTemplate()".', \E_USER_DEPRECATED);
/**
* Loads a template from a string.
*
* This loader should NEVER be used. It only exists for Twig internal purposes.
*
* When using this loader with a cache mechanism, you should know that a new cache
* key is generated each time a template content "changes" (the cache key being the
* source code of the template). If you don't want to see your cache grows out of
* control, you need to take care of clearing the old cache file by yourself.
*
* @deprecated since 1.18.1 (to be removed in 2.0)
*
* @internal
*
* @author Fabien Potencier <fabien@symfony.com>
*/
class Twig_Loader_String implements \WPML\Core\Twig\Loader\LoaderInterface, \WPML\Core\Twig\Loader\ExistsLoaderInterface, \WPML\Core\Twig\Loader\SourceContextLoaderInterface
{
public function getSource($name)
{
@\trigger_error(\sprintf('Calling "getSource" on "%s" is deprecated since 1.27. Use getSourceContext() instead.', \get_class($this)), \E_USER_DEPRECATED);
return $name;
}
public function getSourceContext($name)
{
return new \WPML\Core\Twig\Source($name, $name);
}
public function exists($name)
{
return \true;
}
public function getCacheKey($name)
{
return $name;
}
public function isFresh($name, $time)
{
return \true;
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Loader\LoaderInterface;
\class_exists('WPML\\Core\\Twig\\Loader\\LoaderInterface');
if (\false) {
interface Twig_LoaderInterface extends \WPML\Core\Twig\Loader\LoaderInterface
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Markup;
\class_exists('WPML\\Core\\Twig\\Markup');
if (\false) {
class Twig_Markup extends \WPML\Core\Twig\Markup
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Node;
\class_exists('WPML\\Core\\Twig\\Node\\Node');
if (\false) {
class Twig_Node extends \WPML\Core\Twig\Node\Node
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\AutoEscapeNode;
\class_exists('WPML\\Core\\Twig\\Node\\AutoEscapeNode');
if (\false) {
class Twig_Node_AutoEscape extends \WPML\Core\Twig\Node\AutoEscapeNode
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\BlockNode;
\class_exists('WPML\\Core\\Twig\\Node\\BlockNode');
if (\false) {
class Twig_Node_Block extends \WPML\Core\Twig\Node\BlockNode
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\BlockReferenceNode;
\class_exists('WPML\\Core\\Twig\\Node\\BlockReferenceNode');
if (\false) {
class Twig_Node_BlockReference extends \WPML\Core\Twig\Node\BlockReferenceNode
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\BodyNode;
\class_exists('WPML\\Core\\Twig\\Node\\BodyNode');
if (\false) {
class Twig_Node_Body extends \WPML\Core\Twig\Node\BodyNode
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\CheckSecurityNode;
\class_exists('WPML\\Core\\Twig\\Node\\CheckSecurityNode');
if (\false) {
class Twig_Node_CheckSecurity extends \WPML\Core\Twig\Node\CheckSecurityNode
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\DeprecatedNode;
\class_exists('WPML\\Core\\Twig\\Node\\DeprecatedNode');
if (\false) {
class Twig_Node_Deprecated extends \WPML\Core\Twig\Node\DeprecatedNode
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\DoNode;
\class_exists('WPML\\Core\\Twig\\Node\\DoNode');
if (\false) {
class Twig_Node_Do extends \WPML\Core\Twig\Node\DoNode
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\EmbedNode;
\class_exists('WPML\\Core\\Twig\\Node\\EmbedNode');
if (\false) {
class Twig_Node_Embed extends \WPML\Core\Twig\Node\EmbedNode
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\AbstractExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\AbstractExpression');
if (\false) {
class Twig_Node_Expression extends \WPML\Core\Twig\Node\Expression\AbstractExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\ArrayExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\ArrayExpression');
if (\false) {
class Twig_Node_Expression_Array extends \WPML\Core\Twig\Node\Expression\ArrayExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\AssignNameExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\AssignNameExpression');
if (\false) {
class Twig_Node_Expression_AssignName extends \WPML\Core\Twig\Node\Expression\AssignNameExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\AbstractBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\AbstractBinary');
if (\false) {
class Twig_Node_Expression_Binary extends \WPML\Core\Twig\Node\Expression\Binary\AbstractBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\AddBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\AddBinary');
if (\false) {
class Twig_Node_Expression_Binary_Add extends \WPML\Core\Twig\Node\Expression\Binary\AddBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\AndBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\AndBinary');
if (\false) {
class Twig_Node_Expression_Binary_And extends \WPML\Core\Twig\Node\Expression\Binary\AndBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\BitwiseAndBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\BitwiseAndBinary');
if (\false) {
class Twig_Node_Expression_Binary_BitwiseAnd extends \WPML\Core\Twig\Node\Expression\Binary\BitwiseAndBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\BitwiseOrBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\BitwiseOrBinary');
if (\false) {
class Twig_Node_Expression_Binary_BitwiseOr extends \WPML\Core\Twig\Node\Expression\Binary\BitwiseOrBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\BitwiseXorBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\BitwiseXorBinary');
if (\false) {
class Twig_Node_Expression_Binary_BitwiseXor extends \WPML\Core\Twig\Node\Expression\Binary\BitwiseXorBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\ConcatBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\ConcatBinary');
if (\false) {
class Twig_Node_Expression_Binary_Concat extends \WPML\Core\Twig\Node\Expression\Binary\ConcatBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\DivBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\DivBinary');
if (\false) {
class Twig_Node_Expression_Binary_Div extends \WPML\Core\Twig\Node\Expression\Binary\DivBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\EndsWithBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\EndsWithBinary');
if (\false) {
class Twig_Node_Expression_Binary_EndsWith extends \WPML\Core\Twig\Node\Expression\Binary\EndsWithBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\EqualBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\EqualBinary');
if (\false) {
class Twig_Node_Expression_Binary_Equal extends \WPML\Core\Twig\Node\Expression\Binary\EqualBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\FloorDivBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\FloorDivBinary');
if (\false) {
class Twig_Node_Expression_Binary_FloorDiv extends \WPML\Core\Twig\Node\Expression\Binary\FloorDivBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\GreaterBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\GreaterBinary');
if (\false) {
class Twig_Node_Expression_Binary_Greater extends \WPML\Core\Twig\Node\Expression\Binary\GreaterBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\GreaterEqualBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\GreaterEqualBinary');
if (\false) {
class Twig_Node_Expression_Binary_GreaterEqual extends \WPML\Core\Twig\Node\Expression\Binary\GreaterEqualBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\InBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\InBinary');
if (\false) {
class Twig_Node_Expression_Binary_In extends \WPML\Core\Twig\Node\Expression\Binary\InBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\LessBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\LessBinary');
if (\false) {
class Twig_Node_Expression_Binary_Less extends \WPML\Core\Twig\Node\Expression\Binary\LessBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\LessEqualBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\LessEqualBinary');
if (\false) {
class Twig_Node_Expression_Binary_LessEqual extends \WPML\Core\Twig\Node\Expression\Binary\LessEqualBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\MatchesBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\MatchesBinary');
if (\false) {
class Twig_Node_Expression_Binary_Matches extends \WPML\Core\Twig\Node\Expression\Binary\MatchesBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\ModBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\ModBinary');
if (\false) {
class Twig_Node_Expression_Binary_Mod extends \WPML\Core\Twig\Node\Expression\Binary\ModBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\MulBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\MulBinary');
if (\false) {
class Twig_Node_Expression_Binary_Mul extends \WPML\Core\Twig\Node\Expression\Binary\MulBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\NotEqualBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\NotEqualBinary');
if (\false) {
class Twig_Node_Expression_Binary_NotEqual extends \WPML\Core\Twig\Node\Expression\Binary\NotEqualBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\NotInBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\NotInBinary');
if (\false) {
class Twig_Node_Expression_Binary_NotIn extends \WPML\Core\Twig\Node\Expression\Binary\NotInBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\OrBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\OrBinary');
if (\false) {
class Twig_Node_Expression_Binary_Or extends \WPML\Core\Twig\Node\Expression\Binary\OrBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\PowerBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\PowerBinary');
if (\false) {
class Twig_Node_Expression_Binary_Power extends \WPML\Core\Twig\Node\Expression\Binary\PowerBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\RangeBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\RangeBinary');
if (\false) {
class Twig_Node_Expression_Binary_Range extends \WPML\Core\Twig\Node\Expression\Binary\RangeBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\StartsWithBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\StartsWithBinary');
if (\false) {
class Twig_Node_Expression_Binary_StartsWith extends \WPML\Core\Twig\Node\Expression\Binary\StartsWithBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Binary\SubBinary;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Binary\\SubBinary');
if (\false) {
class Twig_Node_Expression_Binary_Sub extends \WPML\Core\Twig\Node\Expression\Binary\SubBinary
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\BlockReferenceExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\BlockReferenceExpression');
if (\false) {
class Twig_Node_Expression_BlockReference extends \WPML\Core\Twig\Node\Expression\BlockReferenceExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\CallExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\CallExpression');
if (\false) {
class Twig_Node_Expression_Call extends \WPML\Core\Twig\Node\Expression\CallExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\ConditionalExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\ConditionalExpression');
if (\false) {
class Twig_Node_Expression_Conditional extends \WPML\Core\Twig\Node\Expression\ConditionalExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\ConstantExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\ConstantExpression');
if (\false) {
class Twig_Node_Expression_Constant extends \WPML\Core\Twig\Node\Expression\ConstantExpression
{
}
}

View File

@@ -0,0 +1,33 @@
<?php
namespace WPML\Core;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use WPML\Core\Twig\Compiler;
use WPML\Core\Twig\Node\Expression\AbstractExpression;
@\trigger_error('The Twig_Node_Expression_ExtensionReference class is deprecated since version 1.23 and will be removed in 2.0.', \E_USER_DEPRECATED);
/**
* Represents an extension call node.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @deprecated since 1.23 and will be removed in 2.0.
*/
class Twig_Node_Expression_ExtensionReference extends \WPML\Core\Twig\Node\Expression\AbstractExpression
{
public function __construct($name, $lineno, $tag = null)
{
parent::__construct([], ['name' => $name], $lineno, $tag);
}
public function compile(\WPML\Core\Twig\Compiler $compiler)
{
$compiler->raw(\sprintf("\$this->env->getExtension('%s')", $this->getAttribute('name')));
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\FilterExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\FilterExpression');
if (\false) {
class Twig_Node_Expression_Filter extends \WPML\Core\Twig\Node\Expression\FilterExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\Filter\DefaultFilter;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\Filter\\DefaultFilter');
if (\false) {
class Twig_Node_Expression_Filter_Default extends \WPML\Core\Twig\Node\Expression\Filter\DefaultFilter
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\FunctionExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\FunctionExpression');
if (\false) {
class Twig_Node_Expression_Function extends \WPML\Core\Twig\Node\Expression\FunctionExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\GetAttrExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\GetAttrExpression');
if (\false) {
class Twig_Node_Expression_GetAttr extends \WPML\Core\Twig\Node\Expression\GetAttrExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\MethodCallExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\MethodCallExpression');
if (\false) {
class Twig_Node_Expression_MethodCall extends \WPML\Core\Twig\Node\Expression\MethodCallExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\NameExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\NameExpression');
if (\false) {
class Twig_Node_Expression_Name extends \WPML\Core\Twig\Node\Expression\NameExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\NullCoalesceExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\NullCoalesceExpression');
if (\false) {
class Twig_Node_Expression_NullCoalesce extends \WPML\Core\Twig\Node\Expression\NullCoalesceExpression
{
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace WPML\Core;
use WPML\Core\Twig\Node\Expression\ParentExpression;
\class_exists('WPML\\Core\\Twig\\Node\\Expression\\ParentExpression');
if (\false) {
class Twig_Node_Expression_Parent extends \WPML\Core\Twig\Node\Expression\ParentExpression
{
}
}

Some files were not shown because too many files have changed in this diff Show More