Skip to content

Commit 0ecc905

Browse files
committed
fix parser
1 parent 1f38179 commit 0ecc905

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/Services/SearchCode/PhpParserService.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Illuminate\Support\Facades\Blade;
66
use PhpParser\Node;
77
use PhpParser\Node\Expr\FuncCall;
8+
use PhpParser\Node\Name;
89
use PhpParser\Node\Scalar\String_;
910
use PhpParser\NodeFinder;
1011
use PhpParser\ParserFactory;
@@ -39,16 +40,19 @@ public function finder(): Finder
3940
public static function scanCode(string $code): array
4041
{
4142

42-
$parser = (new ParserFactory)->createForNewestSupportedVersion();
43+
$parser = (new ParserFactory)->createForHostVersion();
4344

4445
$ast = $parser->parse($code);
4546

4647
$nodeFinder = new NodeFinder;
4748

4849
/** @var FuncCall[] $results */
4950
$results = $nodeFinder->find($ast, function (Node $node) {
50-
return $node instanceof FuncCall
51-
&& in_array($node->name->name, ['__', 'trans', 'trans_choice']);
51+
if ($node instanceof FuncCall && $node->name instanceof Name) {
52+
return in_array($node->name->name, ['__', 'trans', 'trans_choice']);
53+
}
54+
55+
return false;
5256
});
5357

5458
return collect($results)

0 commit comments

Comments
 (0)