| Conditions | 7 | 
| Paths | 13 | 
| Total Lines | 21 | 
| Code Lines | 15 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Tests | 0 | 
| CRAP Score | 56 | 
| Changes | 4 | ||
| Bugs | 0 | Features | 1 | 
| 1 | <?php  | 
            ||
| 27 | protected function compile($expr, Context $context)  | 
            ||
| 28 |     { | 
            ||
| 29 | $left = $context->getExpressionCompiler()->compile($expr->var);  | 
            ||
| 30 | $expExpression = $context->getExpressionCompiler()->compile($expr->expr);  | 
            ||
| 31 | |||
| 32 |         switch ($left->getType()) { | 
            ||
| 33 | case CompiledExpression::INTEGER:  | 
            ||
| 34 | case CompiledExpression::DOUBLE:  | 
            ||
| 35 | case CompiledExpression::NUMBER:  | 
            ||
| 36 |                 switch ($expExpression->getType()) { | 
            ||
| 37 | case CompiledExpression::INTEGER:  | 
            ||
| 38 | case CompiledExpression::DOUBLE:  | 
            ||
| 39 | case CompiledExpression::NUMBER:  | 
            ||
| 40 | return CompiledExpression::fromZvalValue(pow($left->getValue(), $expExpression->getValue()));  | 
            ||
| 41 | break;  | 
            ||
| 
                                                                                                    
                        
                         | 
                |||
| 42 | }  | 
            ||
| 43 | break;  | 
            ||
| 44 | }  | 
            ||
| 45 | |||
| 46 | return $left;  | 
            ||
| 47 | }  | 
            ||
| 48 | }  | 
            ||
| 49 | 
The break statement is not necessary if it is preceded for example by a return statement:
If you would like to keep this construct to be consistent with other case statements, you can safely mark this issue as a false-positive.