Exakat\Tasks\Load::processFunctioncall PHP Method

processFunctioncall() private method

private processFunctioncall ( )
    private function processFunctioncall()
    {
        $nameId = $this->popExpression();
        ++$this->id;
        // Skipping the name, set on (
        $current = $this->id;
        $argumentsId = $this->processArguments();
        $functioncallId = $this->addAtom('Functioncall');
        if ($this->isContext(self::CONTEXT_NEW)) {
            $fullnspath = $this->getFullnspath($nameId, 'class');
            $this->addCall('class', $fullnspath, $functioncallId);
        } else {
            $fullnspath = $this->getFullnspath($nameId, 'function');
            // Probably weak check, since we haven't built fullnspath for functions yet...
            if ($fullnspath === '\\define') {
                $this->processDefineAsConstants($argumentsId);
            }
            $this->addCall('function', $fullnspath, $functioncallId);
        }
        $this->setAtom($functioncallId, array('code' => $this->atoms[$nameId]['code'], 'fullcode' => $this->atoms[$nameId]['fullcode'] . '(' . $this->atoms[$argumentsId]['fullcode'] . ')', 'line' => $this->tokens[$current][2], 'variadic' => false, 'reference' => false, 'token' => $this->atoms[$nameId]['token'], 'fullnspath' => $fullnspath));
        $this->addLink($functioncallId, $argumentsId, 'ARGUMENTS');
        $this->addLink($functioncallId, $nameId, 'NAME');
        $this->pushExpression($functioncallId);
        if (!$this->isContext(self::CONTEXT_NOSEQUENCE) && $this->tokens[$this->id + 1][0] === T_CLOSE_TAG) {
            $this->processSemicolon();
        } else {
            $functioncallId = $this->processFCOA($functioncallId);
        }
        return $functioncallId;
    }
Load