PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` functionDepth = 0; $this->labelDeclarations = []; $this->labelGotos = []; } 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 */ public function leaveNode(Node $node) { if ($node instanceof FunctionLike) { $this->functionDepth--; } } 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); } } } }