Fix PSR namespace and class name
BladeMF opened this issue · comments
While the suggestion it gives is valid, when I execute the command it gives the following error:
[Error - 10:24:02 AM] Request workspace/executeCommand failed.
Message: Exception [RuntimeException] There are no class name candidates
Code: -32603
#0 /root/phpactor/vendor/phpactor/code-transform/lib/Adapter/TolerantParser/ClassToFile/Transformer/ClassNameFixerTransformer.php(175): Phpactor\ClassFileConverter\Domain\ClassNameCandidates->best()
#1 /root/phpactor/vendor/phpactor/code-transform/lib/Adapter/TolerantParser/ClassToFile/Transformer/ClassNameFixerTransformer.php(45): Phpactor\CodeTransform\Adapter\TolerantParser\ClassToFile\Transformer\ClassNameFixerTransformer->determineClassFqn()
#2 /root/phpactor/vendor/phpactor/language-server-phpactor-extensions/lib/LanguageServerCodeTransform/LspCommand/TransformCommand.php(50): Phpactor\CodeTransform\Adapter\TolerantParser\ClassToFile\Transformer\ClassNameFixerTransformer->transform()
#3 /root/phpactor/vendor/phpactor/language-server/lib/Core/Command/CommandDispatcher.php(51): Phpactor\Extension\LanguageServerCodeTransform\LspCommand\TransformCommand->__invoke()
#4 /root/phpactor/vendor/phpactor/language-server/lib/Handler/Workspace/CommandHandler.php(40): Phpactor\LanguageServer\Core\Command\CommandDispatcher->dispatch()
#5 /root/phpactor/vendor/phpactor/language-server/lib/Core/Handler/HandlerMethodRunner.php(86): Phpactor\LanguageServer\Handler\Workspace\CommandHandler->executeCommand()
#6 [internal function]: Phpactor\LanguageServer\Core\Handler\HandlerMethodRunner->Phpactor\LanguageServer\Core\Handler\{closure}()
#7 /root/phpactor/vendor/amphp/amp/lib/Coroutine.php(67): Generator->current()
#8 /root/phpactor/vendor/amphp/amp/lib/functions.php(96): Amp\Coroutine->__construct()
#9 /root/phpactor/vendor/phpactor/language-server/lib/Core/Handler/HandlerMethodRunner.php(102): Amp\call()
#10 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/HandlerMiddleware.php(38): Phpactor\LanguageServer\Core\Handler\HandlerMethodRunner->dispatch()
#11 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\HandlerMiddleware->process()
#12 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/ResponseHandlingMiddleware.php(35): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#13 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\ResponseHandlingMiddleware->process()
#14 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/MethodAliasMiddleware.php(37): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#15 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\MethodAliasMiddleware->process()
#16 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/CancellationMiddleware.php(49): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#17 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\CancellationMiddleware->process()
#18 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/InitializeMiddleware.php(68): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#19 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\InitializeMiddleware->process()
#20 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/ErrorHandlingMiddleware.php(39): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#21 [internal function]: Phpactor\LanguageServer\Middleware\ErrorHandlingMiddleware->Phpactor\LanguageServer\Middleware\{closure}()
#22 /root/phpactor/vendor/amphp/amp/lib/Coroutine.php(67): Generator->current()
#23 /root/phpactor/vendor/amphp/amp/lib/functions.php(96): Amp\Coroutine->__construct()
#24 /root/phpactor/vendor/phpactor/language-server/lib/Middleware/ErrorHandlingMiddleware.php(64): Amp\call()
#25 /root/phpactor/vendor/phpactor/language-server/lib/Core/Middleware/RequestHandler.php(37): Phpactor\LanguageServer\Middleware\ErrorHandlingMiddleware->process()
#26 /root/phpactor/vendor/phpactor/language-server/lib/Core/Dispatcher/Dispatcher/MiddlewareDispatcher.php(29): Phpactor\LanguageServer\Core\Middleware\RequestHandler->handle()
#27 /root/phpactor/vendor/phpactor/language-server/lib/Core/Server/LanguageServer.php(204): Phpactor\LanguageServer\Core\Dispatcher\Dispatcher\MiddlewareDispatcher->dispatch()
#28 [internal function]: Phpactor\LanguageServer\Core\Server\LanguageServer->Phpactor\LanguageServer\Core\Server\{closure}()
#29 /root/phpactor/vendor/amphp/amp/lib/Coroutine.php(67): Generator->current()
#30 /root/phpactor/vendor/amphp/amp/lib/functions.php(96): Amp\Coroutine->__construct()
#31 /root/phpactor/vendor/amphp/amp/lib/functions.php(121): Amp\call()
#32 /root/phpactor/vendor/phpactor/language-server/lib/Core/Server/LanguageServer.php(221): Amp\asyncCall()
#33 /root/phpactor/vendor/phpactor/language-server/lib/Core/Server/LanguageServer.php(195): Phpactor\LanguageServer\Core\Server\LanguageServer->dispatchRequest()
#34 [internal function]: Phpactor\LanguageServer\Core\Server\LanguageServer->Phpactor\LanguageServer\Core\Server\{closure}()
#35 /root/phpactor/vendor/amphp/amp/lib/Coroutine.php(118): Generator->send()
#36 /root/phpactor/vendor/amphp/amp/lib/Internal/Placeholder.php(149): Amp\Coroutine->Amp\{closure}()
#37 /root/phpactor/vendor/amphp/amp/lib/Coroutine.php(123): Amp\Coroutine->resolve()
#38 /root/phpactor/vendor/amphp/amp/lib/Internal/Placeholder.php(149): Amp\Coroutine->Amp\{closure}()
#39 /root/phpactor/vendor/amphp/amp/lib/Deferred.php(52): class@anonymous->resolve()
#40 /root/phpactor/vendor/amphp/byte-stream/lib/ResourceInputStream.php(101): Amp\Deferred->resolve()
#41 /root/phpactor/vendor/amphp/amp/lib/Loop/NativeDriver.php(183): Amp\ByteStream\ResourceInputStream::Amp\ByteStream\{closure}()
#42 /root/phpactor/vendor/amphp/amp/lib/Loop/NativeDriver.php(96): Amp\Loop\NativeDriver->selectStreams()
#43 /root/phpactor/vendor/amphp/amp/lib/Loop/Driver.php(138): Amp\Loop\NativeDriver->dispatch()
#44 /root/phpactor/vendor/amphp/amp/lib/Loop/Driver.php(72): Amp\Loop\Driver->tick()
#45 /root/phpactor/vendor/amphp/amp/lib/Loop.php(95): Amp\Loop\Driver->run()
#46 /root/phpactor/vendor/phpactor/language-server/lib/Core/Server/LanguageServer.php(113): Amp\Loop::run()
#47 /root/phpactor/vendor/phpactor/language-server-extension/lib/LanguageServer/Command/StartCommand.php(59): Phpactor\LanguageServer\Core\Server\LanguageServer->run()
#48 /root/phpactor/vendor/symfony/console/Command/Command.php(255): Phpactor\Extension\LanguageServer\Command\StartCommand->execute()
#49 /root/phpactor/vendor/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run()
#50 /root/phpactor/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#51 /root/phpactor/lib/Application.php(53): Symfony\Component\Console\Application->doRun()
#52 /root/phpactor/vendor/symfony/console/Application.php(149): Phpactor\Application->doRun()
#53 /root/phpactor/bin/phpactor(42): Symfony\Component\Console\Application->run()
#54 {main}
The project is a pretty small composer project with two classes and two tests. I had that error in my Symfony project as well..
Can you run the phpactor.dumpConfig
command? this functionality requires composer, and you should ensure that project root has been correctly found and that vendor/composer
exists.
[Info - 11:32:16 AM] Config Dump
===========
File Paths
----------
project_id: test1-dd1530
project_root: /var/www/html/tests/test1
cache: /root/.cache/phpactor
config: /root/.config/phpactor
data: /root/.local/share/phpactor
application_root: /root/phpactor
project_config: /var/www/html/tests/test1/.phpactor
Config
------
{
"container.extension_classes": [
"Phpactor\\Extension\\Core\\CoreExtension",
"Phpactor\\Extension\\ClassToFileExtra\\ClassToFileExtraExtension",
"Phpactor\\Extension\\ClassToFile\\ClassToFileExtension",
"Phpactor\\Extension\\ClassMover\\ClassMoverExtension",
"Phpactor\\Extension\\CodeTransform\\CodeTransformExtension",
"Phpactor\\Extension\\CodeTransformExtra\\CodeTransformExtraExtension",
"Phpactor\\Extension\\CompletionExtra\\CompletionExtraExtension",
"Phpactor\\Extension\\CompletionWorse\\CompletionWorseExtension",
"Phpactor\\Extension\\Completion\\CompletionExtension",
"Phpactor\\Extension\\CompletionRpc\\CompletionRpcExtension",
"Phpactor\\Extension\\Navigation\\NavigationExtension",
"Phpactor\\Extension\\ContextMenu\\ContextMenuExtension",
"Phpactor\\Extension\\Rpc\\RpcExtension",
"Phpactor\\Extension\\SourceCodeFilesystemExtra\\SourceCodeFilesystemExtraExtension",
"Phpactor\\Extension\\SourceCodeFilesystem\\SourceCodeFilesystemExtension",
"Phpactor\\Extension\\WorseReflection\\WorseReflectionExtension",
"Phpactor\\Extension\\WorseReflectionExtra\\WorseReflectionExtraExtension",
"Phpactor\\FilePathResolverExtension\\FilePathResolverExtension",
"Phpactor\\Extension\\Logger\\LoggingExtension",
"Phpactor\\Extension\\ComposerAutoloader\\ComposerAutoloaderExtension",
"Phpactor\\Extension\\Console\\ConsoleExtension",
"Phpactor\\Extension\\ExtensionManager\\ExtensionManagerExtension",
"Phpactor\\Extension\\WorseReferenceFinder\\WorseReferenceFinderExtension",
"Phpactor\\Extension\\ReferenceFinderRpc\\ReferenceFinderRpcExtension",
"Phpactor\\Extension\\ReferenceFinder\\ReferenceFinderExtension",
"Phpactor\\Extension\\Php\\PhpExtension",
"Phpactor\\Extension\\LanguageServer\\LanguageServerExtension",
"Phpactor\\Extension\\LanguageServerCompletion\\LanguageServerCompletionExtension",
"Phpactor\\Extension\\LanguageServerReferenceFinder\\LanguageServerReferenceFinderExtension",
"Phpactor\\Extension\\LanguageServerWorseReflection\\LanguageServerWorseReflectionExtension",
"Phpactor\\Extension\\LanguageServerIndexer\\LanguageServerIndexerExtension",
"Phpactor\\Extension\\LanguageServerHover\\LanguageServerHoverExtension",
"Phpactor\\Extension\\LanguageServerBridge\\LanguageServerBridgeExtension",
"Phpactor\\Extension\\LanguageServerCodeTransform\\LanguageServerCodeTransformExtension",
"Phpactor\\Extension\\LanguageServerSymbolProvider\\LanguageServerSymbolProviderExtension",
"Phpactor\\Extension\\LanguageServerSelectionRange\\LanguageServerSelectionRangeExtension",
"Phpactor\\Indexer\\Extension\\IndexerExtension",
"Phpactor\\Extension\\Debug\\DebugExtension"
],
"console_dumper_default": "indented",
"xdebug_disable": true,
"command": "language-server",
"class_to_file.project_root": "%project_root%",
"class_to_file.brute_force_conversion": false,
"code_transform.class_new.variants": [],
"code_transform.template_paths": [
"%project_config%\/templates",
"%config%\/templates"
],
"code_transform.indentation": " ",
"code_transform.refactor.generate_accessor.prefix": "",
"code_transform.refactor.generate_accessor.upper_case_first": false,
"completion_worse.completor.class.limit": 100,
"completion_worse.disabled_completors": [
"scf_class",
"declared_class",
"declared_function"
],
"completion.dedupe": true,
"completion.dedupe_match_short_description": true,
"completion.limit": null,
"navigator.destinations": [],
"navigator.autocreate": [],
"rpc.store_replay": false,
"rpc.replay_path": "%cache%\/replay.json",
"source_code_filesystem.project_root": "%project_root%",
"worse_reflection.enable_cache": true,
"worse_reflection.cache_lifetime": 5,
"worse_reflection.enable_context_location": false,
"worse_reflection.cache_dir": "%cache%\/worse-reflection",
"worse_reflection.stub_dir": "%application_root%\/vendor\/jetbrains\/phpstorm-stubs",
"file_path_resolver.project_root": "\/var\/www\/html\/tests\/test1",
"file_path_resolver.app_name": "phpactor",
"file_path_resolver.application_root": "\/root\/phpactor",
"file_path_resolver.enable_cache": true,
"file_path_resolver.enable_logging": true,
"logging.enabled": false,
"logging.fingers_crossed": false,
"logging.path": "application.log",
"logging.level": "warning",
"logger.name": "logger",
"logging.formatter": null,
"composer.enable": true,
"composer.autoloader_path": "%project_root%\/vendor\/autoload.php",
"composer.autoload_deregister": true,
"composer.class_maps_only": true,
"console.verbosity": 32,
"console.decorated": null,
"extension_manager.extension_vendor_dir": "\/root\/phpactor\/lib\/..\/extensions",
"extension_manager.vendor_dir": "\/root\/phpactor\/vendor",
"extension_manager.config_path": "\/root\/phpactor\/lib\/..\/extensions\/extensions.json",
"extension_manager.extension_list_path": "\/root\/phpactor\/lib\/..\/extensions\/extensions.php",
"extension_manager.root_package_name": "phpactor-extensions",
"extension_manager.minimum_stability": "stable",
"extension_manager.repositories": [],
"extension_manager.quiet": false,
"worse_reference_finder.plain_text_break_chars": [
" ",
"\"",
"'",
"|",
"%",
"(",
")",
"[",
"]",
":",
"\r\n",
"\n",
"\r"
],
"php.version": null,
"language_server.catch_errors": true,
"language_server.enable_workspace": true,
"language_server.session_parameters": {
"language_server.method_alias_map": {
"indexer\/reindex": "phpactor\/indexer\/reindex",
"session\/dumpConfig": "phpactor\/debug\/config",
"service\/running": "phpactor\/service\/running",
"system\/status": "phpactor\/stats"
},
"worse_reflection.enable_context_location": false,
"class_to_file.brute_force_conversion": false,
"completion_worse.disabled_completors": [
"scf_class",
"declared_class",
"declared_function"
]
},
"language_server.method_alias_map": {
"indexer\/reindex": "phpactor\/indexer\/reindex",
"session\/dumpConfig": "phpactor\/debug\/config",
"service\/running": "phpactor\/service\/running",
"system\/status": "phpactor\/stats"
},
"language_server.diagnostic_sleep_time": 1000,
"language_server_completion.trim_leading_dollar": true,
"language_server_reference_reference_finder.reference_timeout": 10,
"language_server_code_transform.import_globals": false,
"indexer.enabled_watchers": [
"watchman",
"inotify",
"find",
"php"
],
"indexer.index_path": "%cache%\/index\/%project_id%",
"indexer.include_patterns": [
"\/**\/*.php"
],
"indexer.exclude_patterns": [
"\/vendor\/**\/Tests\/**\/*",
"\/vendor\/**\/tests\/**\/*",
"\/vendor\/composer\/**\/*"
],
"indexer.stub_paths": [
"\/root\/phpactor\/vendor\/jetbrains\/phpstorm-stubs"
],
"indexer.poll_time": 5000,
"indexer.buffer_time": 500,
"indexer.project_root": "%project_root%",
"indexer.reference_finder.deep": true,
"indexer.implementation_finder.deep": true
}
and assuming you have /var/www/html/tests/test1/vendor/autoload.php
exsists, do you have autoloading correctly setup in composer.json
?
I think so:
{
"name": "vladi/test1",
"type": "project",
"require": {},
"require-dev": {
"phpunit/phpunit": "^9",
"symfony/var-dumper": "^5.2"
},
"autoload": {
"psr-4": {
"": "src/"
}
}
}
and /vendor/autoload.php
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit844a8db196416f0324169c26ba618239::getLoader();