| Conditions | 7 | 
| Paths | 1 | 
| Total Lines | 30 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Tests | 10 | 
| CRAP Score | 11.3004 | 
| Changes | 0 | ||
| 1 | <?php  | 
            ||
| 30 | 12 | public function __invoke(): bool  | 
            |
| 31 |     { | 
            ||
| 32 |         return $this->artisanCommand->task($this->title(), function () { | 
            ||
| 33 | 12 | $Process = new Process(empty($this->arguments)  | 
            |
| 
                                                                                                    
                        
                         | 
                |||
| 34 | 6 | ? $this->command  | 
            |
| 35 | 12 | : array_merge([$this->command], $this->arguments));  | 
            |
| 36 | 12 | $Process->setTimeout(null);  | 
            |
| 37 | |||
| 38 | 12 | $isVerbose = $this->artisanCommand->getOutput()->isVerbose();  | 
            |
| 39 | |||
| 40 | 12 |             if ($isVerbose) { | 
            |
| 41 | $this->artisanCommand->getOutput()->newLine();  | 
            ||
| 42 |                 if (Process::isTtySupported()) { | 
            ||
| 43 | $Process->setTty(true);  | 
            ||
| 44 |                 } elseif (Process::isPtySupported()) { | 
            ||
| 45 | $Process->setPty(true);  | 
            ||
| 46 | }  | 
            ||
| 47 | }  | 
            ||
| 48 | |||
| 49 |             $Process->run($isVerbose ? function ($type, $buffer) { | 
            ||
| 50 |                 if (Process::ERR === $type) { | 
            ||
| 51 | $this->artisanCommand->error($buffer);  | 
            ||
| 52 |                 } else { | 
            ||
| 53 | $this->artisanCommand->line($buffer);  | 
            ||
| 54 | }  | 
            ||
| 55 | 12 | } : null);  | 
            |
| 56 | |||
| 57 | 12 | return ! $Process->getExitCode();  | 
            |
| 58 | 12 | });  | 
            |
| 59 | }  | 
            ||
| 60 | }  | 
            ||
| 61 | 
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check:
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue.