Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Please also have a look at our

### Changed

- The default line (and column) number is now `null` (not zero) (#1288)
- `setPosition()` (in `Rule` and other classes) now has fluent interface,
returning itself (#1259)
- `RuleSet::removeRule()` now only allows `Rule` as the parameter
Expand Down
4 changes: 2 additions & 2 deletions src/CSSList/AtRuleBlockList.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ class AtRuleBlockList extends CSSBlockList implements AtRule

/**
* @param non-empty-string $type
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(string $type, string $arguments = '', int $lineNumber = 0)
public function __construct(string $type, string $arguments = '', ?int $lineNumber = null)
{
parent::__construct($lineNumber);
$this->type = $type;
Expand Down
4 changes: 2 additions & 2 deletions src/CSSList/CSSList.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ abstract class CSSList implements CSSElement, CSSListItem, Positionable
protected $contents = [];

/**
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(int $lineNumber = 0)
public function __construct(?int $lineNumber = null)
{
$this->setPosition($lineNumber);
}
Expand Down
4 changes: 2 additions & 2 deletions src/Comment/Comment.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ class Comment implements Positionable, Renderable
protected $commentText;

/**
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(string $commentText = '', int $lineNumber = 0)
public function __construct(string $commentText = '', ?int $lineNumber = null)
{
$this->commentText = $commentText;
$this->setPosition($lineNumber);
Expand Down
4 changes: 2 additions & 2 deletions src/Parsing/SourceException.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ class SourceException extends \Exception implements Positionable
use Position;

/**
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(string $message, int $lineNumber = 0)
public function __construct(string $message, ?int $lineNumber = null)
{
$this->setPosition($lineNumber);
if ($lineNumber !== 0) {
Expand Down
4 changes: 2 additions & 2 deletions src/Parsing/UnexpectedTokenException.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ class UnexpectedTokenException extends SourceException
{
/**
* @param 'literal'|'identifier'|'count'|'expression'|'search'|'custom' $matchType
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(string $expected, string $found, string $matchType = 'literal', int $lineNumber = 0)
public function __construct(string $expected, string $found, string $matchType = 'literal', ?int $lineNumber = null)
{
$message = "Token “{$expected}” ({$matchType}) not found. Got “{$found}”.";
if ($matchType === 'search') {
Expand Down
5 changes: 2 additions & 3 deletions src/Position/Position.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,14 @@ public function getColumnNumber(): ?int
}

/**
* @param int<0, max>|null $lineNumber
* @param int<1, max>|null $lineNumber
* @param int<0, max>|null $columnNumber
*
* @return $this fluent interface
*/
public function setPosition(?int $lineNumber, ?int $columnNumber = null): Positionable
{
// The conditional is for backwards compatibility (backcompat); `0` will not be allowed in future.
$this->lineNumber = $lineNumber !== 0 ? $lineNumber : null;
$this->lineNumber = $lineNumber;
$this->columnNumber = $columnNumber;

return $this;
Expand Down
4 changes: 1 addition & 3 deletions src/Position/Positionable.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ public function getLineNo(): int;
public function getColumnNumber(): ?int;

/**
* @param int<0, max>|null $lineNumber
* Providing zero for this parameter is deprecated in version 8.9.0, and will not be supported from v9.0.
* Use `null` instead when no line number is available.
* @param int<1, max>|null $lineNumber
* @param int<0, max>|null $columnNumber
*
* @return $this fluent interface
Expand Down
4 changes: 2 additions & 2 deletions src/Property/CSSNamespace.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ class CSSNamespace implements AtRule, Positionable

/**
* @param CSSString|URL $url
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct($url, ?string $prefix = null, int $lineNumber = 0)
public function __construct($url, ?string $prefix = null, ?int $lineNumber = null)
{
$this->url = $url;
$this->prefix = $prefix;
Expand Down
4 changes: 2 additions & 2 deletions src/Property/Charset.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ class Charset implements AtRule, Positionable
private $charset;

/**
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(CSSString $charset, int $lineNumber = 0)
public function __construct(CSSString $charset, ?int $lineNumber = null)
{
$this->charset = $charset;
$this->setPosition($lineNumber);
Expand Down
4 changes: 2 additions & 2 deletions src/Property/Import.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ class Import implements AtRule, Positionable
private $mediaQuery;

/**
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(URL $location, ?string $mediaQuery, int $lineNumber = 0)
public function __construct(URL $location, ?string $mediaQuery, ?int $lineNumber = null)
{
$this->location = $location;
$this->mediaQuery = $mediaQuery;
Expand Down
6 changes: 3 additions & 3 deletions src/Rule/Rule.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ class Rule implements Commentable, CSSElement, Positionable

/**
* @param non-empty-string $rule
* @param int<0, max> $lineNumber
* @param int<0, max> $columnNumber
* @param int<1, max>|null $lineNumber
* @param int<0, max>|null $columnNumber
*/
public function __construct(string $rule, int $lineNumber = 0, int $columnNumber = 0)
public function __construct(string $rule, ?int $lineNumber = null, ?int $columnNumber = null)
{
$this->rule = $rule;
$this->setPosition($lineNumber, $columnNumber);
Expand Down
4 changes: 2 additions & 2 deletions src/RuleSet/AtRuleSet.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ class AtRuleSet extends RuleSet implements AtRule

/**
* @param non-empty-string $type
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(string $type, string $arguments = '', int $lineNumber = 0)
public function __construct(string $type, string $arguments = '', ?int $lineNumber = null)
{
parent::__construct($lineNumber);
$this->type = $type;
Expand Down
4 changes: 2 additions & 2 deletions src/RuleSet/RuleSet.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ abstract class RuleSet implements CSSElement, CSSListItem, Positionable, RuleCon
private $rules = [];

/**
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(int $lineNumber = 0)
public function __construct(?int $lineNumber = null)
{
$this->setPosition($lineNumber);
}
Expand Down
4 changes: 2 additions & 2 deletions src/Value/CSSFunction.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ class CSSFunction extends ValueList
* @param non-empty-string $name
* @param RuleValueList|array<Value|string> $arguments
* @param non-empty-string $separator
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(string $name, $arguments, string $separator = ',', int $lineNumber = 0)
public function __construct(string $name, $arguments, string $separator = ',', ?int $lineNumber = null)
{
if ($arguments instanceof RuleValueList) {
$separator = $arguments->getListSeparator();
Expand Down
4 changes: 2 additions & 2 deletions src/Value/CSSString.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ class CSSString extends PrimitiveValue
private $string;

/**
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(string $string, int $lineNumber = 0)
public function __construct(string $string, ?int $lineNumber = null)
{
$this->string = $string;
parent::__construct($lineNumber);
Expand Down
4 changes: 2 additions & 2 deletions src/Value/CalcRuleValueList.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
class CalcRuleValueList extends RuleValueList
{
/**
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(int $lineNumber = 0)
public function __construct(?int $lineNumber = null)
{
parent::__construct(',', $lineNumber);
}
Expand Down
4 changes: 2 additions & 2 deletions src/Value/Color.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ class Color extends CSSFunction
{
/**
* @param array<non-empty-string, Value|string> $colorValues
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(array $colorValues, int $lineNumber = 0)
public function __construct(array $colorValues, ?int $lineNumber = null)
{
parent::__construct(\implode('', \array_keys($colorValues)), $colorValues, ',', $lineNumber);
}
Expand Down
4 changes: 2 additions & 2 deletions src/Value/LineName.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ class LineName extends ValueList
{
/**
* @param array<Value|string> $components
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(array $components = [], int $lineNumber = 0)
public function __construct(array $components = [], ?int $lineNumber = null)
{
parent::__construct($components, ' ', $lineNumber);
}
Expand Down
4 changes: 2 additions & 2 deletions src/Value/RuleValueList.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ class RuleValueList extends ValueList
{
/**
* @param non-empty-string $separator
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(string $separator = ',', int $lineNumber = 0)
public function __construct(string $separator = ',', ?int $lineNumber = null)
{
parent::__construct([], $separator, $lineNumber);
}
Expand Down
4 changes: 2 additions & 2 deletions src/Value/Size.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ class Size extends PrimitiveValue

/**
* @param float|int|string $size
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct($size, ?string $unit = null, bool $isColorComponent = false, int $lineNumber = 0)
public function __construct($size, ?string $unit = null, bool $isColorComponent = false, ?int $lineNumber = null)
{
parent::__construct($lineNumber);
$this->size = (float) $size;
Expand Down
4 changes: 2 additions & 2 deletions src/Value/URL.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ class URL extends PrimitiveValue
private $url;

/**
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(CSSString $url, int $lineNumber = 0)
public function __construct(CSSString $url, ?int $lineNumber = null)
{
parent::__construct($lineNumber);
$this->url = $url;
Expand Down
4 changes: 2 additions & 2 deletions src/Value/Value.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ abstract class Value implements CSSElement, Positionable
use Position;

/**
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct(int $lineNumber = 0)
public function __construct(?int $lineNumber = null)
{
$this->setPosition($lineNumber);
}
Expand Down
4 changes: 2 additions & 2 deletions src/Value/ValueList.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ abstract class ValueList extends Value
/**
* @param array<Value|string>|Value|string $components
* @param non-empty-string $separator
* @param int<0, max> $lineNumber
* @param int<1, max>|null $lineNumber
*/
public function __construct($components = [], $separator = ',', int $lineNumber = 0)
public function __construct($components = [], $separator = ',', ?int $lineNumber = null)
{
parent::__construct($lineNumber);
if (!\is_array($components)) {
Expand Down
12 changes: 0 additions & 12 deletions tests/UnitDeprecated/Position/PositionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,18 +77,6 @@ public function getLineNoReturnsZeroAfterLineNumberCleared(): void
self::assertSame(0, $this->subject->getLineNo());
}

/**
* @test
*/
public function setPositionWithZeroClearsLineNumber(): void
{
$this->subject->setPosition(99);

$this->subject->setPosition(0);

self::assertNull($this->subject->getLineNumber());
}

/**
* @test
*/
Expand Down