laravel-enum icon indicating copy to clipboard operation
laravel-enum copied to clipboard

False positive when converting to native enums

Open atymic opened this issue 2 years ago • 2 comments

For some reason the rector rule is catching random bits of unrelated code, for example the below sample. It seems to be a bit random, will attempt to debug further to figure out why, by have narrowed it down to \BenSampo\Enum\Rector\ToNativeRector::inConfiguredClasses returning true when it should not.

    ---------- begin diff ----------
@@ @@
     {
         $jwtHeader = explode(' ', $request->header('authorization', ''));

-        abort_if(empty($jwtHeader) || count($jwtHeader) !== 2, 400);
+        abort_if((empty($jwtHeader))->value || count($jwtHeader) !== 2, 400);

         $jwt = $jwtHeader[1];
    ----------- end diff -----------

Applied rules:
 * ToNativeUsagesRector

Screen Shot 2024-02-18 at 18 09 00@2x

atymic avatar Feb 18 '24 17:02 atymic

Okay, digging deeper it seems like somehow NeverType is a subtype of my class according to the AST? I unfortunately don't think I have enough knowledge in this area to debug haha.

Screen Shot 2024-02-18 at 18 19 13@2x

atymic avatar Feb 18 '24 17:02 atymic

Can you try if https://github.com/BenSampo/laravel-enum/issues/355 fixes the issue?

spawnia avatar Mar 05 '24 18:03 spawnia