Skip to content

Commit f639dd8

Browse files
author
Kirill Nesmeyanov
committed
Add json serialization tests and replace SerializableInterface to JsonSerializable
1 parent b010e8d commit f639dd8

File tree

97 files changed

+448
-174
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+448
-174
lines changed

src/Node/Identifier.php

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,6 @@ public function __toString(): string
114114
return $this->value;
115115
}
116116

117-
public function toArray(): array
118-
{
119-
return [
120-
'identifier' => $this->toString(),
121-
];
122-
}
123-
124117
/**
125118
* @return non-empty-string
126119
*/

src/Node/Literal/BoolLiteralNode.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ public function getValue(): bool
4141
return $this->value;
4242
}
4343

44-
public function toArray(): array
44+
public function jsonSerialize(): array
4545
{
4646
return [
47-
...parent::toArray(),
47+
...parent::jsonSerialize(),
4848
'kind' => LiteralKind::BOOL_KIND,
4949
];
5050
}

src/Node/Literal/FloatLiteralNode.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ public function getValue(): float
4141
return $this->value;
4242
}
4343

44-
public function toArray(): array
44+
public function jsonSerialize(): array
4545
{
4646
return [
47-
...parent::toArray(),
47+
...parent::jsonSerialize(),
4848
'kind' => LiteralKind::FLOAT_KIND,
4949
];
5050
}

src/Node/Literal/IntLiteralNode.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ public function getValue(): int
7373
return $this->value;
7474
}
7575

76-
public function toArray(): array
76+
public function jsonSerialize(): array
7777
{
7878
return [
79-
...parent::toArray(),
79+
...parent::jsonSerialize(),
8080
'kind' => LiteralKind::INT_KIND,
8181
];
8282
}

src/Node/Literal/LiteralKind.php

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,21 @@
44

55
namespace TypeLang\Parser\Node\Literal;
66

7-
use TypeLang\Parser\Node\SerializableInterface;
8-
use TypeLang\Parser\Node\SerializableKind;
9-
10-
enum LiteralKind: int implements SerializableInterface
7+
enum LiteralKind: int implements \JsonSerializable
118
{
12-
use SerializableKind;
13-
149
case UNKNOWN = 0;
1510
case BOOL_KIND = 1;
1611
case FLOAT_KIND = 2;
1712
case INT_KIND = 3;
1813
case NULL_KIND = 4;
1914
case STRING_KIND = 5;
2015
case VARIABLE_KIND = 6;
16+
17+
/**
18+
* @return int<0, max>
19+
*/
20+
public function jsonSerialize(): int
21+
{
22+
return $this->value;
23+
}
2124
}

src/Node/Literal/LiteralNode.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public function __toString(): string
3535
return $this->raw;
3636
}
3737

38-
public function toArray(): array
38+
public function jsonSerialize(): array
3939
{
4040
return [
4141
'kind' => LiteralKind::UNKNOWN,

src/Node/Literal/NullLiteralNode.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ public function getValue(): mixed
2424
return null;
2525
}
2626

27-
public function toArray(): array
27+
public function jsonSerialize(): array
2828
{
2929
return [
30-
...parent::toArray(),
30+
...parent::jsonSerialize(),
3131
'kind' => LiteralKind::NULL_KIND,
3232
];
3333
}

src/Node/Literal/StringLiteralNode.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,10 @@ public function getValue(): string
199199
return $this->value;
200200
}
201201

202-
public function toArray(): array
202+
public function jsonSerialize(): array
203203
{
204204
return [
205-
...parent::toArray(),
205+
...parent::jsonSerialize(),
206206
'kind' => LiteralKind::STRING_KIND,
207207
];
208208
}

src/Node/Literal/VariableLiteralNode.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ public function getValue(): string
6262
return $this->value;
6363
}
6464

65-
public function toArray(): array
65+
public function jsonSerialize(): array
6666
{
6767
return [
68-
...parent::toArray(),
68+
...parent::jsonSerialize(),
6969
'kind' => LiteralKind::VARIABLE_KIND,
7070
];
7171
}

src/Node/Name.php

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -282,13 +282,6 @@ public function __toString(): string
282282
return $this->toString();
283283
}
284284

285-
public function toArray(): array
286-
{
287-
return [
288-
'name' => $this->toString()
289-
];
290-
}
291-
292285
/**
293286
* @return non-empty-string
294287
*/

0 commit comments

Comments
 (0)