From c5a83af327ad7095f5469a377b2748837742dd5f Mon Sep 17 00:00:00 2001 From: Vincent Klaiber Date: Wed, 28 Feb 2018 06:03:30 +0100 Subject: [PATCH 1/5] ci(travis): update travis php versions (#601) --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index cb4bcbf..44641af 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,8 @@ - language: php php: - '7.0' - - '7.2.0RC5' + - '7.2' git: depth: 10 From fc6b06942520e699cba0cb25ba33b328399a2588 Mon Sep 17 00:00:00 2001 From: Felix Becker Date: Tue, 27 Feb 2018 21:05:16 -0800 Subject: [PATCH 2/5] ci(dependencies.io): track stable semantic-release --- dependencies.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/dependencies.yml b/dependencies.yml index bf6bd77..9df6f74 100644 --- a/dependencies.yml +++ b/dependencies.yml @@ -10,9 +10,6 @@ collectors: commit_message_prefix: "chore: " - type: js-npm path: / - settings: - dist_tags: - semantic-release: next actors: - type: js-npm versions: "Y.0.0" From 8adcf92c2f54fdb8dd43fef925cf4e3d03107656 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Wed, 28 Feb 2018 10:05:22 -0800 Subject: [PATCH 3/5] chore: remove unused 'use' statements (#612) detected via static analysis and manually checked --- src/Cache/FileSystemCache.php | 1 - src/Client/TextDocument.php | 2 +- src/Client/Window.php | 1 - src/Client/XCache.php | 1 - src/Definition.php | 3 +-- src/FqnUtilities.php | 1 - src/Indexer.php | 2 -- src/Protocol/SymbolInformation.php | 1 - src/ProtocolStreamWriter.php | 1 - src/Server/TextDocument.php | 1 - src/Server/Workspace.php | 6 ++---- src/SignatureHelpProvider.php | 2 -- src/TreeAnalyzer.php | 4 +--- 13 files changed, 5 insertions(+), 21 deletions(-) diff --git a/src/Cache/FileSystemCache.php b/src/Cache/FileSystemCache.php index 5e9f523..d6d4410 100644 --- a/src/Cache/FileSystemCache.php +++ b/src/Cache/FileSystemCache.php @@ -3,7 +3,6 @@ declare(strict_types = 1); namespace LanguageServer\Cache; -use LanguageServer\LanguageClient; use Sabre\Event\Promise; /** diff --git a/src/Client/TextDocument.php b/src/Client/TextDocument.php index 176c4fd..f163d60 100644 --- a/src/Client/TextDocument.php +++ b/src/Client/TextDocument.php @@ -4,7 +4,7 @@ declare(strict_types = 1); namespace LanguageServer\Client; use LanguageServer\ClientHandler; -use LanguageServer\Protocol\{Message, TextDocumentItem, TextDocumentIdentifier}; +use LanguageServer\Protocol\{TextDocumentItem, TextDocumentIdentifier}; use Sabre\Event\Promise; use JsonMapper; diff --git a/src/Client/Window.php b/src/Client/Window.php index 053f306..c3558f5 100644 --- a/src/Client/Window.php +++ b/src/Client/Window.php @@ -4,7 +4,6 @@ declare(strict_types = 1); namespace LanguageServer\Client; use LanguageServer\ClientHandler; -use LanguageServer\Protocol\Message; use Sabre\Event\Promise; /** diff --git a/src/Client/XCache.php b/src/Client/XCache.php index 3004e58..b3ce5a5 100644 --- a/src/Client/XCache.php +++ b/src/Client/XCache.php @@ -4,7 +4,6 @@ declare(strict_types = 1); namespace LanguageServer\Client; use LanguageServer\ClientHandler; -use LanguageServer\Protocol\Message; use Sabre\Event\Promise; /** diff --git a/src/Definition.php b/src/Definition.php index 0d157cb..1600408 100644 --- a/src/Definition.php +++ b/src/Definition.php @@ -6,7 +6,6 @@ namespace LanguageServer; use LanguageServer\Index\ReadableIndex; use phpDocumentor\Reflection\{Types, Type, Fqsen, TypeResolver}; use LanguageServer\Protocol\SymbolInformation; -use Exception; use Generator; /** @@ -69,7 +68,7 @@ class Definition public $canBeInstantiated; /** - * @var Protocol\SymbolInformation + * @var SymbolInformation */ public $symbolInformation; diff --git a/src/FqnUtilities.php b/src/FqnUtilities.php index b5d01a9..fcd6027 100644 --- a/src/FqnUtilities.php +++ b/src/FqnUtilities.php @@ -3,7 +3,6 @@ namespace LanguageServer\FqnUtilities; use phpDocumentor\Reflection\{Type, Types}; -use Microsoft\PhpParser; /** * Returns all possible FQNs in a type diff --git a/src/Indexer.php b/src/Indexer.php index 2618d43..a556d4d 100644 --- a/src/Indexer.php +++ b/src/Indexer.php @@ -6,10 +6,8 @@ namespace LanguageServer; use LanguageServer\Cache\Cache; use LanguageServer\FilesFinder\FilesFinder; use LanguageServer\Index\{DependenciesIndex, Index}; -use LanguageServer\Protocol\Message; use LanguageServer\Protocol\MessageType; use Webmozart\PathUtil\Path; -use Composer\Semver\VersionParser; use Sabre\Event\Promise; use function Sabre\Event\coroutine; diff --git a/src/Protocol/SymbolInformation.php b/src/Protocol/SymbolInformation.php index 6b4d39e..499e417 100644 --- a/src/Protocol/SymbolInformation.php +++ b/src/Protocol/SymbolInformation.php @@ -4,7 +4,6 @@ namespace LanguageServer\Protocol; use Microsoft\PhpParser; use Microsoft\PhpParser\Node; -use Exception; /** * Represents information about programming constructs like variables, classes, diff --git a/src/ProtocolStreamWriter.php b/src/ProtocolStreamWriter.php index 3f51e14..f004a5f 100644 --- a/src/ProtocolStreamWriter.php +++ b/src/ProtocolStreamWriter.php @@ -8,7 +8,6 @@ use Sabre\Event\{ Loop, Promise }; -use RuntimeException; class ProtocolStreamWriter implements ProtocolWriter { diff --git a/src/Server/TextDocument.php b/src/Server/TextDocument.php index 371ad36..e5657b3 100644 --- a/src/Server/TextDocument.php +++ b/src/Server/TextDocument.php @@ -23,7 +23,6 @@ use LanguageServer\Protocol\{ VersionedTextDocumentIdentifier, CompletionContext }; -use Microsoft\PhpParser; use Microsoft\PhpParser\Node; use Sabre\Event\Promise; use Sabre\Uri; diff --git a/src/Server/Workspace.php b/src/Server/Workspace.php index fe1dda6..082c502 100644 --- a/src/Server/Workspace.php +++ b/src/Server/Workspace.php @@ -3,18 +3,16 @@ declare(strict_types = 1); namespace LanguageServer\Server; -use LanguageServer\{LanguageClient, Project, PhpDocumentLoader}; +use LanguageServer\{LanguageClient, PhpDocumentLoader}; use LanguageServer\Index\{ProjectIndex, DependenciesIndex, Index}; use LanguageServer\Protocol\{ FileChangeType, FileEvent, SymbolInformation, SymbolDescriptor, - PackageDescriptor, ReferenceInformation, DependencyReference, - Location, - MessageType + Location }; use Sabre\Event\Promise; use function Sabre\Event\coroutine; diff --git a/src/SignatureHelpProvider.php b/src/SignatureHelpProvider.php index aba02b4..439be9c 100644 --- a/src/SignatureHelpProvider.php +++ b/src/SignatureHelpProvider.php @@ -7,10 +7,8 @@ use LanguageServer\Index\ReadableIndex; use LanguageServer\Protocol\{ Position, SignatureHelp, - SignatureInformation, ParameterInformation }; -use Microsoft\PhpParser; use Microsoft\PhpParser\Node; use Sabre\Event\Promise; use function Sabre\Event\coroutine; diff --git a/src/TreeAnalyzer.php b/src/TreeAnalyzer.php index 465f5bb..03ad539 100644 --- a/src/TreeAnalyzer.php +++ b/src/TreeAnalyzer.php @@ -3,10 +3,8 @@ declare(strict_types = 1); namespace LanguageServer; -use LanguageServer\Protocol\{Diagnostic, DiagnosticSeverity, Range, Position, TextEdit}; -use LanguageServer\Index\Index; +use LanguageServer\Protocol\{Diagnostic, DiagnosticSeverity, Range, Position}; use phpDocumentor\Reflection\DocBlockFactory; -use Sabre\Uri; use Microsoft\PhpParser; use Microsoft\PhpParser\Node; use Microsoft\PhpParser\Token; From b412c125a437852673106f232ea13afc2d76569c Mon Sep 17 00:00:00 2001 From: Declspeck Date: Sun, 25 Feb 2018 22:02:54 +0200 Subject: [PATCH 4/5] fix(indexing): handle integer FQNs --- src/PhpDocument.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/PhpDocument.php b/src/PhpDocument.php index 0ac8421..805bc08 100644 --- a/src/PhpDocument.php +++ b/src/PhpDocument.php @@ -160,7 +160,9 @@ class PhpDocument // Register this document on the project for references foreach ($this->referenceNodes as $fqn => $nodes) { - $this->index->addReferenceUri($fqn, $this->uri); + // Cast the key to string. If (string)'2' is set as an array index, it will read out as (int)2. We must + // deal with incorrect code, so this is a valid scenario. + $this->index->addReferenceUri((string)$fqn, $this->uri); } $this->sourceFileNode = $treeAnalyzer->getSourceFileNode(); From e10896f90554c2f95b052c09fbc3685e84fb9a60 Mon Sep 17 00:00:00 2001 From: Declspeck Date: Sun, 25 Feb 2018 22:07:10 +0200 Subject: [PATCH 5/5] test(performance): don't eat exceptions during benchmark --- Performance.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Performance.php b/Performance.php index 6fc1c28..4d76d38 100644 --- a/Performance.php +++ b/Performance.php @@ -51,11 +51,7 @@ foreach($frameworks as $framework) { $definitionResolver = new DefinitionResolver($index); $parser = new PhpParser\Parser(); - try { - $document = new PhpDocument($testCaseFile, $fileContents, $index, $parser, $docBlockFactory, $definitionResolver); - } catch (\Throwable $e) { - continue; - } + $document = new PhpDocument($testCaseFile, $fileContents, $index, $parser, $docBlockFactory, $definitionResolver); } echo "------------------------------\n";