diff options
Diffstat (limited to 'srcs/phpmyadmin/vendor/twig/twig/src/Profiler')
8 files changed, 0 insertions, 577 deletions
diff --git a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/BaseDumper.php b/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/BaseDumper.php deleted file mode 100644 index 1631987..0000000 --- a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/BaseDumper.php +++ /dev/null @@ -1,65 +0,0 @@ -<?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 Twig\Profiler\Dumper; - -use Twig\Profiler\Profile; - -/** - * @author Fabien Potencier <fabien@symfony.com> - */ -abstract class BaseDumper -{ - private $root; - - public function dump(Profile $profile) - { - return $this->dumpProfile($profile); - } - - abstract protected function formatTemplate(Profile $profile, $prefix); - - abstract protected function formatNonTemplate(Profile $profile, $prefix); - - abstract protected function formatTime(Profile $profile, $percent); - - private function dumpProfile(Profile $profile, $prefix = '', $sibling = false): string - { - if ($profile->isRoot()) { - $this->root = $profile->getDuration(); - $start = $profile->getName(); - } else { - if ($profile->isTemplate()) { - $start = $this->formatTemplate($profile, $prefix); - } else { - $start = $this->formatNonTemplate($profile, $prefix); - } - $prefix .= $sibling ? '│ ' : ' '; - } - - $percent = $this->root ? $profile->getDuration() / $this->root * 100 : 0; - - if ($profile->getDuration() * 1000 < 1) { - $str = $start."\n"; - } else { - $str = sprintf("%s %s\n", $start, $this->formatTime($profile, $percent)); - } - - $nCount = \count($profile->getProfiles()); - foreach ($profile as $i => $p) { - $str .= $this->dumpProfile($p, $prefix, $i + 1 !== $nCount); - } - - return $str; - } -} - -class_alias('Twig\Profiler\Dumper\BaseDumper', 'Twig_Profiler_Dumper_Base'); diff --git a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/BlackfireDumper.php b/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/BlackfireDumper.php deleted file mode 100644 index f333429..0000000 --- a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/BlackfireDumper.php +++ /dev/null @@ -1,74 +0,0 @@ -<?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 Twig\Profiler\Dumper; - -use Twig\Profiler\Profile; - -/** - * @author Fabien Potencier <fabien@symfony.com> - */ -final class BlackfireDumper -{ - public function dump(Profile $profile) - { - $data = []; - $this->dumpProfile('main()', $profile, $data); - $this->dumpChildren('main()', $profile, $data); - - $start = sprintf('%f', microtime(true)); - $str = <<<EOF -file-format: BlackfireProbe -cost-dimensions: wt mu pmu -request-start: {$start} - - -EOF; - - foreach ($data as $name => $values) { - $str .= "{$name}//{$values['ct']} {$values['wt']} {$values['mu']} {$values['pmu']}\n"; - } - - return $str; - } - - private function dumpChildren(string $parent, Profile $profile, &$data) - { - foreach ($profile as $p) { - if ($p->isTemplate()) { - $name = $p->getTemplate(); - } else { - $name = sprintf('%s::%s(%s)', $p->getTemplate(), $p->getType(), $p->getName()); - } - $this->dumpProfile(sprintf('%s==>%s', $parent, $name), $p, $data); - $this->dumpChildren($name, $p, $data); - } - } - - private function dumpProfile(string $edge, Profile $profile, &$data) - { - if (isset($data[$edge])) { - ++$data[$edge]['ct']; - $data[$edge]['wt'] += floor($profile->getDuration() * 1000000); - $data[$edge]['mu'] += $profile->getMemoryUsage(); - $data[$edge]['pmu'] += $profile->getPeakMemoryUsage(); - } else { - $data[$edge] = [ - 'ct' => 1, - 'wt' => floor($profile->getDuration() * 1000000), - 'mu' => $profile->getMemoryUsage(), - 'pmu' => $profile->getPeakMemoryUsage(), - ]; - } - } -} - -class_alias('Twig\Profiler\Dumper\BlackfireDumper', 'Twig_Profiler_Dumper_Blackfire'); diff --git a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/HtmlDumper.php b/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/HtmlDumper.php deleted file mode 100644 index 5be5abe..0000000 --- a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/HtmlDumper.php +++ /dev/null @@ -1,49 +0,0 @@ -<?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 Twig\Profiler\Dumper; - -use Twig\Profiler\Profile; - -/** - * @author Fabien Potencier <fabien@symfony.com> - */ -final class HtmlDumper extends BaseDumper -{ - private static $colors = [ - 'block' => '#dfd', - 'macro' => '#ddf', - 'template' => '#ffd', - 'big' => '#d44', - ]; - - public function dump(Profile $profile) - { - return '<pre>'.parent::dump($profile).'</pre>'; - } - - protected function formatTemplate(Profile $profile, $prefix) - { - return sprintf('%s└ <span style="background-color: %s">%s</span>', $prefix, self::$colors['template'], $profile->getTemplate()); - } - - protected function formatNonTemplate(Profile $profile, $prefix) - { - return sprintf('%s└ %s::%s(<span style="background-color: %s">%s</span>)', $prefix, $profile->getTemplate(), $profile->getType(), isset(self::$colors[$profile->getType()]) ? self::$colors[$profile->getType()] : 'auto', $profile->getName()); - } - - protected function formatTime(Profile $profile, $percent) - { - return sprintf('<span style="color: %s">%.2fms/%.0f%%</span>', $percent > 20 ? self::$colors['big'] : 'auto', $profile->getDuration() * 1000, $percent); - } -} - -class_alias('Twig\Profiler\Dumper\HtmlDumper', 'Twig_Profiler_Dumper_Html'); diff --git a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/TextDumper.php b/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/TextDumper.php deleted file mode 100644 index 395ef9d..0000000 --- a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/TextDumper.php +++ /dev/null @@ -1,37 +0,0 @@ -<?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 Twig\Profiler\Dumper; - -use Twig\Profiler\Profile; - -/** - * @author Fabien Potencier <fabien@symfony.com> - */ -final class TextDumper extends BaseDumper -{ - protected function formatTemplate(Profile $profile, $prefix) - { - return sprintf('%s└ %s', $prefix, $profile->getTemplate()); - } - - protected function formatNonTemplate(Profile $profile, $prefix) - { - return sprintf('%s└ %s::%s(%s)', $prefix, $profile->getTemplate(), $profile->getType(), $profile->getName()); - } - - protected function formatTime(Profile $profile, $percent) - { - return sprintf('%.2fms/%.0f%%', $profile->getDuration() * 1000, $percent); - } -} - -class_alias('Twig\Profiler\Dumper\TextDumper', 'Twig_Profiler_Dumper_Text'); diff --git a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Node/EnterProfileNode.php b/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Node/EnterProfileNode.php deleted file mode 100644 index 91de5ff..0000000 --- a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Node/EnterProfileNode.php +++ /dev/null @@ -1,44 +0,0 @@ -<?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 Twig\Profiler\Node; - -use Twig\Compiler; -use Twig\Node\Node; - -/** - * Represents a profile enter node. - * - * @author Fabien Potencier <fabien@symfony.com> - */ -class EnterProfileNode extends Node -{ - public function __construct(string $extensionName, string $type, string $name, string $varName) - { - parent::__construct([], ['extension_name' => $extensionName, 'name' => $name, 'type' => $type, 'var_name' => $varName]); - } - - public function compile(Compiler $compiler) - { - $compiler - ->write(sprintf('$%s = $this->extensions[', $this->getAttribute('var_name'))) - ->repr($this->getAttribute('extension_name')) - ->raw("];\n") - ->write(sprintf('$%s->enter($%s = new \Twig\Profiler\Profile($this->getTemplateName(), ', $this->getAttribute('var_name'), $this->getAttribute('var_name').'_prof')) - ->repr($this->getAttribute('type')) - ->raw(', ') - ->repr($this->getAttribute('name')) - ->raw("));\n\n") - ; - } -} - -class_alias('Twig\Profiler\Node\EnterProfileNode', 'Twig_Profiler_Node_EnterProfile'); diff --git a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Node/LeaveProfileNode.php b/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Node/LeaveProfileNode.php deleted file mode 100644 index 7fbf435..0000000 --- a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Node/LeaveProfileNode.php +++ /dev/null @@ -1,38 +0,0 @@ -<?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 Twig\Profiler\Node; - -use Twig\Compiler; -use Twig\Node\Node; - -/** - * Represents a profile leave node. - * - * @author Fabien Potencier <fabien@symfony.com> - */ -class LeaveProfileNode extends Node -{ - public function __construct(string $varName) - { - parent::__construct([], ['var_name' => $varName]); - } - - public function compile(Compiler $compiler) - { - $compiler - ->write("\n") - ->write(sprintf("\$%s->leave(\$%s);\n\n", $this->getAttribute('var_name'), $this->getAttribute('var_name').'_prof')) - ; - } -} - -class_alias('Twig\Profiler\Node\LeaveProfileNode', 'Twig_Profiler_Node_LeaveProfile'); diff --git a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php b/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php deleted file mode 100644 index f19f6b7..0000000 --- a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php +++ /dev/null @@ -1,78 +0,0 @@ -<?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 Twig\Profiler\NodeVisitor; - -use Twig\Environment; -use Twig\Node\BlockNode; -use Twig\Node\BodyNode; -use Twig\Node\MacroNode; -use Twig\Node\ModuleNode; -use Twig\Node\Node; -use Twig\NodeVisitor\AbstractNodeVisitor; -use Twig\Profiler\Node\EnterProfileNode; -use Twig\Profiler\Node\LeaveProfileNode; -use Twig\Profiler\Profile; - -/** - * @author Fabien Potencier <fabien@symfony.com> - */ -final class ProfilerNodeVisitor extends AbstractNodeVisitor -{ - private $extensionName; - - public function __construct(string $extensionName) - { - $this->extensionName = $extensionName; - } - - protected function doEnterNode(Node $node, Environment $env) - { - return $node; - } - - protected function doLeaveNode(Node $node, Environment $env) - { - if ($node instanceof ModuleNode) { - $varName = $this->getVarName(); - $node->setNode('display_start', new Node([new EnterProfileNode($this->extensionName, Profile::TEMPLATE, $node->getTemplateName(), $varName), $node->getNode('display_start')])); - $node->setNode('display_end', new Node([new LeaveProfileNode($varName), $node->getNode('display_end')])); - } elseif ($node instanceof BlockNode) { - $varName = $this->getVarName(); - $node->setNode('body', new BodyNode([ - new EnterProfileNode($this->extensionName, Profile::BLOCK, $node->getAttribute('name'), $varName), - $node->getNode('body'), - new LeaveProfileNode($varName), - ])); - } elseif ($node instanceof MacroNode) { - $varName = $this->getVarName(); - $node->setNode('body', new BodyNode([ - new EnterProfileNode($this->extensionName, Profile::MACRO, $node->getAttribute('name'), $varName), - $node->getNode('body'), - new LeaveProfileNode($varName), - ])); - } - - return $node; - } - - private function getVarName(): string - { - return sprintf('__internal_%s', hash('sha256', $this->extensionName)); - } - - public function getPriority() - { - return 0; - } -} - -class_alias('Twig\Profiler\NodeVisitor\ProfilerNodeVisitor', 'Twig_Profiler_NodeVisitor_Profiler'); diff --git a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Profile.php b/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Profile.php deleted file mode 100644 index e9726d6..0000000 --- a/srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Profile.php +++ /dev/null @@ -1,192 +0,0 @@ -<?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 Twig\Profiler; - -/** - * @author Fabien Potencier <fabien@symfony.com> - * - * @final since Twig 2.4.0 - */ -class Profile implements \IteratorAggregate, \Serializable -{ - const ROOT = 'ROOT'; - const BLOCK = 'block'; - const TEMPLATE = 'template'; - const MACRO = 'macro'; - - private $template; - private $name; - private $type; - private $starts = []; - private $ends = []; - private $profiles = []; - - public function __construct(string $template = 'main', string $type = self::ROOT, string $name = 'main') - { - if (__CLASS__ !== \get_class($this)) { - @trigger_error('Overriding '.__CLASS__.' is deprecated since Twig 2.4.0 and the class will be final in 3.0.', E_USER_DEPRECATED); - } - - $this->template = $template; - $this->type = $type; - $this->name = 0 === strpos($name, '__internal_') ? 'INTERNAL' : $name; - $this->enter(); - } - - public function getTemplate() - { - return $this->template; - } - - public function getType() - { - return $this->type; - } - - public function getName() - { - return $this->name; - } - - public function isRoot() - { - return self::ROOT === $this->type; - } - - public function isTemplate() - { - return self::TEMPLATE === $this->type; - } - - public function isBlock() - { - return self::BLOCK === $this->type; - } - - public function isMacro() - { - return self::MACRO === $this->type; - } - - public function getProfiles() - { - return $this->profiles; - } - - public function addProfile(self $profile) - { - $this->profiles[] = $profile; - } - - /** - * Returns the duration in microseconds. - * - * @return float - */ - public function getDuration() - { - if ($this->isRoot() && $this->profiles) { - // for the root node with children, duration is the sum of all child durations - $duration = 0; - foreach ($this->profiles as $profile) { - $duration += $profile->getDuration(); - } - - return $duration; - } - - return isset($this->ends['wt']) && isset($this->starts['wt']) ? $this->ends['wt'] - $this->starts['wt'] : 0; - } - - /** - * Returns the memory usage in bytes. - * - * @return int - */ - public function getMemoryUsage() - { - return isset($this->ends['mu']) && isset($this->starts['mu']) ? $this->ends['mu'] - $this->starts['mu'] : 0; - } - - /** - * Returns the peak memory usage in bytes. - * - * @return int - */ - public function getPeakMemoryUsage() - { - return isset($this->ends['pmu']) && isset($this->starts['pmu']) ? $this->ends['pmu'] - $this->starts['pmu'] : 0; - } - - /** - * Starts the profiling. - */ - public function enter() - { - $this->starts = [ - 'wt' => microtime(true), - 'mu' => memory_get_usage(), - 'pmu' => memory_get_peak_usage(), - ]; - } - - /** - * Stops the profiling. - */ - public function leave() - { - $this->ends = [ - 'wt' => microtime(true), - 'mu' => memory_get_usage(), - 'pmu' => memory_get_peak_usage(), - ]; - } - - public function reset() - { - $this->starts = $this->ends = $this->profiles = []; - $this->enter(); - } - - public function getIterator() - { - return new \ArrayIterator($this->profiles); - } - - public function serialize() - { - return serialize($this->__serialize()); - } - - public function unserialize($data) - { - $this->__unserialize(unserialize($data)); - } - - /** - * @internal - */ - public function __serialize() - { - return [$this->template, $this->name, $this->type, $this->starts, $this->ends, $this->profiles]; - } - - /** - * @internal - */ - public function __unserialize(array $data) - { - list($this->template, $this->name, $this->type, $this->starts, $this->ends, $this->profiles) = $data; - } -} - -class_alias('Twig\Profiler\Profile', 'Twig_Profiler_Profile'); |
