Chris@0: =')) { Chris@0: return; Chris@0: } Chris@0: Chris@0: if (!$node instanceof Empty_) { Chris@0: return; Chris@0: } Chris@0: Chris@0: if (!$node->expr instanceof Variable) { Chris@0: $msg = sprintf('syntax error, unexpected %s', $this->getUnexpectedThing($node->expr)); Chris@0: Chris@0: throw new ParseErrorException($msg, $node->expr->getLine()); Chris@0: } Chris@0: } Chris@0: Chris@0: private function getUnexpectedThing(Node $node) Chris@0: { Chris@0: switch ($node->getType()) { Chris@0: case 'Scalar_String': Chris@0: case 'Scalar_LNumber': Chris@0: case 'Scalar_DNumber': Chris@0: return json_encode($node->value); Chris@0: Chris@0: case 'Expr_ConstFetch': Chris@0: return (string) $node->name; Chris@0: Chris@0: default: Chris@0: return $node->getType(); Chris@0: } Chris@0: } Chris@0: }