Neos\Eel\EelParser::match_ObjectLiteralProperty PHP Method

match_ObjectLiteralProperty() public method

public match_ObjectLiteralProperty ( $stack = [] )
    function match_ObjectLiteralProperty($stack = array())
    {
        $matchrule = "ObjectLiteralProperty";
        $result = $this->construct($matchrule, $matchrule, null);
        $_176 = NULL;
        do {
            $stack[] = $result;
            $result = $this->construct($matchrule, "key");
            $_170 = NULL;
            do {
                $_168 = NULL;
                do {
                    $res_165 = $result;
                    $pos_165 = $this->pos;
                    $matcher = 'match_' . 'StringLiteral';
                    $key = $matcher;
                    $pos = $this->pos;
                    $subres = $this->packhas($key, $pos) ? $this->packread($key, $pos) : $this->packwrite($key, $pos, $this->{$matcher}(array_merge($stack, array($result))));
                    if ($subres !== FALSE) {
                        $this->store($result, $subres);
                        $_168 = TRUE;
                        break;
                    }
                    $result = $res_165;
                    $this->pos = $pos_165;
                    $matcher = 'match_' . 'Identifier';
                    $key = $matcher;
                    $pos = $this->pos;
                    $subres = $this->packhas($key, $pos) ? $this->packread($key, $pos) : $this->packwrite($key, $pos, $this->{$matcher}(array_merge($stack, array($result))));
                    if ($subres !== FALSE) {
                        $this->store($result, $subres);
                        $_168 = TRUE;
                        break;
                    }
                    $result = $res_165;
                    $this->pos = $pos_165;
                    $_168 = FALSE;
                    break;
                } while (0);
                if ($_168 === FALSE) {
                    $_170 = FALSE;
                    break;
                }
                $_170 = TRUE;
                break;
            } while (0);
            if ($_170 === TRUE) {
                $subres = $result;
                $result = array_pop($stack);
                $this->store($result, $subres, 'key');
            }
            if ($_170 === FALSE) {
                $result = array_pop($stack);
                $_176 = FALSE;
                break;
            }
            if (($subres = $this->whitespace()) !== FALSE) {
                $result["text"] .= $subres;
            }
            if (substr($this->string, $this->pos, 1) == ':') {
                $this->pos += 1;
                $result["text"] .= ':';
            } else {
                $_176 = FALSE;
                break;
            }
            if (($subres = $this->whitespace()) !== FALSE) {
                $result["text"] .= $subres;
            }
            $matcher = 'match_' . 'Expression';
            $key = $matcher;
            $pos = $this->pos;
            $subres = $this->packhas($key, $pos) ? $this->packread($key, $pos) : $this->packwrite($key, $pos, $this->{$matcher}(array_merge($stack, array($result))));
            if ($subres !== FALSE) {
                $this->store($result, $subres, "value");
            } else {
                $_176 = FALSE;
                break;
            }
            $_176 = TRUE;
            break;
        } while (0);
        if ($_176 === TRUE) {
            return $this->finalise($result);
        }
        if ($_176 === FALSE) {
            return FALSE;
        }
    }