1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-03 10:07:52 +01:00
psalm/docs/running_psalm/issues/InvalidEnumCaseValue.md

1.1 KiB

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";
}

Case with a type that cannot back an enum

Case type should be either int or string.

<?php

enum Status: int {
    case Open = [];
}

How to fix

Change the case value so that it's one of the allowed types (and matches the backing type)

<?php

enum Status: int
{
    case Open = 1;
}