Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 131caa6

Browse files
Trinary logic migration
1 parent 74df112 commit 131caa6

20 files changed

+128
-9
lines changed

‎src/Reflection/Annotations/AnnotationMethodReflection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,4 +183,9 @@ public function getAttributes(): array
183183
return [];
184184
}
185185

186+
public function hasNoDiscardAttribute(): TrinaryLogic
187+
{
188+
return TrinaryLogic::createNo();
189+
}
190+
186191
}

‎src/Reflection/Dummy/ChangedTypeMethodReflection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,4 +171,9 @@ public function getAttributes(): array
171171
return $this->reflection->getAttributes();
172172
}
173173

174+
public function hasNoDiscardAttribute(): TrinaryLogic
175+
{
176+
return $this->reflection->hasNoDiscardAttribute();
177+
}
178+
174179
}

‎src/Reflection/Dummy/DummyConstructorReflection.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,4 +157,10 @@ public function getAttributes(): array
157157
return [];
158158
}
159159

160+
public function hasNoDiscardAttribute(): TrinaryLogic
161+
{
162+
// Align with the getAttributes() returning empty
163+
return TrinaryLogic::createNo();
164+
}
165+
160166
}

‎src/Reflection/Dummy/DummyMethodReflection.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,4 +149,10 @@ public function getAttributes(): array
149149
return [];
150150
}
151151

152+
public function hasNoDiscardAttribute(): TrinaryLogic
153+
{
154+
// Align with the getAttributes() returning empty
155+
return TrinaryLogic::createNo();
156+
}
157+
152158
}

‎src/Reflection/ExtendedMethodReflection.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,11 @@ public function isPure(): TrinaryLogic;
6565
*/
6666
public function getAttributes(): array;
6767

68+
/**
69+
* Has the #[\NoDiscard] attribute - on PHP 8.5+ if the function's return
70+
* value is unused at runtime a warning is emitted, phpstan will emit the
71+
* warning during analysis and on older PHP versions too
72+
*/
73+
public function hasNoDiscardAttribute(): TrinaryLogic;
74+
6875
}

‎src/Reflection/FunctionReflection.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,11 @@ public function isPure(): TrinaryLogic;
6262
*/
6363
public function getAttributes(): array;
6464

65+
/**
66+
* Has the #[\NoDiscard] attribute - on PHP 8.5+ if the function's return
67+
* value is unused at runtime a warning is emitted, phpstan will emit the
68+
* warning during analysis and on older PHP versions too
69+
*/
70+
public function hasNoDiscardAttribute(): TrinaryLogic;
71+
6572
}

‎src/Reflection/Native/NativeFunctionReflection.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,4 +150,14 @@ public function getAttributes(): array
150150
return $this->attributes;
151151
}
152152

153+
public function hasNoDiscardAttribute(): TrinaryLogic
154+
{
155+
foreach ($this->attributes as $attrib) {
156+
if ($attrib->getName() === 'NoDiscard') {
157+
return TrinaryLogic::createYes();
158+
}
159+
}
160+
return TrinaryLogic::createNo();
161+
}
162+
153163
}

‎src/Reflection/Native/NativeMethodReflection.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,4 +227,14 @@ public function getAttributes(): array
227227
return $this->attributes;
228228
}
229229

230+
public function hasNoDiscardAttribute(): TrinaryLogic
231+
{
232+
foreach ($this->attributes as $attrib) {
233+
if ($attrib->getName() === 'NoDiscard') {
234+
return TrinaryLogic::createYes();
235+
}
236+
}
237+
return TrinaryLogic::createNo();
238+
}
239+
230240
}

‎src/Reflection/Php/ClosureCallMethodReflection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,4 +202,9 @@ public function getAttributes(): array
202202
return $this->nativeMethodReflection->getAttributes();
203203
}
204204

205+
public function hasNoDiscardAttribute(): TrinaryLogic
206+
{
207+
return $this->nativeMethodReflection->hasNoDiscardAttribute();
208+
}
209+
205210
}

‎src/Reflection/Php/EnumCasesMethodReflection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,4 +161,9 @@ public function getAttributes(): array
161161
return [];
162162
}
163163

164+
public function hasNoDiscardAttribute(): TrinaryLogic
165+
{
166+
return TrinaryLogic::createYes();
167+
}
168+
164169
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /