Skip to content

Commit 4ecf7d9

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

File tree

4 files changed

+98
-38
lines changed

4 files changed

+98
-38
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: 48 additions & 15 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($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($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);
@@ -95,7 +108,7 @@ public function setPositionWithNullClearsLineNumber(): void
95108
/**
96109
* @return array<non-empty-string, array{0: int<0, max>}>
97110
*/
98-
public function provideColumnNumber(): array
111+
public function provideColumnNumber()
99112
{
100113
return [
101114
'column 0' => [0],
@@ -111,8 +124,10 @@ public function provideColumnNumber(): array
111124
*
112125
* @dataProvider provideColumnNumber
113126
*/
114-
public function setPositionOnVirginSetsColumnNumber(int $columnNumber): void
127+
public function setPositionOnVirginSetsColumnNumber($columnNumber)
115128
{
129+
$this->doSetUp();
130+
116131
$this->subject->setPosition(1, $columnNumber);
117132

118133
self::assertSame($columnNumber, $this->subject->getColumnNumber());
@@ -121,10 +136,14 @@ public function setPositionOnVirginSetsColumnNumber(int $columnNumber): void
121136
/**
122137
* @test
123138
*
139+
* @param int $columnNumber
140+
*
124141
* @dataProvider provideColumnNumber
125142
*/
126-
public function setPositionSetsNewColumnNumber(int $columnNumber): void
143+
public function setPositionSetsNewColumnNumber($columnNumber)
127144
{
145+
$this->doSetUp();
146+
128147
$this->subject->setPosition(1, 99);
129148

130149
$this->subject->setPosition(2, $columnNumber);
@@ -135,8 +154,10 @@ public function setPositionSetsNewColumnNumber(int $columnNumber): void
135154
/**
136155
* @test
137156
*/
138-
public function setPositionWithoutColumnNumberClearsColumnNumber(): void
157+
public function setPositionWithoutColumnNumberClearsColumnNumber()
139158
{
159+
$this->doSetUp();
160+
140161
$this->subject->setPosition(1, 99);
141162

142163
$this->subject->setPosition(2);
@@ -147,8 +168,10 @@ public function setPositionWithoutColumnNumberClearsColumnNumber(): void
147168
/**
148169
* @test
149170
*/
150-
public function setPositionWithNullForColumnNumberClearsColumnNumber(): void
171+
public function setPositionWithNullForColumnNumberClearsColumnNumber()
151172
{
173+
$this->doSetUp();
174+
152175
$this->subject->setPosition(1, 99);
153176

154177
$this->subject->setPosition(2, null);
@@ -159,18 +182,23 @@ public function setPositionWithNullForColumnNumberClearsColumnNumber(): void
159182
/**
160183
* @return array<non-empty-string, array{0: int<1, max>, 1: int<0, max>}>
161184
*/
162-
public function provideLineAndColumnNumber(): array
185+
public function provideLineAndColumnNumber()
163186
{
164187
return DataProviders::cross($this->provideLineNumber(), $this->provideColumnNumber());
165188
}
166189

167190
/**
168191
* @test
169192
*
193+
* @param int $lineNumber
194+
* @param int $columnNumber
195+
*
170196
* @dataProvider provideLineAndColumnNumber
171197
*/
172-
public function setPositionOnVirginSetsLineAndColumnNumber(int $lineNumber, int $columnNumber): void
198+
public function setPositionOnVirginSetsLineAndColumnNumber($lineNumber, $columnNumber)
173199
{
200+
$this->doSetUp();
201+
174202
$this->subject->setPosition($lineNumber, $columnNumber);
175203

176204
self::assertSame($lineNumber, $this->subject->getLineNumber());
@@ -180,10 +208,15 @@ public function setPositionOnVirginSetsLineAndColumnNumber(int $lineNumber, int
180208
/**
181209
* @test
182210
*
211+
* @param int $lineNumber
212+
* @param int $columnNumber
213+
*
183214
* @dataProvider provideLineAndColumnNumber
184215
*/
185-
public function setPositionSetsNewLineAndColumnNumber(int $lineNumber, int $columnNumber): void
216+
public function setPositionSetsNewLineAndColumnNumber($lineNumber, $columnNumber)
186217
{
218+
$this->doSetUp();
219+
187220
$this->subject->setPosition(98, 99);
188221

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

0 commit comments

Comments
 (0)