Skip to content

Commit 6f230df

Browse files
authored
Merge pull request #10 from Innmind/no-discard-attributes
Add `NoDiscard` attribute on mutation free methods
2 parents 81a2b01 + 8c796ea commit 6f230df

5 files changed

Lines changed: 13 additions & 0 deletions

File tree

psalm.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,7 @@
1414
<directory name="vendor" />
1515
</ignoreFiles>
1616
</projectFiles>
17+
<issueHandlers>
18+
<UndefinedAttributeClass errorLevel="suppress" />
19+
</issueHandlers>
1720
</psalm>

src/LineParser.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@ interface LineParser
1313
/**
1414
* @return Maybe<Log>
1515
*/
16+
#[\NoDiscard]
1617
public function __invoke(Str $line): Maybe;
1718
}

src/Log.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,13 @@ public static function of(PointInTime $time, Str $raw, Set $attributes): self
4141
return new self($time, $raw, $attributes);
4242
}
4343

44+
#[\NoDiscard]
4445
public function time(): PointInTime
4546
{
4647
return $this->time;
4748
}
4849

50+
#[\NoDiscard]
4951
public function raw(): Str
5052
{
5153
return $this->raw;
@@ -54,6 +56,7 @@ public function raw(): Str
5456
/**
5557
* @return Set<Attribute>
5658
*/
59+
#[\NoDiscard]
5760
public function attributes(): Set
5861
{
5962
return $this->attributes;
@@ -62,16 +65,19 @@ public function attributes(): Set
6265
/**
6366
* @return Maybe<Attribute>
6467
*/
68+
#[\NoDiscard]
6569
public function attribute(string $key): Maybe
6670
{
6771
return $this->attributes->find(static fn($attribute) => $attribute->key() === $key);
6872
}
6973

74+
#[\NoDiscard]
7075
public function equals(self $log): bool
7176
{
7277
return $this->raw->equals($log->raw());
7378
}
7479

80+
#[\NoDiscard]
7581
public function toString(): string
7682
{
7783
return $this->raw->toString();

src/Log/Attribute.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
*/
99
interface Attribute
1010
{
11+
#[\NoDiscard]
1112
public function key(): string;
13+
#[\NoDiscard]
1214
public function value(): mixed;
1315
}

src/Reader.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ private function __construct(LineParser $parser)
1818
$this->parse = $parser;
1919
}
2020

21+
#[\NoDiscard]
2122
public function __invoke(Content $file): Sequence
2223
{
2324
/**

0 commit comments

Comments
 (0)