Skip to content

Commit 2226458

Browse files
[VarDumper] Fix dumping Twig source in stack traces
1 parent 5abd889 commit 2226458

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public function dump(Data $data)
103103
$info = $template->getDebugInfo();
104104
if (isset($info[$trace[$i - 1]['line']])) {
105105
$line = $info[$trace[$i - 1]['line']];
106-
$file = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getPath() : false;
106+
$file = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getPath() : null;
107107

108108
if ($src) {
109109
$src = explode("\n", $src);
@@ -266,7 +266,7 @@ private function doDump($data, $name, $file, $line)
266266
if (PHP_VERSION_ID >= 50400 && $this->dumper instanceof CliDumper) {
267267
$contextDumper = function ($name, $file, $line, $fileLinkFormat) {
268268
if ($this instanceof HtmlDumper) {
269-
if ('' !== $file) {
269+
if ($file) {
270270
$s = $this->style('meta', '%s');
271271
$name = strip_tags($this->style('', $name));
272272
$file = strip_tags($this->style('', $file));

src/Symfony/Component/VarDumper/Caster/ExceptionCaster.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,8 @@ public static function castFrameStub(FrameStub $frame, array $a, Stub $stub, $is
149149
$src[$f['file'].':'.$f['line']] = self::extractSource(explode("\n", file_get_contents($f['file'])), $f['line'], self::$srcContext);
150150

151151
if (!empty($f['class']) && is_subclass_of($f['class'], 'Twig_Template') && method_exists($f['class'], 'getDebugInfo')) {
152-
$template = isset($f['object']) ? $f['object'] : new $f['class'](new \Twig_Environment(new \Twig_Loader_Filesystem()));
152+
$template = isset($f['object']) ? $f['object'] : unserialize(sprintf('O:%d:"%s":0:{}', strlen($f['class']), $f['class']));
153+
153154
$templateName = $template->getTemplateName();
154155
$templateSrc = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getCode() : (method_exists($template, 'getSource') ? $template->getSource() : '');
155156
$templateInfo = $template->getDebugInfo();

0 commit comments

Comments
 (0)