PluginProbe
Elementor Website Builder – more than just a page builder / 3.28.0-dev1
Elementor Website Builder – more than just a page builder v3.28.0-dev1
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
elementor / vendor_prefixed / twig / src / Node / Expression / MethodCallExpression.php

MethodCallExpression.php in Elementor Website Builder – more than just a page builder 3.28.0-dev1, at vendor_prefixed/twig/src/Node/Expression/MethodCallExpression.php

43 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * This file is part of Twig.
5 *
6 * (c) Fabien Potencier
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace ElementorDeps\Twig\Node\Expression;
12
13 use ElementorDeps\Twig\Compiler;
14 class MethodCallExpression extends AbstractExpression
15 {
16 public function __construct(AbstractExpression $node, string $method, ArrayExpression $arguments, int $lineno)
17 {
18 parent::__construct(['node' => $node, 'arguments' => $arguments], ['method' => $method, 'safe' => \false, 'is_defined_test' => \false], $lineno);
19 if ($node instanceof NameExpression) {
20 $node->setAttribute('always_defined', \true);
21 }
22 }
23 public function compile(Compiler $compiler) : void
24 {
25 if ($this->getAttribute('is_defined_test')) {
26 $compiler->raw('method_exists($macros[')->repr($this->getNode('node')->getAttribute('name'))->raw('], ')->repr($this->getAttribute('method'))->raw(')');
27 return;
28 }
29 $compiler->raw('CoreExtension::callMacro($macros[')->repr($this->getNode('node')->getAttribute('name'))->raw('], ')->repr($this->getAttribute('method'))->raw(', [');
30 $first = \true;
31 /** @var ArrayExpression */
32 $args = $this->getNode('arguments');
33 foreach ($args->getKeyValuePairs() as $pair) {
34 if (!$first) {
35 $compiler->raw(', ');
36 }
37 $first = \false;
38 $compiler->subcompile($pair['value']);
39 }
40 $compiler->raw('], ')->repr($this->getTemplateLine())->raw(', $context, $this->getSourceContext())');
41 }
42 }
43