Skip to content

Commit a5d4c26

Browse files
committed
Remove use of PHP language features not available in 5.6
1 parent 0f85ed0 commit a5d4c26

File tree

3 files changed

+54
-25
lines changed

3 files changed

+54
-25
lines changed

src/Position/Position.php

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,40 +26,44 @@ trait Position
2626
/**
2727
* @return int<1, max>|null
2828
*/
29-
public function getLineNumber(): ?int
29+
public function getLineNumber()
3030
{
3131
return $this->lineNumber;
3232
}
3333

3434
/**
3535
* @return int<0, max>
3636
*/
37-
public function getLineNo(): int
37+
public function getLineNo()
3838
{
39-
return $this->getLineNumber() ?? 0;
39+
$lineNumber = $this->getLineNumber();
40+
41+
return $lineNumber !== null ? $lineNumber : 0;
4042
}
4143

4244
/**
4345
* @return int<0, max>|null
4446
*/
45-
public function getColumnNumber(): ?int
47+
public function getColumnNumber()
4648
{
4749
return $this->columnNumber;
4850
}
4951

5052
/**
5153
* @return int<0, max>
5254
*/
53-
public function getColNo(): int
55+
public function getColNo()
5456
{
55-
return $this->getColumnNumber() ?? 0;
57+
$columnNumber = $this->getColumnNumber();
58+
59+
return $columnNumber !== null ? $columnNumber : 0;
5660
}
5761

5862
/**
5963
* @param int<0, max>|null $lineNumber
6064
* @param int<0, max>|null $columnNumber
6165
*/
62-
public function setPosition(?int $lineNumber, ?int $columnNumber = null): void
66+
public function setPosition($lineNumber, $columnNumber = null)
6367
{
6468
// The conditional is for backwards compatibility (backcompat); `0` will not be allowed in future.
6569
$this->lineNumber = $lineNumber !== 0 ? $lineNumber : null;

src/Position/Positionable.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,32 @@ interface Positionable
1414
/**
1515
* @return int<1, max>|null
1616
*/
17-
public function getLineNumber(): ?int;
17+
public function getLineNumber();
1818

1919
/**
2020
* @deprecated in version 9.0.0, will be removed in v10.0. Use `getLineNumber()` instead.
2121
*
2222
* @return int<0, max>
2323
*/
24-
public function getLineNo(): int;
24+
public function getLineNo();
2525

2626
/**
2727
* @return int<0, max>|null
2828
*/
29-
public function getColumnNumber(): ?int;
29+
public function getColumnNumber();
3030

3131
/**
3232
* @deprecated in version 9.0.0, will be removed in v10.0. Use `getColumnNumber()` instead.
3333
*
3434
* @return int<0, max>
3535
*/
36-
public function getColNo(): int;
36+
public function getColNo();
3737

3838
/**
3939
* @param int<0, max>|null $lineNumber
4040
* Providing zero for this parameter is deprecated in version 9.0.0, and will not be supported from v10.0.
4141
* Use `null` instead when no line number is available.
4242
* @param int<0, max>|null $columnNumber
4343
*/
44-
public function setPosition(?int $lineNumber, ?int $columnNumber = null): void;
44+
public function setPosition($lineNumber, $columnNumber = null);
4545
}

tests/Unit/Position/PositionTest.php

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,31 +18,38 @@ final class PositionTest extends TestCase
1818
*/
1919
private $subject;
2020

21-
protected function setUp(): void
21+
/**
22+
* The method signature of `setUp()` is not compatible with all PHP and PHPUnit versions supported.
23+
*/
24+
protected function doSetUp()
2225
{
2326
$this->subject = new ConcretePosition();
2427
}
2528

2629
/**
2730
* @test
2831
*/
29-
public function getLineNumberInitiallyReturnsNull(): void
32+
public function getLineNumberInitiallyReturnsNull()
3033
{
34+
$this->doSetUp();
35+
3136
self::assertNull($this->subject->getLineNumber());
3237
}
3338

3439
/**
3540
* @test
3641
*/
37-
public function getColumnNumberInitiallyReturnsNull(): void
42+
public function getColumnNumberInitiallyReturnsNull()
3843
{
44+
$this->doSetUp();
45+
3946
self::assertNull($this->subject->getColumnNumber());
4047
}
4148

4249
/**
4350
* @return array<non-empty-string, array{0: int<1, max>}>
4451
*/
45-
public function provideLineNumber(): array
52+
public function provideLineNumber()
4653
{
4754
return [
4855
'line 1' => [1],
@@ -57,8 +64,10 @@ public function provideLineNumber(): array
5764
*
5865
* @dataProvider provideLineNumber
5966
*/
60-
public function setPositionOnVirginSetsLineNumber(int $lineNumber): void
67+
public function setPositionOnVirginSetsLineNumber(int $lineNumber)
6168
{
69+
$this->doSetUp();
70+
6271
$this->subject->setPosition($lineNumber);
6372

6473
self::assertSame($lineNumber, $this->subject->getLineNumber());
@@ -71,8 +80,10 @@ public function setPositionOnVirginSetsLineNumber(int $lineNumber): void
7180
*
7281
* @dataProvider provideLineNumber
7382
*/
74-
public function setPositionSetsNewLineNumber(int $lineNumber): void
83+
public function setPositionSetsNewLineNumber(int $lineNumber)
7584
{
85+
$this->doSetUp();
86+
7687
$this->subject->setPosition(99);
7788

7889
$this->subject->setPosition($lineNumber);
@@ -83,8 +94,10 @@ public function setPositionSetsNewLineNumber(int $lineNumber): void
8394
/**
8495
* @test
8596
*/
86-
public function setPositionWithNullClearsLineNumber(): void
97+
public function setPositionWithNullClearsLineNumber()
8798
{
99+
$this->doSetUp();
100+
88101
$this->subject->setPosition(99);
89102

90103
$this->subject->setPosition(null);
@@ -111,8 +124,10 @@ public function provideColumnNumber(): array
111124
*
112125
* @dataProvider provideColumnNumber
113126
*/
114-
public function setPositionOnVirginSetsColumnNumber(int $columnNumber): void
127+
public function setPositionOnVirginSetsColumnNumber(int $columnNumber)
115128
{
129+
$this->doSetUp();
130+
116131
$this->subject->setPosition(1, $columnNumber);
117132

118133
self::assertSame($columnNumber, $this->subject->getColumnNumber());
@@ -123,8 +138,10 @@ public function setPositionOnVirginSetsColumnNumber(int $columnNumber): void
123138
*
124139
* @dataProvider provideColumnNumber
125140
*/
126-
public function setPositionSetsNewColumnNumber(int $columnNumber): void
141+
public function setPositionSetsNewColumnNumber(int $columnNumber)
127142
{
143+
$this->doSetUp();
144+
128145
$this->subject->setPosition(1, 99);
129146

130147
$this->subject->setPosition(2, $columnNumber);
@@ -135,8 +152,10 @@ public function setPositionSetsNewColumnNumber(int $columnNumber): void
135152
/**
136153
* @test
137154
*/
138-
public function setPositionWithoutColumnNumberClearsColumnNumber(): void
155+
public function setPositionWithoutColumnNumberClearsColumnNumber()
139156
{
157+
$this->doSetUp();
158+
140159
$this->subject->setPosition(1, 99);
141160

142161
$this->subject->setPosition(2);
@@ -147,8 +166,10 @@ public function setPositionWithoutColumnNumberClearsColumnNumber(): void
147166
/**
148167
* @test
149168
*/
150-
public function setPositionWithNullForColumnNumberClearsColumnNumber(): void
169+
public function setPositionWithNullForColumnNumberClearsColumnNumber()
151170
{
171+
$this->doSetUp();
172+
152173
$this->subject->setPosition(1, 99);
153174

154175
$this->subject->setPosition(2, null);
@@ -169,8 +190,10 @@ public function provideLineAndColumnNumber(): array
169190
*
170191
* @dataProvider provideLineAndColumnNumber
171192
*/
172-
public function setPositionOnVirginSetsLineAndColumnNumber(int $lineNumber, int $columnNumber): void
193+
public function setPositionOnVirginSetsLineAndColumnNumber(int $lineNumber, int $columnNumber)
173194
{
195+
$this->doSetUp();
196+
174197
$this->subject->setPosition($lineNumber, $columnNumber);
175198

176199
self::assertSame($lineNumber, $this->subject->getLineNumber());
@@ -182,8 +205,10 @@ public function setPositionOnVirginSetsLineAndColumnNumber(int $lineNumber, int
182205
*
183206
* @dataProvider provideLineAndColumnNumber
184207
*/
185-
public function setPositionSetsNewLineAndColumnNumber(int $lineNumber, int $columnNumber): void
208+
public function setPositionSetsNewLineAndColumnNumber(int $lineNumber, int $columnNumber)
186209
{
210+
$this->doSetUp();
211+
187212
$this->subject->setPosition(98, 99);
188213

189214
$this->subject->setPosition($lineNumber, $columnNumber);

0 commit comments

Comments
 (0)