芝麻web文件管理V1.00
编辑当前文件:/home/qrafawbu/kwesioben.com/paymoney/vendor/psy/psysh/src/CodeCleaner/LabelContextPass.php
functionDepth = 0; $this->labelDeclarations = []; $this->labelGotos = []; } /** * @return int|Node|null Replacement node (or special return value) */ public function enterNode(Node $node) { if ($node instanceof FunctionLike) { $this->functionDepth++; return; } // node is inside function context if ($this->functionDepth !== 0) { return; } if ($node instanceof Goto_) { $this->labelGotos[\strtolower($node->name)] = $node->getLine(); } elseif ($node instanceof Label) { $this->labelDeclarations[\strtolower($node->name)] = $node->getLine(); } } /** * @param \PhpParser\Node $node * * @return int|Node|Node[]|null Replacement node (or special return value) */ public function leaveNode(Node $node) { if ($node instanceof FunctionLike) { $this->functionDepth--; } } /** * @return Node[]|null Array of nodes */ public function afterTraverse(array $nodes) { foreach ($this->labelGotos as $name => $line) { if (!isset($this->labelDeclarations[$name])) { $msg = "'goto' to undefined label '{$name}'"; throw new FatalErrorException($msg, 0, \E_ERROR, null, $line); } } } }