1 | <?php |
||
2 | declare(strict_types=1); |
||
3 | |||
4 | namespace Bdelespierre\LaravelBladeLinter\Backend; |
||
5 | |||
6 | use Bdelespierre\LaravelBladeLinter\Backend; |
||
7 | use Bdelespierre\LaravelBladeLinter\ErrorRecord; |
||
8 | |||
9 | final class Evaluate implements Backend |
||
10 | { |
||
11 | /** |
||
12 | * @param \SplFileInfo $file |
||
13 | * @param string $code |
||
14 | * @return list<ErrorRecord> |
||
0 ignored issues
–
show
|
|||
15 | */ |
||
16 | public function analyze(\SplFileInfo $file, string $code): array |
||
17 | { |
||
18 | $code = 'function() { ?>' . $code . '<?php };'; |
||
19 | |||
20 | try { |
||
21 | eval($code); |
||
0 ignored issues
–
show
|
|||
22 | } catch (\ParseError $e) { |
||
0 ignored issues
–
show
catch (\ParseError $e) is not reachable.
This check looks for unreachable code. It uses sophisticated control flow analysis techniques to find statements which will never be executed. Unreachable code is most often the result of function fx() {
try {
doSomething();
return true;
}
catch (\Exception $e) {
return false;
}
return false;
}
In the above example, the last ![]() |
|||
23 | return [ |
||
24 | new ErrorRecord( |
||
25 | 'Parse error: ' . $e->getMessage(), |
||
26 | $file->getPathname(), |
||
27 | $e->getLine() |
||
28 | ) |
||
29 | ]; |
||
30 | } |
||
31 | |||
32 | return []; |
||
0 ignored issues
–
show
|
|||
33 | } |
||
34 | |||
35 | public static function name(): string |
||
36 | { |
||
37 | return 'eval'; |
||
38 | } |
||
39 | } |
||
40 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths