Exakat\Tasks\Load::processBreak PHP Метод

processBreak() приватный Метод

private processBreak ( )
    private function processBreak()
    {
        $current = $this->id;
        $breakId = $this->addAtom($this->tokens[$this->id][0] === T_BREAK ? 'Break' : 'Continue');
        if ($this->tokens[$this->id + 1][0] === T_LNUMBER) {
            $this->processNext();
            $breakLevel = $this->popExpression();
        } elseif ($this->tokens[$this->id + 1][0] === T_OPEN_PARENTHESIS) {
            ++$this->id;
            // skip (
            $this->processNext();
            ++$this->id;
            // skip )
            $breakLevel = $this->popExpression();
        } else {
            $breakLevel = $this->addAtomVoid();
        }
        $this->addLink($breakId, $breakLevel, $this->tokens[$current][0] === T_BREAK ? 'BREAK' : 'CONTINUE');
        $x = array('code' => $this->tokens[$current][1], 'fullcode' => $this->tokens[$current][1] . ($this->atoms[$breakLevel]['atom'] !== 'Void' ? ' ' . $this->atoms[$breakLevel]['fullcode'] : ''), 'line' => $this->tokens[$current][2], 'token' => $this->getToken($this->tokens[$current][0]));
        $this->setAtom($breakId, $x);
        $this->pushExpression($breakId);
        if ($this->tokens[$this->id + 1][0] === T_CLOSE_TAG) {
            $this->processSemicolon();
        }
        return $breakId;
    }
Load