$this->triggeringFile =
$file;
for ($j = 1;
$j <
$i; ++
$j) { if (!
isset($trace[$j]['function'
],
$trace[1 +
$j]['class'
],
$trace[1 +
$j]['args'
][0
])) { continue;
} if ('trigger_error' ===
$trace[$j]['function'
] && !
isset($trace[$j]['class'
])) { if (DebugClassLoader::
class === $trace[1 +
$j]['class'
]) { $class =
$trace[1 +
$j]['args'
][0
];
$this->triggeringFile =
isset($trace[1 +
$j]['args'
][1
]) ?
realpath($trace[1 +
$j]['args'
][1
]) :
(new \
ReflectionClass($class))->
getFileName();
$this->
getOriginalFilesStack();
array_splice($this->originalFilesStack, 0,
$j,
[$this->triggeringFile
]);
if (preg_match('/(?|"([^"]++)" that is deprecated|should implement method "(?:static )?([^:]++))/',
$message,
$m) || (false ===
strpos($message, '()" will return'
) && false ===
strpos($message, 'native return type declaration'
) &&
preg_match('/^(?:The|Method) "([^":]++)/',
$message,
$m))) { $this->triggeringFile =
(new \
ReflectionClass($m[1
]))->
getFileName();
array_unshift($this->originalFilesStack,
$this->triggeringFile
);
} } break;
} }