Skip to content

Commit 6fe1cf5

Browse files
authored
add support for php 8.4: explicit nullables (#15)
1 parent 8df9d5f commit 6fe1cf5

File tree

5 files changed

+7
-6
lines changed

5 files changed

+7
-6
lines changed

.github/workflows/buildcheck.yml

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
- "8.1"
1919
- "8.2"
2020
- "8.3"
21+
- "8.4"
2122
composer:
2223
- ""
2324
- "--prefer-lowest"

src/Parser.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ final class Parser implements ParserInterface
3636
*
3737
* @param FactoryInterface $factory A segment factory for creating segments
3838
*/
39-
public function __construct(FactoryInterface $factory = null, TokenizerInterface $tokenizer = null)
39+
public function __construct(?FactoryInterface $factory = null, ?TokenizerInterface $tokenizer = null)
4040
{
4141
if ($factory === null) {
4242
$factory = new Factory();
@@ -59,7 +59,7 @@ public function __construct(FactoryInterface $factory = null, TokenizerInterface
5959
* @return SegmentInterface[]
6060
* @throws ParseException
6161
*/
62-
public function parse(string $message, ControlCharactersInterface $characters = null): iterable
62+
public function parse(string $message, ?ControlCharactersInterface $characters = null): iterable
6363
{
6464
$characters = $this->getControlCharacters($message, $characters);
6565

@@ -79,7 +79,7 @@ public function parse(string $message, ControlCharactersInterface $characters =
7979
*
8080
* @return ControlCharactersInterface
8181
*/
82-
private function getControlCharacters(string &$message, ControlCharactersInterface $characters = null): ControlCharactersInterface
82+
private function getControlCharacters(string &$message, ?ControlCharactersInterface $characters = null): ControlCharactersInterface
8383
{
8484
if ($characters === null) {
8585
$characters = new ControlCharacters();

src/ParserInterface.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ interface ParserInterface
1717
* @return iterable<SegmentInterface>
1818
* @throws ParseException
1919
*/
20-
public function parse(string $message, ControlCharactersInterface $characters = null): iterable;
20+
public function parse(string $message, ?ControlCharactersInterface $characters = null): iterable;
2121
}

src/Serializer.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ final class Serializer implements SerializerInterface
2525
/**
2626
* @param ControlCharactersInterface|null $characters
2727
*/
28-
public function __construct(ControlCharactersInterface $characters = null)
28+
public function __construct(?ControlCharactersInterface $characters = null)
2929
{
3030
if ($characters === null) {
3131
$characters = new ControlCharacters();

tests/ParserTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function setUp(): void
2929
}
3030

3131

32-
public function getControlCharacters(string &$message, ControlCharactersInterface $characters = null): void
32+
public function getControlCharacters(string &$message, ?ControlCharactersInterface $characters = null): void
3333
{
3434
if ($characters === null) {
3535
$characters = Mockery::mock(ControlCharactersInterface::class);

0 commit comments

Comments
 (0)