Skip to content

Commit 3024c02

Browse files
committed
MethodReflection - fix isInternal vs. isBuiltin
1 parent 67fb7a6 commit 3024c02

15 files changed

+99
-5
lines changed

src/Reflection/Annotations/AnnotationMethodReflection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@ public function isInternal(): TrinaryLogic
119119
return TrinaryLogic::createNo();
120120
}
121121

122+
public function isBuiltin(): TrinaryLogic
123+
{
124+
return TrinaryLogic::createNo();
125+
}
126+
122127
public function getThrowType(): ?Type
123128
{
124129
return $this->throwType;

src/Reflection/Dummy/ChangedTypeMethodReflection.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,16 @@ public function isInternal(): TrinaryLogic
110110
return $this->reflection->isInternal();
111111
}
112112

113+
public function isBuiltin(): TrinaryLogic
114+
{
115+
$builtin = $this->reflection->isBuiltin();
116+
if (is_bool($builtin)) {
117+
return TrinaryLogic::createFromBoolean($builtin);
118+
}
119+
120+
return $builtin;
121+
}
122+
113123
public function getThrowType(): ?Type
114124
{
115125
return $this->reflection->getThrowType();

src/Reflection/Dummy/DummyConstructorReflection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,11 @@ public function isInternal(): TrinaryLogic
9797
return TrinaryLogic::createMaybe();
9898
}
9999

100+
public function isBuiltin(): TrinaryLogic
101+
{
102+
return TrinaryLogic::createMaybe();
103+
}
104+
100105
public function getThrowType(): ?Type
101106
{
102107
return null;

src/Reflection/Dummy/DummyMethodReflection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ public function isInternal(): TrinaryLogic
9494
return TrinaryLogic::createMaybe();
9595
}
9696

97+
public function isBuiltin(): TrinaryLogic
98+
{
99+
return TrinaryLogic::createMaybe();
100+
}
101+
97102
public function getThrowType(): ?Type
98103
{
99104
return null;

src/Reflection/ExtendedMethodReflection.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ public function isFinalByKeyword(): TrinaryLogic;
4949

5050
public function isAbstract(): TrinaryLogic|bool;
5151

52+
public function isBuiltin(): TrinaryLogic|bool;
53+
5254
/**
5355
* This indicates whether the method has phpstan-pure
5456
* or phpstan-impure annotation above it.

src/Reflection/Native/NativeMethodReflection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,11 @@ public function isDeprecated(): TrinaryLogic
140140
}
141141

142142
public function isInternal(): TrinaryLogic
143+
{
144+
return TrinaryLogic::createNo();
145+
}
146+
147+
public function isBuiltin(): TrinaryLogic
143148
{
144149
return TrinaryLogic::createFromBoolean($this->reflection->isInternal());
145150
}

src/Reflection/Php/ClosureCallMethodReflection.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,16 @@ public function isInternal(): TrinaryLogic
142142
return $this->nativeMethodReflection->isInternal();
143143
}
144144

145+
public function isBuiltin(): TrinaryLogic
146+
{
147+
$builtin = $this->nativeMethodReflection->isBuiltin();
148+
if (is_bool($builtin)) {
149+
return TrinaryLogic::createFromBoolean($builtin);
150+
}
151+
152+
return $builtin;
153+
}
154+
145155
public function getThrowType(): ?Type
146156
{
147157
return $this->nativeMethodReflection->getThrowType();

src/Reflection/Php/EnumCasesMethodReflection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,11 @@ public function isInternal(): TrinaryLogic
111111
return TrinaryLogic::createNo();
112112
}
113113

114+
public function isBuiltin(): TrinaryLogic
115+
{
116+
return TrinaryLogic::createYes();
117+
}
118+
114119
public function getThrowType(): ?Type
115120
{
116121
return null;

src/Reflection/Php/PhpMethodReflection.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,12 @@ public function isDeprecated(): TrinaryLogic
379379

380380
public function isInternal(): TrinaryLogic
381381
{
382-
return TrinaryLogic::createFromBoolean($this->isInternal || $this->reflection->isInternal());
382+
return TrinaryLogic::createFromBoolean($this->isInternal);
383+
}
384+
385+
public function isBuiltin(): TrinaryLogic
386+
{
387+
return TrinaryLogic::createFromBoolean($this->reflection->isInternal());
383388
}
384389

385390
public function isFinal(): TrinaryLogic

src/Reflection/ResolvedMethodReflection.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,16 @@ public function isInternal(): TrinaryLogic
150150
return $this->reflection->isInternal();
151151
}
152152

153+
public function isBuiltin(): TrinaryLogic
154+
{
155+
$builtin = $this->reflection->isBuiltin();
156+
if (is_bool($builtin)) {
157+
return TrinaryLogic::createFromBoolean($builtin);
158+
}
159+
160+
return $builtin;
161+
}
162+
153163
public function getThrowType(): ?Type
154164
{
155165
return $this->reflection->getThrowType();

0 commit comments

Comments
 (0)