Skip to content

Commit 05dabe9

Browse files
clxmstaabstaabm
authored andcommitted
inline calls in TrinaryLogic to reduce method call overhead
1 parent e36e22c commit 05dabe9

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/TrinaryLogic.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,23 @@ private function __construct(private int $value)
2828

2929
public static function createYes(): self
3030
{
31-
return self::create(self::YES);
31+
return self::$registry[self::YES] ??= new self(self::YES);
3232
}
3333

3434
public static function createNo(): self
3535
{
36-
return self::create(self::NO);
36+
return self::$registry[self::NO] ??= new self(self::NO);
3737
}
3838

3939
public static function createMaybe(): self
4040
{
41-
return self::create(self::MAYBE);
41+
return self::$registry[self::MAYBE] ??= new self(self::MAYBE);
4242
}
4343

4444
public static function createFromBoolean(bool $value): self
4545
{
46-
return self::create($value ? self::YES : self::NO);
46+
$yesNo = $value ? self::YES : self::NO;
47+
return self::$registry[$yesNo] ??= new self($yesNo);
4748
}
4849

4950
private static function create(int $value): self

0 commit comments

Comments
 (0)