Skip to content

Commit ddc2357

Browse files
authored
Merge pull request #2 from amosfolz/develop-feature-update-nikic-php-parser
update nikic/php-parser
2 parents 048a56d + 894747f commit ddc2357

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1111
- Changed minimum PHP Version to 7.1
1212

1313
### Changed Dependencies
14+
- Updated nikic/php-parser to 4.2.2
1415
- Updated PHPMailer/PHPMailer to 6.0.7
1516
- Updated league/csv to 9.2.1
1617
- Updated Laravel Illuminate packages to 5.8

app/sprinkles/account/composer.json

+1-1
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

+3-4
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

+1-1
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)