Aggiornato Composer
This commit is contained in:
15
vendor/psy/psysh/src/CodeCleaner/RequirePass.php
vendored
15
vendor/psy/psysh/src/CodeCleaner/RequirePass.php
vendored
@@ -3,7 +3,7 @@
|
||||
/*
|
||||
* This file is part of Psy Shell.
|
||||
*
|
||||
* (c) 2012-2022 Justin Hileman
|
||||
* (c) 2012-2023 Justin Hileman
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
@@ -29,6 +29,8 @@ class RequirePass extends CodeCleanerPass
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*
|
||||
* @return int|Node|null Replacement node (or special return value)
|
||||
*/
|
||||
public function enterNode(Node $origNode)
|
||||
{
|
||||
@@ -47,10 +49,11 @@ class RequirePass extends CodeCleanerPass
|
||||
*
|
||||
* $foo = require \Psy\CodeCleaner\RequirePass::resolve($bar)
|
||||
*/
|
||||
// @todo Rename LNumber to Int_ once we drop support for PHP-Parser 4.x
|
||||
$node->expr = new StaticCall(
|
||||
new FullyQualifiedName(self::class),
|
||||
'resolve',
|
||||
[new Arg($origNode->expr), new Arg(new LNumber($origNode->getLine()))],
|
||||
[new Arg($origNode->expr), new Arg(new LNumber($origNode->getStartLine()))],
|
||||
$origNode->getAttributes()
|
||||
);
|
||||
|
||||
@@ -69,11 +72,11 @@ class RequirePass extends CodeCleanerPass
|
||||
* @throws ErrorException if $file is empty and E_WARNING is included in error_reporting level
|
||||
*
|
||||
* @param string $file
|
||||
* @param int $lineNumber Line number of the original require expression
|
||||
* @param int $startLine Line number of the original require expression
|
||||
*
|
||||
* @return string Exactly the same as $file, unless $file collides with a path in the currently running phar
|
||||
*/
|
||||
public static function resolve($file, $lineNumber = null): string
|
||||
public static function resolve($file, $startLine = null): string
|
||||
{
|
||||
$file = (string) $file;
|
||||
|
||||
@@ -82,7 +85,7 @@ class RequirePass extends CodeCleanerPass
|
||||
// fake the file and line number, but we can't call it statically.
|
||||
// So we're duplicating some of the logics here.
|
||||
if (\E_WARNING & \error_reporting()) {
|
||||
ErrorException::throwException(\E_WARNING, 'Filename cannot be empty', null, $lineNumber);
|
||||
ErrorException::throwException(\E_WARNING, 'Filename cannot be empty', null, $startLine);
|
||||
}
|
||||
// @todo trigger an error as fallback? this is pretty ugly…
|
||||
// trigger_error('Filename cannot be empty', E_USER_WARNING);
|
||||
@@ -91,7 +94,7 @@ class RequirePass extends CodeCleanerPass
|
||||
$resolvedPath = \stream_resolve_include_path($file);
|
||||
if ($file === '' || !$resolvedPath) {
|
||||
$msg = \sprintf("Failed opening required '%s'", $file);
|
||||
throw new FatalErrorException($msg, 0, \E_ERROR, null, $lineNumber);
|
||||
throw new FatalErrorException($msg, 0, \E_ERROR, null, $startLine);
|
||||
}
|
||||
|
||||
// Special case: if the path is not already relative or absolute, and it would resolve to
|
||||
|
||||
Reference in New Issue
Block a user