From 9d96ccfac0e0a6b07bb9d3258e57548a4e48024a Mon Sep 17 00:00:00 2001 From: Daniel Leech Date: Sat, 9 Mar 2024 11:51:07 +0000 Subject: [PATCH] Update CL --- CHANGELOG.md | 2 ++ .../Refactor/AbstractTolerantImportNameCase.php | 5 ++++- lib/Extension/Php/PhpExtension.php | 12 ++++++------ lib/Extension/Php/Status/PhpStatusProvider.php | 3 +-- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82b580663..f84ef12c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,9 +21,11 @@ Improvements: - Remove "on develop warning" service #2533 - Disable the processing of includes/requires, it doesn't work very well but it has massive performance impact on certain projects #2580 + - Include project PHP and runtime version and LSP status Bug fixes: + - Do not generalize generated return types (i.e. false instead of bool) #2588 - Fix diagnostic process concurrency and do not lint outdated files #2538 - Upgrade `amp/process` to fix #2516 thanks to @gerardroche - Fix division by zero edge case diff --git a/lib/CodeTransform/Tests/Adapter/TolerantParser/Refactor/AbstractTolerantImportNameCase.php b/lib/CodeTransform/Tests/Adapter/TolerantParser/Refactor/AbstractTolerantImportNameCase.php index 0adeb5012..7bc8175a6 100644 --- a/lib/CodeTransform/Tests/Adapter/TolerantParser/Refactor/AbstractTolerantImportNameCase.php +++ b/lib/CodeTransform/Tests/Adapter/TolerantParser/Refactor/AbstractTolerantImportNameCase.php @@ -204,7 +204,10 @@ abstract public function provideImportFunction(): Generator; abstract protected function importName(string $source, int $offset, NameImport $nameImport, bool $importGlobals = true): TextEdits; - private function importNameFromTestFile(string $type, string $test, string $name, string $alias = null) + /** + * @return array{string,string} + */ + private function importNameFromTestFile(string $type, string $test, string $name, string $alias = null): array { [$source, $expected, $offset] = $this->sourceExpectedAndOffset(__DIR__ . '/fixtures/' . $test); $edits = TextEdits::none(); diff --git a/lib/Extension/Php/PhpExtension.php b/lib/Extension/Php/PhpExtension.php index 85cfb30a0..a8b17c540 100644 --- a/lib/Extension/Php/PhpExtension.php +++ b/lib/Extension/Php/PhpExtension.php @@ -5,7 +5,6 @@ use Phpactor\Container\Container; use Phpactor\Container\ContainerBuilder; use Phpactor\Container\Extension; -use Phpactor\Extension\LanguageServer\LanguageServerExtension; use Phpactor\Extension\Php\Model\ChainResolver; use Phpactor\Extension\Php\Model\ComposerPhpVersionResolver; use Phpactor\Extension\Php\Model\ConstantPhpVersionResolver; @@ -22,7 +21,7 @@ class PhpExtension implements Extension public function load(ContainerBuilder $container): void { - $container->register(PhpVersionResolver::class, function (Container $container) { + $container->register(ChainResolver::class, function (Container $container) { $pathResolver = $container->get(FilePathResolverExtension::SERVICE_FILE_PATH_RESOLVER); $composerPath = $pathResolver->resolve('%project_root%/composer.json'); @@ -32,12 +31,13 @@ public function load(ContainerBuilder $container): void new RuntimePhpVersionResolver() ); }); + $container->register(PhpVersionResolver::class, function (Container $container) { + return $container->get(ChainResolver::class); + }); $container->register(PhpStatusProvider::class, function (Container $container) { - return new PhpStatusProvider($container->get(PhpVersionResolver::class)); - }, [ - LanguageServerExtension::TAG_STATUS_PROVIDER => [], - ]); + return new PhpStatusProvider($container->get(ChainResolver::class)); + }, []); } diff --git a/lib/Extension/Php/Status/PhpStatusProvider.php b/lib/Extension/Php/Status/PhpStatusProvider.php index 56a049377..f51d7bf89 100644 --- a/lib/Extension/Php/Status/PhpStatusProvider.php +++ b/lib/Extension/Php/Status/PhpStatusProvider.php @@ -4,7 +4,6 @@ use Phpactor\Extension\LanguageServer\Status\StatusProvider; use Phpactor\Extension\Php\Model\ChainResolver; -use Phpactor\Extension\Php\Model\RuntimePhpVersionResolver; class PhpStatusProvider implements StatusProvider { @@ -21,7 +20,7 @@ public function title(): string public function provide(): array { return [ - 'project' => $this->chainResolver->resolve(), + 'project' => (string)$this->chainResolver->resolve(), 'source' => $this->chainResolver->source(), 'runtime' => phpversion(), ];