8000 [Finder] Fix iterator return types · Seldaek/symfony@2ede10d · GitHub
[go: up one dir, main page]

Skip to content

Commit 2ede10d

Browse files
committed
[Finder] Fix iterator return types
Signed-off-by: Alexander M. Turek <me@derrabus.de>
1 parent b8cbb93 commit 2ede10d

File tree

5 files changed

+17
-16
lines changed

5 files changed

+17
-16
lines changed

src/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public function __construct(string $path, int $flags, bool $ignoreUnreadableDirs
5858
*
5959
* @return SplFileInfo File information
6060
*/
61+
#[\ReturnTypeWillChange]
6162
public function current()
6263
{
6364
// the logic here avoids redoing the same work in all iterations
@@ -82,6 +83,7 @@ public function current()
8283
*
8384
* @throws AccessDeniedException
8485
*/
86+
#[\ReturnTypeWillChange]
8587
public function getChildren()
8688
{
8789
try {
@@ -109,7 +111,10 @@ public function getChildren()
109111

110112
/**
111113
* Do nothing for non rewindable stream.
114+
*
115+
* @return void
112116
*/
117+
#[\ReturnTypeWillChange]
113118
public function rewind()
114119
{
115120
if (false === $this->isRewindable()) {

src/Symfony/Component/Finder/Tests/Iterator/FileTypeFilterIteratorTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,17 +65,17 @@ public function getAcceptData()
6565

6666
class InnerTypeIterator extends \ArrayIterator
6767
{
68-
public function current()
68+
public function current(): \SplFileInfo
6969
{
7070
return new \SplFileInfo(parent::current());
7171
}
7272

73-
public function isFile()
73+
public function isFile(): bool
7474
{
7575
return $this->current()->isFile();
7676
}
7777

78-
public function isDir()
78+
public function isDir(): bool
7979
{
8080
return $this->current()->isDir();
8181
}

src/Symfony/Component/Finder/Tests/Iterator/FilenameFilterIteratorTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public function getAcceptData()
4242

4343
class InnerNameIterator extends \ArrayIterator
4444
{
45-
public function current()
45+
public function current(): \SplFileInfo
4646
{
4747
return new \SplFileInfo(parent::current());
4848
}

src/Symfony/Component/Finder/Tests/Iterator/MockSplFileInfo.php

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public function __construct($param)
4848
}
4949
}
5050

51-
public function isFile()
51+
public function isFile(): bool
5252
{
5353
if (null === $this->type) {
5454
return false !== strpos($this->getFilename(), 'file');
@@ -57,7 +57,7 @@ public function isFile()
5757
return self::TYPE_FILE === $this->type;
5858
}
5959

60-
public function isDir()
60+
public function isDir(): bool
6161
{
6262
if (null === $this->type) {
6363
return false !== strpos($this->getFilename(), 8000 'directory');
@@ -66,13 +66,9 @@ public function isDir()
6666
return self::TYPE_DIRECTORY === $this->type;
6767
}
6868

69-
public function isReadable()
69+
public function isReadable(): bool
7070
{
71-
if (null === $this->mode) {
72-
return preg_match('/r\+/', $this->getFilename());
73-
}
74-
75-
return preg_match('/r\+/', $this->mode);
71+
return (bool) preg_match('/r\+/', $this->mode ?? $this->getFilename());
7672
}
7773

7874
public function getContents()

src/Symfony/Component/Finder/Tests/Iterator/SizeRangeFilterIteratorTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,22 +48,22 @@ public function getAcceptData()
4848

4949
class InnerSizeIterator extends \ArrayIterator
5050
{
51-
public function current()
51+
public function current(): \SplFileInfo
5252
{
5353
return new \SplFileInfo(parent::current());
5454
}
5555

56-
public function getFilename()
56+
public function getFilename(): string
5757
{
5858
return parent::current();
5959
}
6060

61-
public function isFile()
61+
public function isFile(): bool
6262
{
6363
return $this->current()->isFile();
6464
}
6565

66-
public function getSize()
66+
public function getSize(): int
6767
{
6868
return $this->current()->getSize();
6969
}

0 commit comments

Comments
 (0)
0