@@ -2486,25 +2486,26 @@ private function checkEnum(): void
2486
2486
2487
2487
$ seen_values = [];
2488
2488
foreach ($ storage ->enum_cases as $ case_storage ) {
2489
- if ($ case_storage ->value !== null && $ storage ->enum_type === null ) {
2489
+ $ case_value = $ case_storage ->getValue ($ this ->getCodebase ()->classlikes );
2490
+ if ($ case_value !== null && $ storage ->enum_type === null ) {
2490
2491
IssueBuffer::maybeAdd (
2491
2492
new InvalidEnumCaseValue (
2492
2493
'Case of a non-backed enum should not have a value ' ,
2493
2494
$ case_storage ->stmt_location ,
2494
2495
$ storage ->name ,
2495
2496
),
2496
2497
);
2497
- } elseif ($ case_storage -> value === null && $ storage ->enum_type !== null ) {
2498
+ } elseif ($ case_value === null && $ storage ->enum_type !== null ) {
2498
2499
IssueBuffer::maybeAdd (
2499
2500
new InvalidEnumCaseValue (
2500
2501
'Case of a backed enum should have a value ' ,
2501
2502
$ case_storage ->stmt_location ,
2502
2503
$ storage ->name ,
2503
2504
),
2504
2505
);
2505
- } elseif ($ case_storage -> value !== null ) {
2506
- if ((is_int ($ case_storage -> value ) && $ storage ->enum_type === 'string ' )
2507
- || (is_string ($ case_storage -> value ) && $ storage ->enum_type === 'int ' )
2506
+ } elseif ($ case_value !== null ) {
2507
+ if ((is_int ($ case_value ) && $ storage ->enum_type === 'string ' )
2508
+ || (is_string ($ case_value ) && $ storage ->enum_type === 'int ' )
2508
2509
) {
2509
2510
IssueBuffer::maybeAdd (
2510
2511
new InvalidEnumCaseValue (
@@ -2516,8 +2517,8 @@ private function checkEnum(): void
2516
2517
}
2517
2518
}
2518
2519
2519
- if ($ case_storage -> value !== null ) {
2520
- if (in_array ($ case_storage -> value , $ seen_values , true )) {
2520
+ if ($ case_value !== null ) {
2521
+ if (in_array ($ case_value , $ seen_values , true )) {
2521
2522
IssueBuffer::maybeAdd (
2522
2523
new DuplicateEnumCaseValue (
2523
2524
'Enum case values should be unique ' ,
@@ -2526,7 +2527,7 @@ private function checkEnum(): void
2526
2527
),
2527
2528
);
2528
2529
} else {
2529
- $ seen_values [] = $ case_storage -> value ;
2530
+ $ seen_values [] = $ case_value ;
2530
2531
}
2531
2532
}
2532
2533
}
0 commit comments