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 }