Jade\Compiler::createStatements PHP Метод

createStatements() защищенный Метод

protected createStatements ( ) : array
Результат array
    protected function createStatements()
    {
        if (func_num_args() === 0) {
            throw new \InvalidArgumentException('No Arguments provided', 9);
        }
        $arguments = func_get_args();
        $statements = array();
        $variables = array();
        foreach ($arguments as $arg) {
            // skip all if we have a well-formatted variable
            if (preg_match('/^&?\\${1,2}_*' . static::VARNAME . '$/', $arg)) {
                array_push($variables, $arg);
                continue;
            }
            $arg = $this->getArgumentExpression($arg);
            // if we have a php constant or variable assume that the string is good php
            if ($this->isConstant($arg) || strpos('{[', substr($arg . ' ', 0, 1)) === false && preg_match('/&?\\${1,2}_*' . static::VARNAME . '|[A-Za-z0-9_\\\\]+::/', $arg)) {
                array_push($variables, $arg);
                continue;
            }
            $code = $this->getExpressionLanguage() !== Jade::EXP_JS ? $this->handleArgumentValue($arg) : array($arg);
            $statements = array_merge($statements, array_slice($code, 0, -1));
            array_push($variables, array_pop($code));
        }
        array_push($statements, $variables);
        return $statements;
    }