From 9e74afb79db48da4868d5f25b299d29082620e20 Mon Sep 17 00:00:00 2001 From: Tony Brix Date: Thu, 13 Sep 2018 01:21:00 -0500 Subject: [PATCH 1/4] fix when shortDescription === "0" --- src/Tooltips/ClassLikeTooltipGenerator.php | 2 +- src/Tooltips/ConstantTooltipGenerator.php | 2 +- src/Tooltips/PropertyTooltipGenerator.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Tooltips/ClassLikeTooltipGenerator.php b/src/Tooltips/ClassLikeTooltipGenerator.php index 001fade3..6dd2bb5e 100644 --- a/src/Tooltips/ClassLikeTooltipGenerator.php +++ b/src/Tooltips/ClassLikeTooltipGenerator.php @@ -33,7 +33,7 @@ class ClassLikeTooltipGenerator */ private function generateSummary(array $info): string { - if ($info['shortDescription']) { + if ($info['shortDescription'] !== '' && $info['shortDescription'] !== null) { return $info['shortDescription']; } diff --git a/src/Tooltips/ConstantTooltipGenerator.php b/src/Tooltips/ConstantTooltipGenerator.php index 2890c413..9d6bcf2e 100644 --- a/src/Tooltips/ConstantTooltipGenerator.php +++ b/src/Tooltips/ConstantTooltipGenerator.php @@ -43,7 +43,7 @@ class ConstantTooltipGenerator */ private function generateSummary(array $info): string { - if ($info['shortDescription']) { + if ($info['shortDescription'] !== '' && $info['shortDescription'] !== null) { return $info['shortDescription']; } diff --git a/src/Tooltips/PropertyTooltipGenerator.php b/src/Tooltips/PropertyTooltipGenerator.php index e5564be2..eb79209a 100644 --- a/src/Tooltips/PropertyTooltipGenerator.php +++ b/src/Tooltips/PropertyTooltipGenerator.php @@ -43,7 +43,7 @@ class PropertyTooltipGenerator */ private function generateSummary(array $info): string { - if ($info['shortDescription']) { + if ($info['shortDescription'] !== '' && $info['shortDescription'] !== null) { return $info['shortDescription']; } -- GitLab From 4558a60137a91d63fa4973a80fff0851796456db Mon Sep 17 00:00:00 2001 From: Tony Brix Date: Thu, 13 Sep 2018 01:32:52 -0500 Subject: [PATCH 2/4] a few more --- .../FunctionAutocompletionSuggestionLabelCreator.php | 2 +- src/Tooltips/ConstantTooltipGenerator.php | 2 +- src/Tooltips/FunctionTooltipGenerator.php | 8 ++++---- src/Tooltips/PropertyTooltipGenerator.php | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Autocompletion/FunctionAutocompletionSuggestionLabelCreator.php b/src/Autocompletion/FunctionAutocompletionSuggestionLabelCreator.php index 68135879..d5fbf381 100644 --- a/src/Autocompletion/FunctionAutocompletionSuggestionLabelCreator.php +++ b/src/Autocompletion/FunctionAutocompletionSuggestionLabelCreator.php @@ -39,7 +39,7 @@ final class FunctionAutocompletionSuggestionLabelCreator $description .= '$' . $param['name']; - if ($param['defaultValue']) { + if ($param['defaultValue'] !== '' && $param['defaultValue'] !== null) { $description .= ' = ' . $param['defaultValue']; } diff --git a/src/Tooltips/ConstantTooltipGenerator.php b/src/Tooltips/ConstantTooltipGenerator.php index 9d6bcf2e..fde79f50 100644 --- a/src/Tooltips/ConstantTooltipGenerator.php +++ b/src/Tooltips/ConstantTooltipGenerator.php @@ -80,7 +80,7 @@ class ConstantTooltipGenerator $returnDescription = '*' . $value . '*'; - if ($info['typeDescription']) { + if ($info['typeDescription'] !== '' && $info['typeDescription'] !== null) { $returnDescription .= ' — ' . $info['typeDescription']; } } else { diff --git a/src/Tooltips/FunctionTooltipGenerator.php b/src/Tooltips/FunctionTooltipGenerator.php index 5dfb158e..eeb04adb 100644 --- a/src/Tooltips/FunctionTooltipGenerator.php +++ b/src/Tooltips/FunctionTooltipGenerator.php @@ -58,7 +58,7 @@ class FunctionTooltipGenerator */ private function generateSummary(array $functionInfo): string { - if ($functionInfo['shortDescription']) { + if ($functionInfo['shortDescription'] !== '' && $functionInfo['shortDescription'] !== null) { return $functionInfo['shortDescription']; } @@ -130,7 +130,7 @@ class FunctionTooltipGenerator $text .= "\n"; - if ($parameter['description']) { + if ($parameter['description'] !== '' &&$parameter['description'] !== null) { $text .= ($parameter['description']); } else { $text .= '(No documentation available)'; @@ -155,7 +155,7 @@ class FunctionTooltipGenerator $returnDescription = '*' . $value . '*'; - if ($functionInfo['returnDescription']) { + if ($functionInfo['returnDescription'] !== '' && $functionInfo['returnDescription'] !== null) { $returnDescription .= ' — ' . $functionInfo['returnDescription']; } } else { @@ -179,7 +179,7 @@ class FunctionTooltipGenerator $text = "#### • **{$type}**\n"; - if ($throwsItem['description']) { + if ($throwsItem['description'] !== '' && $throwsItem['description'] !== null) { $text .= $throwsItem['description']; } else { $text .= '(No context available)'; diff --git a/src/Tooltips/PropertyTooltipGenerator.php b/src/Tooltips/PropertyTooltipGenerator.php index eb79209a..c1e251d8 100644 --- a/src/Tooltips/PropertyTooltipGenerator.php +++ b/src/Tooltips/PropertyTooltipGenerator.php @@ -80,7 +80,7 @@ class PropertyTooltipGenerator $returnDescription = '*' . $value . '*'; - if ($info['typeDescription']) { + if ($info['typeDescription'] !== '' && $info['typeDescription'] !== null) { $returnDescription .= ' — ' . $info['typeDescription']; } } else { -- GitLab From fa27d31733964082fc9ed2feb356b4fa73390a95 Mon Sep 17 00:00:00 2001 From: Tony Brix Date: Thu, 13 Sep 2018 01:46:09 -0500 Subject: [PATCH 3/4] even more --- src/Analysis/Relations/InheritanceResolver.php | 4 ++-- src/Indexing/Visiting/ClasslikeIndexingVisitor.php | 2 +- src/Parsing/DocblockParser.php | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Analysis/Relations/InheritanceResolver.php b/src/Analysis/Relations/InheritanceResolver.php index 78dea125..7116a379 100644 --- a/src/Analysis/Relations/InheritanceResolver.php +++ b/src/Analysis/Relations/InheritanceResolver.php @@ -17,11 +17,11 @@ final class InheritanceResolver extends AbstractResolver */ public function resolveInheritanceOf(ArrayObject $parent, ArrayObject $class): void { - if (!$class['shortDescription']) { + if ($class['shortDescription'] === '' || $class['shortDescription'] === null) { $class['shortDescription'] = $parent['shortDescription']; } - if (!$class['longDescription']) { + if ($class['longDescription'] === '' || $class['longDescription'] === null) { $class['longDescription'] = $parent['longDescription']; } elseif ($class['longDescription'] !== null && $parent['longDescription'] !== null) { $class['longDescription'] = $this->resolveInheritDoc($class['longDescription'], $parent['longDescription']); diff --git a/src/Indexing/Visiting/ClasslikeIndexingVisitor.php b/src/Indexing/Visiting/ClasslikeIndexingVisitor.php index 1ec8f838..8d388080 100644 --- a/src/Indexing/Visiting/ClasslikeIndexingVisitor.php +++ b/src/Indexing/Visiting/ClasslikeIndexingVisitor.php @@ -647,7 +647,7 @@ final class ClasslikeIndexingVisitor extends NodeVisitorAbstract } $typeStringSpecification = $varDocumentation['type']; - } elseif ($property->default) { + } elseif ($property->default !== '' && $property->default !== null) { $typeList = $this->nodeTypeDeducer->deduce(new TypeDeductionContext( $property->default, $this->textDocumentItem diff --git a/src/Parsing/DocblockParser.php b/src/Parsing/DocblockParser.php index 74f2186c..ff3bb567 100644 --- a/src/Parsing/DocblockParser.php +++ b/src/Parsing/DocblockParser.php @@ -680,7 +680,7 @@ class DocblockParser 'defaultValue' => $defaultValue, ]; - if (!$defaultValue) { + if ($defaultValue === '' || $defaultValue === null) { $requiredParameters[$parameterName] = $data; } else { $optionalParameters[$parameterName] = $data; -- GitLab From bbfdab6dc9a137eec6dd900b2f10cca2bdba66ab Mon Sep 17 00:00:00 2001 From: Tony Brix Date: Thu, 13 Sep 2018 02:05:33 -0500 Subject: [PATCH 4/4] fix tests --- .../Providers/FunctionAutocompletionProviderTest.php | 2 +- .../Providers/NonStaticMethodAutocompletionProviderTest.php | 2 +- .../Providers/StaticMethodAutocompletionProviderTest.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/Integration/Autocompletion/Providers/FunctionAutocompletionProviderTest.php b/tests/Integration/Autocompletion/Providers/FunctionAutocompletionProviderTest.php index 6eb5330d..5f9ea5f5 100644 --- a/tests/Integration/Autocompletion/Providers/FunctionAutocompletionProviderTest.php +++ b/tests/Integration/Autocompletion/Providers/FunctionAutocompletionProviderTest.php @@ -159,7 +159,7 @@ class FunctionAutocompletionProviderTest extends AbstractAutocompletionProviderT ), 'foo()$0' ), - 'foo([$i])', + 'foo([$i = 0])', null, [ 'returnTypes' => 'mixed', diff --git a/tests/Integration/Autocompletion/Providers/NonStaticMethodAutocompletionProviderTest.php b/tests/Integration/Autocompletion/Providers/NonStaticMethodAutocompletionProviderTest.php index cee29e58..2c86eb10 100644 --- a/tests/Integration/Autocompletion/Providers/NonStaticMethodAutocompletionProviderTest.php +++ b/tests/Integration/Autocompletion/Providers/NonStaticMethodAutocompletionProviderTest.php @@ -177,7 +177,7 @@ class NonStaticMethodAutocompletionProviderTest extends AbstractAutocompletionPr ), 'foo()$0' ), - 'foo([$i])', + 'foo([$i = 0])', null, [ 'protectionLevel' => 'public', diff --git a/tests/Integration/Autocompletion/Providers/StaticMethodAutocompletionProviderTest.php b/tests/Integration/Autocompletion/Providers/StaticMethodAutocompletionProviderTest.php index 1d3ea8ec..70123563 100644 --- a/tests/Integration/Autocompletion/Providers/StaticMethodAutocompletionProviderTest.php +++ b/tests/Integration/Autocompletion/Providers/StaticMethodAutocompletionProviderTest.php @@ -177,7 +177,7 @@ class StaticMethodAutocompletionProviderTest extends AbstractAutocompletionProvi ), 'foo()$0' ), - 'foo([$i])', + 'foo([$i = 0])', null, [ 'protectionLevel' => 'public', -- GitLab