Mercurial > hg > isophonics-drupal-site
comparison vendor/symfony/var-dumper/Caster/ExceptionCaster.php @ 12:7a779792577d
Update Drupal core to v8.4.5 (via Composer)
author | Chris Cannam |
---|---|
date | Fri, 23 Feb 2018 15:52:07 +0000 |
parents | 4c8ae668cc8c |
children | 129ea1e6d783 |
comparison
equal
deleted
inserted
replaced
11:bfffd8d7479a | 12:7a779792577d |
---|---|
125 if (!isset($trace->value[$i])) { | 125 if (!isset($trace->value[$i])) { |
126 return array(); | 126 return array(); |
127 } | 127 } |
128 $lastCall = isset($frames[$i]['function']) ? (isset($frames[$i]['class']) ? $frames[0]['class'].$frames[$i]['type'] : '').$frames[$i]['function'].'()' : ''; | 128 $lastCall = isset($frames[$i]['function']) ? (isset($frames[$i]['class']) ? $frames[0]['class'].$frames[$i]['type'] : '').$frames[$i]['function'].'()' : ''; |
129 $frames[] = array('function' => ''); | 129 $frames[] = array('function' => ''); |
130 $collapse = false; | |
130 | 131 |
131 for ($j += $trace->numberingOffset - $i++; isset($frames[$i]); ++$i, --$j) { | 132 for ($j += $trace->numberingOffset - $i++; isset($frames[$i]); ++$i, --$j) { |
132 $f = $frames[$i]; | 133 $f = $frames[$i]; |
133 $call = isset($f['function']) ? (isset($f['class']) ? $f['class'].$f['type'] : '').$f['function'] : '???'; | 134 $call = isset($f['function']) ? (isset($f['class']) ? $f['class'].$f['type'] : '').$f['function'] : '???'; |
134 | 135 |
143 true | 144 true |
144 ); | 145 ); |
145 $f = self::castFrameStub($frame, array(), $frame, true); | 146 $f = self::castFrameStub($frame, array(), $frame, true); |
146 if (isset($f[$prefix.'src'])) { | 147 if (isset($f[$prefix.'src'])) { |
147 foreach ($f[$prefix.'src']->value as $label => $frame) { | 148 foreach ($f[$prefix.'src']->value as $label => $frame) { |
149 if (0 === strpos($label, "\0~collapse=0")) { | |
150 if ($collapse) { | |
151 $label = substr_replace($label, '1', 11, 1); | |
152 } else { | |
153 $collapse = true; | |
154 } | |
155 } | |
148 $label = substr_replace($label, "title=Stack level $j.&", 2, 0); | 156 $label = substr_replace($label, "title=Stack level $j.&", 2, 0); |
149 } | 157 } |
150 $f = $frames[$i - 1]; | 158 $f = $frames[$i - 1]; |
151 if ($trace->keepArgs && !empty($f['args']) && $frame instanceof EnumStub) { | 159 if ($trace->keepArgs && !empty($f['args']) && $frame instanceof EnumStub) { |
152 $frame->value['arguments'] = new ArgsStub($f['args'], isset($f['function']) ? $f['function'] : null, isset($f['class']) ? $f['class'] : null); | 160 $frame->value['arguments'] = new ArgsStub($f['args'], isset($f['function']) ? $f['function'] : null, isset($f['class']) ? $f['class'] : null); |
160 $label = substr_replace($prefix, "title=Stack level $j.", 2, 0).$label->value.'()'; | 168 $label = substr_replace($prefix, "title=Stack level $j.", 2, 0).$label->value.'()'; |
161 } | 169 } |
162 } else { | 170 } else { |
163 $label = substr_replace($prefix, "title=Stack level $j.", 2, 0).$lastCall; | 171 $label = substr_replace($prefix, "title=Stack level $j.", 2, 0).$lastCall; |
164 } | 172 } |
165 $a[$label] = $frame; | 173 $a[substr_replace($label, sprintf('separator=%s&', $frame instanceof EnumStub ? ' ' : ':'), 2, 0)] = $frame; |
166 | 174 |
167 $lastCall = $call; | 175 $lastCall = $call; |
168 } | 176 } |
169 if (null !== $trace->sliceLength) { | 177 if (null !== $trace->sliceLength) { |
170 $a = array_slice($a, 0, $trace->sliceLength, true); | 178 $a = array_slice($a, 0, $trace->sliceLength, true); |
195 $f['line'] = (int) $match[1]; | 203 $f['line'] = (int) $match[1]; |
196 } | 204 } |
197 $caller = isset($f['function']) ? sprintf('in %s() on line %d', (isset($f['class']) ? $f['class'].$f['type'] : '').$f['function'], $f['line']) : null; | 205 $caller = isset($f['function']) ? sprintf('in %s() on line %d', (isset($f['class']) ? $f['class'].$f['type'] : '').$f['function'], $f['line']) : null; |
198 $src = $f['line']; | 206 $src = $f['line']; |
199 $srcKey = $f['file']; | 207 $srcKey = $f['file']; |
200 $ellipsis = (new LinkStub($srcKey, 0))->attr; | 208 $ellipsis = new LinkStub($srcKey, 0); |
201 $ellipsisTail = isset($ellipsis['ellipsis-tail']) ? $ellipsis['ellipsis-tail'] : 0; | 209 $srcAttr = 'collapse='.(int) $ellipsis->inVendor; |
202 $ellipsis = isset($ellipsis['ellipsis']) ? $ellipsis['ellipsis'] : 0; | 210 $ellipsisTail = isset($ellipsis->attr['ellipsis-tail']) ? $ellipsis->attr['ellipsis-tail'] : 0; |
211 $ellipsis = isset($ellipsis->attr['ellipsis']) ? $ellipsis->attr['ellipsis'] : 0; | |
203 | 212 |
204 if (file_exists($f['file']) && 0 <= self::$srcContext) { | 213 if (file_exists($f['file']) && 0 <= self::$srcContext) { |
205 if (!empty($f['class']) && (is_subclass_of($f['class'], 'Twig\Template') || is_subclass_of($f['class'], 'Twig_Template')) && method_exists($f['class'], 'getDebugInfo')) { | 214 if (!empty($f['class']) && (is_subclass_of($f['class'], 'Twig\Template') || is_subclass_of($f['class'], 'Twig_Template')) && method_exists($f['class'], 'getDebugInfo')) { |
206 $template = isset($f['object']) ? $f['object'] : unserialize(sprintf('O:%d:"%s":0:{}', strlen($f['class']), $f['class'])); | 215 $template = isset($f['object']) ? $f['object'] : unserialize(sprintf('O:%d:"%s":0:{}', strlen($f['class']), $f['class'])); |
207 | 216 |
223 $srcKey .= ':'.$f['line']; | 232 $srcKey .= ':'.$f['line']; |
224 if ($ellipsis) { | 233 if ($ellipsis) { |
225 $ellipsis += 1 + strlen($f['line']); | 234 $ellipsis += 1 + strlen($f['line']); |
226 } | 235 } |
227 } | 236 } |
228 } | 237 $srcAttr .= '&separator= '; |
229 $srcAttr = $ellipsis ? 'ellipsis-type=path&ellipsis='.$ellipsis.'&ellipsis-tail='.$ellipsisTail : ''; | 238 } else { |
239 $srcAttr .= '&separator=:'; | |
240 } | |
241 $srcAttr .= $ellipsis ? '&ellipsis-type=path&ellipsis='.$ellipsis.'&ellipsis-tail='.$ellipsisTail : ''; | |
230 self::$framesCache[$cacheKey] = $a[$prefix.'src'] = new EnumStub(array("\0~$srcAttr\0$srcKey" => $src)); | 242 self::$framesCache[$cacheKey] = $a[$prefix.'src'] = new EnumStub(array("\0~$srcAttr\0$srcKey" => $src)); |
231 } | 243 } |
232 } | 244 } |
233 | 245 |
234 unset($a[$prefix.'args'], $a[$prefix.'line'], $a[$prefix.'file']); | 246 unset($a[$prefix.'args'], $a[$prefix.'line'], $a[$prefix.'file']); |
327 $c->attr['file'] = $file; | 339 $c->attr['file'] = $file; |
328 $c->attr['line'] = $line; | 340 $c->attr['line'] = $line; |
329 } | 341 } |
330 } | 342 } |
331 $c->attr['lang'] = $lang; | 343 $c->attr['lang'] = $lang; |
332 $srcLines[sprintf("\0~%d\0", $i + $line - $srcContext)] = $c; | 344 $srcLines[sprintf("\0~separator=› &%d\0", $i + $line - $srcContext)] = $c; |
333 } | 345 } |
334 | 346 |
335 return new EnumStub($srcLines); | 347 return new EnumStub($srcLines); |
336 } | 348 } |
337 } | 349 } |