__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* @package Gantry5
* @author RocketTheme http://www.rockettheme.com
* @copyright Copyright (C) 2007 - 2022 RocketTheme, LLC
* @license Dual License: MIT or GNU/GPLv2 and later
*
* http://opensource.org/licenses/MIT
* http://www.gnu.org/licenses/gpl-2.0.html
*
* Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
*/
namespace Gantry\Component\Twig\Node;
use Twig\Compiler;
use Twig\Node\Node;
/**
* Class TwigNodeSwitch
* @package Gantry\Component\Twig\Node
*/
class TwigNodeSwitch extends Node
{
/**
* TwigNodeSwitch constructor.
* @param Node $value
* @param Node $cases
* @param Node|null $default
* @param int $lineno
* @param string|null $tag
*/
public function __construct(
Node $value,
Node $cases,
Node $default = null,
$lineno = 0,
$tag = null
) {
$nodes = ['value' => $value, 'cases' => $cases, 'default' => $default];
$nodes = array_filter($nodes);
parent::__construct($nodes, [], $lineno, $tag);
}
/**
* Compiles the node to PHP.
*
* @param Compiler $compiler A Twig Compiler instance
*/
public function compile(Compiler $compiler)
{
$compiler
->addDebugInfo($this)
->write('switch (')
->subcompile($this->getNode('value'))
->raw(") {\n")
->indent();
/** @var Node $case */
foreach ($this->getNode('cases') as $case) {
if (!$case->hasNode('body')) {
continue;
}
foreach ($case->getNode('values') as $value) {
$compiler
->write('case ')
->subcompile($value)
->raw(":\n");
}
$compiler
->write("{\n")
->indent()
->subcompile($case->getNode('body'))
->write("break;\n")
->outdent()
->write("}\n");
}
if ($this->hasNode('default')) {
$compiler
->write("default:\n")
->write("{\n")
->indent()
->subcompile($this->getNode('default'))
->outdent()
->write("}\n");
}
$compiler
->outdent()
->write("}\n");
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| TwigNodeAssets.php | File | 2.56 KB | 0664 |
|
| TwigNodeMarkdown.php | File | 1.69 KB | 0664 |
|
| TwigNodePageblock.php | File | 2.54 KB | 0664 |
|
| TwigNodeScripts.php | File | 568 B | 0664 |
|
| TwigNodeStyles.php | File | 566 B | 0664 |
|
| TwigNodeSwitch.php | File | 2.37 KB | 0664 |
|
| TwigNodeThrow.php | File | 1.38 KB | 0664 |
|
| TwigNodeTryCatch.php | File | 1.85 KB | 0664 |
|