Файл: upload/core/vendor/twig/twig/src/Extension/ExtensionInterface.php
Строк: 110
<?php
/*
* 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.
*/
namespace TwigExtension;
use TwigExpressionParser;
use TwigExpressionParserExpressionParserInterface;
use TwigExpressionParserPrecedenceChange;
use TwigNodeExpressionBinaryAbstractBinary;
use TwigNodeExpressionUnaryAbstractUnary;
use TwigNodeVisitorNodeVisitorInterface;
use TwigTokenParserTokenParserInterface;
use TwigTwigFilter;
use TwigTwigFunction;
use TwigTwigTest;
/**
* Interface implemented by extension classes.
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @method array<ExpressionParserInterface> getExpressionParsers()
*/
interface ExtensionInterface
{
/**
* Returns the token parser instances to add to the existing list.
*
* @return TokenParserInterface[]
*/
public function getTokenParsers();
/**
* Returns the node visitor instances to add to the existing list.
*
* @return NodeVisitorInterface[]
*/
public function getNodeVisitors();
/**
* Returns a list of filters to add to the existing list.
*
* @return TwigFilter[]
*/
public function getFilters();
/**
* Returns a list of tests to add to the existing list.
*
* @return TwigTest[]
*/
public function getTests();
/**
* Returns a list of functions to add to the existing list.
*
* @return TwigFunction[]
*/
public function getFunctions();
/**
* Returns a list of operators to add to the existing list.
*
* @return array<array>
*
* @psalm-return array{
* array<string, array{precedence: int, precedence_change?: PrecedenceChange, class: class-string<AbstractUnary>}>,
* array<string, array{precedence: int, precedence_change?: PrecedenceChange, class?: class-string<AbstractBinary>, associativity: ExpressionParser::OPERATOR_*}>
* }
*/
public function getOperators();
}