X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=vendor%2Fpsy%2Fpsysh%2Fsrc%2FPsy%2FCodeCleaner%2FLegacyEmptyPass.php;fp=vendor%2Fpsy%2Fpsysh%2Fsrc%2FPsy%2FCodeCleaner%2FLegacyEmptyPass.php;h=f0c89402cdc6b399da5293d2b610126f8e0c1e9a;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/vendor/psy/psysh/src/Psy/CodeCleaner/LegacyEmptyPass.php b/vendor/psy/psysh/src/Psy/CodeCleaner/LegacyEmptyPass.php new file mode 100644 index 000000000..f0c89402c --- /dev/null +++ b/vendor/psy/psysh/src/Psy/CodeCleaner/LegacyEmptyPass.php @@ -0,0 +1,64 @@ +=')) { + return; + } + + if (!$node instanceof ExprEmpty) { + return; + } + + if (!$node->expr instanceof Variable) { + $msg = sprintf('syntax error, unexpected %s', $this->getUnexpectedThing($node->expr)); + + throw new ParseErrorException($msg, $node->expr->getLine()); + } + } + + private function getUnexpectedThing(Node $node) + { + switch ($node->getType()) { + case 'Scalar_String': + case 'Scalar_LNumber': + case 'Scalar_DNumber': + return json_encode($node->value); + + case 'Expr_ConstFetch': + return (string) $node->name; + + default: + return $node->getType(); + } + } +}