Skip to content

Commit edecb86

Browse files
committed
update nikic/php-parser
1 parent 35ec97c commit edecb86

3 files changed

Lines changed: 5 additions & 6 deletions

File tree

app/sprinkles/account/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
],
1414
"require": {
1515
"birke/rememberme" : "^2.0",
16-
"nikic/php-parser" : "^1"
16+
"nikic/php-parser" : "^4.2.2"
1717
},
1818
"autoload": {
1919
"psr-4": {

app/sprinkles/account/src/Authorize/AccessConditionExpression.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@
1212

1313
use Monolog\Logger;
1414
use PhpParser\Error as PhpParserException;
15-
use PhpParser\Lexer\Emulative as EmulativeLexer;
1615
use PhpParser\NodeTraverser;
17-
use PhpParser\Parser as Parser;
16+
use PhpParser\ParserFactory as Parser;
1817
use PhpParser\PrettyPrinter\Standard as StandardPrettyPrinter;
1918
use UserFrosting\Sprinkle\Account\Database\Models\Interfaces\UserInterface;
2019

@@ -75,7 +74,7 @@ public function __construct(ParserNodeFunctionEvaluator $nodeVisitor, UserInterf
7574
{
7675
$this->nodeVisitor = $nodeVisitor;
7776
$this->user = $user;
78-
$this->parser = new Parser(new EmulativeLexer());
77+
$this->parser = (new Parser())->create(Parser::ONLY_PHP7);
7978
$this->traverser = new NodeTraverser();
8079
$this->traverser->addVisitor($nodeVisitor);
8180
$this->prettyPrinter = new StandardPrettyPrinter();
@@ -119,7 +118,7 @@ public function evaluateCondition($condition, $params)
119118
$stmts = $this->traverser->traverse($stmts);
120119

121120
// Evaluate boolean statement. It is safe to use eval() here, because our expression has been reduced entirely to a boolean expression.
122-
$expr = $this->prettyPrinter->prettyPrintExpr($stmts[0]);
121+
$expr = $this->prettyPrinter->prettyPrintExpr($stmts[0]->expr);
123122
$expr_eval = 'return ' . $expr . ";\n";
124123
$result = eval($expr_eval);
125124

app/sprinkles/account/src/Authorize/ParserNodeFunctionEvaluator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public function leaveNode(Node $node)
7171
{
7272
// Look for function calls
7373
if ($node instanceof \PhpParser\Node\Expr\FuncCall) {
74-
$eval = new \PhpParser\Node\Scalar\LNumber();
74+
$eval = new \PhpParser\Node\Scalar\LNumber(0);
7575

7676
// Get the method name
7777
$callbackName = $node->name->toString();

0 commit comments

Comments
 (0)