1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 04:45:20 +01:00
psalm/docs/running_psalm/issues/InvalidEnumCaseValue.md
Bruce Weirdan b4f024b1fe
Basic enum checks
* Duplicate cases
* Duplicate case values
* Invalid case values: value on a pure enum case, missing value on a
backed enum case, backing type / case type mismatch
* Literal expression evaluation for case values

Fixes vimeo/psalm#6426
Fixes vimeo/psalm#6427
2021-09-07 12:35:38 +03:00

793 B

InvalidEnumCaseValue

Emitted when case value is invalid (see below).

Case with a value on a pure enum

<?php

enum Status 
{
    case Open = "open";
}

How to fix

Either remove the value or alter the enum to be backed.

<?php

enum Status: string 
{
    case Open = "open";
}

Case without a value on a backed enum

<?php

enum Status: string 
{
    case Open;    
}

How to fix

Either alter the enum to be pure, or add a value.

<?php

enum Status 
{
    case Open;
}

Case type mismatch

Case type should match the backing type of the enum.

<?php

enum Status: string
{
    case Open = 1;
}

How to fix

Change the types so that they match

<?php

enum Status: string 
{
    case Open = "open";
}