|
4 | 4 |
|
5 | 5 | namespace TypeLang\Printer; |
6 | 6 |
|
| 7 | +use TypeLang\Parser\Node\Literal\BoolLiteralNode; |
| 8 | +use TypeLang\Parser\Node\Literal\FloatLiteralNode; |
| 9 | +use TypeLang\Parser\Node\Literal\IntLiteralNode; |
7 | 10 | use TypeLang\Parser\Node\Literal\LiteralNode; |
| 11 | +use TypeLang\Parser\Node\Literal\NullLiteralNode; |
| 12 | +use TypeLang\Parser\Node\Literal\StringLiteralNode; |
8 | 13 | use TypeLang\Parser\Node\Literal\VariableLiteralNode; |
9 | 14 | use TypeLang\Parser\Node\Stmt\CallableTypeNode; |
10 | 15 | use TypeLang\Parser\Node\Stmt\ClassConstMaskNode; |
@@ -226,15 +231,15 @@ protected function printNamedTypeNode(NamedTypeNode $node): string |
226 | 231 | #[\Override] |
227 | 232 | protected function printLiteralNode(LiteralNode $node): string |
228 | 233 | { |
229 | | - if ($node instanceof VariableLiteralNode) { |
230 | | - if ($node->getValue() === 'this') { |
231 | | - return 'self'; |
232 | | - } |
233 | | - |
234 | | - return 'mixed'; |
235 | | - } |
236 | | - |
237 | | - return \get_debug_type($node->getRawValue()); |
| 234 | + return match (true) { |
| 235 | + $node instanceof BoolLiteralNode => 'bool', |
| 236 | + $node instanceof FloatLiteralNode => 'float', |
| 237 | + $node instanceof IntLiteralNode => 'int', |
| 238 | + $node instanceof NullLiteralNode => 'null', |
| 239 | + $node instanceof StringLiteralNode => 'string', |
| 240 | + $node instanceof VariableLiteralNode => $node->getValue() === 'this' ? 'self' : 'mixed', |
| 241 | + default => \get_debug_type($node->getValue()), |
| 242 | + }; |
238 | 243 | } |
239 | 244 |
|
240 | 245 | #[\Override] |
|
0 commit comments