Resolve Phpstan Messages in Style (except NumberFormat/Formatter) (#3303)

Reduce number of Phpstan messages by addressing their issues.

NumberFormat/Formatter has a problem and needs to be dealt with in a separate ticket.
This commit is contained in:
oleibman
2023-01-28 01:17:51 -08:00
committed by GitHub
parent a0e6e09557
commit a950d1042b
6 changed files with 41 additions and 183 deletions
-165
View File
@@ -790,166 +790,6 @@ parameters:
count: 1
path: src/PhpSpreadsheet/Shared/Trend/Trend.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBar\\:\\:setConditionalFormattingRuleExt\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBar\\:\\:setMaximumConditionalFormatValueObject\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBar\\:\\:setMinimumConditionalFormatValueObject\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBar\\:\\:setShowValue\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBarExtension\\:\\:getXmlAttributes\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBarExtension\\:\\:getXmlElements\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBarExtension\\:\\:setMaximumConditionalFormatValueObject\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBarExtension\\:\\:setMinimumConditionalFormatValueObject\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:__construct\\(\\) has parameter \\$type with no type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:__construct\\(\\) has parameter \\$value with no type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:setCellFormula\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:setType\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:setValue\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
-
message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:\\$cellFormula has no type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
-
message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:\\$type has no type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
-
message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:\\$value has no type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
-
message: "#^Cannot access property \\$axisPosition on SimpleXMLElement\\|null\\.$#"
count: 2
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Cannot access property \\$border on SimpleXMLElement\\|null\\.$#"
count: 2
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Cannot access property \\$direction on SimpleXMLElement\\|null\\.$#"
count: 2
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Cannot access property \\$gradient on SimpleXMLElement\\|null\\.$#"
count: 2
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Cannot access property \\$maxLength on SimpleXMLElement\\|null\\.$#"
count: 2
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Cannot access property \\$minLength on SimpleXMLElement\\|null\\.$#"
count: 2
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Cannot access property \\$negativeBarBorderColorSameAsPositive on SimpleXMLElement\\|null\\.$#"
count: 2
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:__construct\\(\\) has parameter \\$id with no type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:generateUuid\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:parseExtDataBarElementChildrenFromXml\\(\\) has parameter \\$ns with no type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:parseExtLstXml\\(\\) has no return type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:parseExtLstXml\\(\\) has parameter \\$extLstXml with no type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Offset 'rgb' does not exist on SimpleXMLElement\\|null\\.$#"
count: 4
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Offset 'theme' does not exist on SimpleXMLElement\\|null\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Offset 'tint' does not exist on SimpleXMLElement\\|null\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:\\$id has no type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:splitFormat\\(\\) has no return type specified\\.$#"
count: 1
@@ -1000,11 +840,6 @@ parameters:
count: 1
path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
-
message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\PercentageFormatter\\:\\:format\\(\\) has parameter \\$value with no type specified\\.$#"
count: 1
path: src/PhpSpreadsheet/Style/NumberFormat/PercentageFormatter.php
-
message: "#^Negated boolean expression is always false\\.$#"
count: 1
@@ -36,7 +36,7 @@ class ConditionalDataBar
/**
* @param bool $showValue
*/
public function setShowValue($showValue)
public function setShowValue($showValue): self
{
$this->showValue = $showValue;
@@ -48,7 +48,7 @@ class ConditionalDataBar
return $this->minimumConditionalFormatValueObject;
}
public function setMinimumConditionalFormatValueObject(ConditionalFormatValueObject $minimumConditionalFormatValueObject)
public function setMinimumConditionalFormatValueObject(ConditionalFormatValueObject $minimumConditionalFormatValueObject): self
{
$this->minimumConditionalFormatValueObject = $minimumConditionalFormatValueObject;
@@ -60,7 +60,7 @@ class ConditionalDataBar
return $this->maximumConditionalFormatValueObject;
}
public function setMaximumConditionalFormatValueObject(ConditionalFormatValueObject $maximumConditionalFormatValueObject)
public function setMaximumConditionalFormatValueObject(ConditionalFormatValueObject $maximumConditionalFormatValueObject): self
{
$this->maximumConditionalFormatValueObject = $maximumConditionalFormatValueObject;
@@ -84,7 +84,7 @@ class ConditionalDataBar
return $this->conditionalFormattingRuleExt;
}
public function setConditionalFormattingRuleExt(ConditionalFormattingRuleExtension $conditionalFormattingRuleExt)
public function setConditionalFormattingRuleExt(ConditionalFormattingRuleExtension $conditionalFormattingRuleExt): self
{
$this->conditionalFormattingRuleExt = $conditionalFormattingRuleExt;
@@ -51,7 +51,7 @@ class ConditionalDataBarExtension
'tint' => null,
];
public function getXmlAttributes()
public function getXmlAttributes(): array
{
$ret = [];
foreach (['minLength', 'maxLength', 'direction', 'axisPosition'] as $attrKey) {
@@ -68,7 +68,7 @@ class ConditionalDataBarExtension
return $ret;
}
public function getXmlElements()
public function getXmlElements(): array
{
$ret = [];
$elms = ['borderColor', 'negativeFillColor', 'negativeBorderColor'];
@@ -200,7 +200,7 @@ class ConditionalDataBarExtension
return $this->maximumConditionalFormatValueObject;
}
public function setMaximumConditionalFormatValueObject(ConditionalFormatValueObject $maximumConditionalFormatValueObject)
public function setMaximumConditionalFormatValueObject(ConditionalFormatValueObject $maximumConditionalFormatValueObject): self
{
$this->maximumConditionalFormatValueObject = $maximumConditionalFormatValueObject;
@@ -215,7 +215,7 @@ class ConditionalDataBarExtension
return $this->minimumConditionalFormatValueObject;
}
public function setMinimumConditionalFormatValueObject(ConditionalFormatValueObject $minimumConditionalFormatValueObject)
public function setMinimumConditionalFormatValueObject(ConditionalFormatValueObject $minimumConditionalFormatValueObject): self
{
$this->minimumConditionalFormatValueObject = $minimumConditionalFormatValueObject;
@@ -4,15 +4,20 @@ namespace PhpOffice\PhpSpreadsheet\Style\ConditionalFormatting;
class ConditionalFormatValueObject
{
/** @var mixed */
private $type;
/** @var mixed */
private $value;
/** @var mixed */
private $cellFormula;
/**
* ConditionalFormatValueObject constructor.
*
* @param mixed $type
* @param mixed $value
* @param null|mixed $cellFormula
*/
public function __construct($type, $value = null, $cellFormula = null)
@@ -33,7 +38,7 @@ class ConditionalFormatValueObject
/**
* @param mixed $type
*/
public function setType($type)
public function setType($type): self
{
$this->type = $type;
@@ -51,7 +56,7 @@ class ConditionalFormatValueObject
/**
* @param mixed $value
*/
public function setValue($value)
public function setValue($value): self
{
$this->value = $value;
@@ -69,7 +74,7 @@ class ConditionalFormatValueObject
/**
* @param mixed $cellFormula
*/
public function setCellFormula($cellFormula)
public function setCellFormula($cellFormula): self
{
$this->cellFormula = $cellFormula;
@@ -10,6 +10,8 @@ class ConditionalFormattingRuleExtension
const CONDITION_EXTENSION_DATABAR = 'dataBar';
/** <conditionalFormatting> attributes */
/** @var string */
private $id;
/** @var string Conditional Formatting Rule */
@@ -26,7 +28,7 @@ class ConditionalFormattingRuleExtension
/**
* ConditionalFormattingRuleExtension constructor.
*/
public function __construct($id = null, string $cfRule = self::CONDITION_EXTENSION_DATABAR)
public function __construct(?string $id = null, string $cfRule = self::CONDITION_EXTENSION_DATABAR)
{
if (null === $id) {
$this->id = '{' . $this->generateUuid() . '}';
@@ -36,7 +38,7 @@ class ConditionalFormattingRuleExtension
$this->cfRule = $cfRule;
}
private function generateUuid()
private function generateUuid(): string
{
$chars = str_split('xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx');
@@ -51,7 +53,7 @@ class ConditionalFormattingRuleExtension
return implode('', /** @scrutinizer ignore-type */ $chars);
}
public static function parseExtLstXml($extLstXml)
public static function parseExtLstXml(?SimpleXMLElement $extLstXml): array
{
$conditionalFormattingRuleExtensions = [];
$conditionalFormattingRuleExtensionXml = null;
@@ -96,6 +98,9 @@ class ConditionalFormattingRuleExtension
SimpleXMLElement $dataBarXml
): void {
$dataBarAttribute = $dataBarXml->attributes();
if ($dataBarAttribute === null) {
return;
}
if ($dataBarAttribute->minLength) {
$extDataBarObj->setMinLength((int) $dataBarAttribute->minLength);
}
@@ -119,20 +124,32 @@ class ConditionalFormattingRuleExtension
}
}
/** @param array|SimpleXMLElement $ns */
private static function parseExtDataBarElementChildrenFromXml(ConditionalDataBarExtension $extDataBarObj, SimpleXMLElement $dataBarXml, $ns): void
{
if ($dataBarXml->borderColor) {
$extDataBarObj->setBorderColor((string) $dataBarXml->borderColor->attributes()['rgb']);
$attributes = $dataBarXml->borderColor->attributes();
if ($attributes !== null) {
$extDataBarObj->setBorderColor((string) $attributes['rgb']);
}
}
if ($dataBarXml->negativeFillColor) {
$extDataBarObj->setNegativeFillColor((string) $dataBarXml->negativeFillColor->attributes()['rgb']);
$attributes = $dataBarXml->negativeFillColor->attributes();
if ($attributes !== null) {
$extDataBarObj->setNegativeFillColor((string) $attributes['rgb']);
}
}
if ($dataBarXml->negativeBorderColor) {
$extDataBarObj->setNegativeBorderColor((string) $dataBarXml->negativeBorderColor->attributes()['rgb']);
$attributes = $dataBarXml->negativeBorderColor->attributes();
if ($attributes !== null) {
$extDataBarObj->setNegativeBorderColor((string) $attributes['rgb']);
}
}
if ($dataBarXml->axisColor) {
$axisColorAttr = $dataBarXml->axisColor->attributes();
$extDataBarObj->setAxisColor((string) $axisColorAttr['rgb'], (string) $axisColorAttr['theme'], (string) $axisColorAttr['tint']);
if ($axisColorAttr !== null) {
$extDataBarObj->setAxisColor((string) $axisColorAttr['rgb'], (string) $axisColorAttr['theme'], (string) $axisColorAttr['tint']);
}
}
$cfvoIndex = 0;
foreach ($dataBarXml->cfvo as $cfvo) {
@@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
class PercentageFormatter extends BaseFormatter
{
/** @param float|int $value */
public static function format($value, string $format): string
{
if ($format === NumberFormat::FORMAT_PERCENTAGE) {