Skip to content

Commit 6d921fd

Browse files
committed
Make transpiled enums string-backed
1 parent e228154 commit 6d921fd

2 files changed

Lines changed: 10 additions & 10 deletions

File tree

src/Transpiler/Php/Transpiler.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,11 @@ public function transpileEnumDeclaration(EnumDeclarationNode $enumDeclaration):
100100
$lines[] = '';
101101
$lines[] = 'namespace Vendor\\Project\\Component;';
102102
$lines[] = '';
103-
$lines[] = 'enum ' . $enumDeclaration->enumName;
103+
$lines[] = 'enum ' . $enumDeclaration->enumName . ': string';
104104
$lines[] = '{';
105105

106106
foreach ($enumDeclaration->memberDeclarations->items as $memberDeclarationNode) {
107-
$lines[] = ' case ' . $memberDeclarationNode->name . ';';
107+
$lines[] = ' case ' . $memberDeclarationNode->name . ' = \'' . $memberDeclarationNode->name . '\';';
108108
}
109109

110110
$lines[] = '}';

test/Integration/Examples/Enum/Enum.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

55
namespace Vendor\Project\Component;
66

7-
enum DayOfWeek
7+
enum DayOfWeek: string
88
{
9-
case MONDAY;
10-
case TUESDAY;
11-
case WEDNESDAY;
12-
case THURSDAY;
13-
case FRIDAY;
14-
case SATURDAY;
15-
case SUNDAY;
9+
case MONDAY = 'MONDAY';
10+
case TUESDAY = 'TUESDAY';
11+
case WEDNESDAY = 'WEDNESDAY';
12+
case THURSDAY = 'THURSDAY';
13+
case FRIDAY = 'FRIDAY';
14+
case SATURDAY = 'SATURDAY';
15+
case SUNDAY = 'SUNDAY';
1616
}

0 commit comments

Comments
 (0)