diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 7964551..d0db894 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -30,6 +30,32 @@ parameters: count: 1 path: src/Twig/Extension/QrCodeExtension.php + - + message: """ + #^Call to deprecated method getExpressionParser\\(\\) of class Twig\\\\Parser\\: + since Twig 3\\.21$# + """ + count: 3 + path: src/Twig/TokenParser/DatalistThemeTokenParser.php + + - + message: "#^Call to function method_exists\\(\\) with Twig\\\\Parser and 'parseExpression' will always evaluate to true\\.$#" + count: 3 + path: src/Twig/TokenParser/DatalistThemeTokenParser.php + + - + message: """ + #^Call to deprecated method getExpressionParser\\(\\) of class Twig\\\\Parser\\: + since Twig 3\\.21$# + """ + count: 3 + path: src/Twig/TokenParser/PaginatorThemeTokenParser.php + + - + message: "#^Call to function method_exists\\(\\) with Twig\\\\Parser and 'parseExpression' will always evaluate to true\\.$#" + count: 3 + path: src/Twig/TokenParser/PaginatorThemeTokenParser.php + - message: "#^Method Leapt\\\\CoreBundle\\\\Tests\\\\LeaptCoreTestingKernel\\:\\:configureContainer\\(\\) is unused\\.$#" count: 1 diff --git a/src/Twig/TokenParser/DatalistThemeTokenParser.php b/src/Twig/TokenParser/DatalistThemeTokenParser.php index 624ed77..7a6185a 100644 --- a/src/Twig/TokenParser/DatalistThemeTokenParser.php +++ b/src/Twig/TokenParser/DatalistThemeTokenParser.php @@ -16,15 +16,30 @@ public function parse(Token $token): DatalistThemeNode $lineno = $token->getLine(); $stream = $this->parser->getStream(); - $datalist = $this->parser->getExpressionParser()->parseExpression(); + if (method_exists($this->parser, 'parseExpression')) { + // Since Twig 3.21 + $datalist = $this->parser->parseExpression(); + } else { + $datalist = $this->parser->getExpressionParser()->parseExpression(); + } if ($this->parser->getStream()->test(Token::NAME_TYPE, 'with')) { $this->parser->getStream()->next(); - $resources = $this->parser->getExpressionParser()->parseExpression(); + if (method_exists($this->parser, 'parseExpression')) { + // Since Twig 3.21 + $resources = $this->parser->parseExpression(); + } else { + $resources = $this->parser->getExpressionParser()->parseExpression(); + } } else { $resources = new ArrayExpression([], $stream->getCurrent()->getLine()); do { - $resources->addElement($this->parser->getExpressionParser()->parseExpression()); + if (method_exists($this->parser, 'parseExpression')) { + // Since Twig 3.21 + $resources->addElement($this->parser->parseExpression()); + } else { + $resources->addElement($this->parser->getExpressionParser()->parseExpression()); + } } while (!$stream->test(Token::BLOCK_END_TYPE)); } diff --git a/src/Twig/TokenParser/PaginatorThemeTokenParser.php b/src/Twig/TokenParser/PaginatorThemeTokenParser.php index 1ae2feb..6294181 100644 --- a/src/Twig/TokenParser/PaginatorThemeTokenParser.php +++ b/src/Twig/TokenParser/PaginatorThemeTokenParser.php @@ -16,15 +16,30 @@ public function parse(Token $token): PaginatorThemeNode $lineno = $token->getLine(); $stream = $this->parser->getStream(); - $paginator = $this->parser->getExpressionParser()->parseExpression(); + if (method_exists($this->parser, 'parseExpression')) { + // Since Twig 3.21 + $paginator = $this->parser->parseExpression(); + } else { + $paginator = $this->parser->getExpressionParser()->parseExpression(); + } if ($this->parser->getStream()->test(Token::NAME_TYPE, 'with')) { $this->parser->getStream()->next(); - $resources = $this->parser->getExpressionParser()->parseExpression(); + if (method_exists($this->parser, 'parseExpression')) { + // Since Twig 3.21 + $resources = $this->parser->parseExpression(); + } else { + $resources = $this->parser->getExpressionParser()->parseExpression(); + } } else { $resources = new ArrayExpression([], $stream->getCurrent()->getLine()); do { - $resources->addElement($this->parser->getExpressionParser()->parseExpression()); + if (method_exists($this->parser, 'parseExpression')) { + // Since Twig 3.21 + $resources->addElement($this->parser->parseExpression()); + } else { + $resources->addElement($this->parser->getExpressionParser()->parseExpression()); + } } while (!$stream->test(Token::BLOCK_END_TYPE)); }