util::json::parseArray (private)

 util::json::parseArray tokens nrTokens tokenCursorName

Defined in packages/acs-tcl/tcl/json-procs.tcl

Parse an array

Parameters:
tokens (required)
list of tokens
nrTokens (required)
length of $tokens
tokenCursorName (required)
name (in caller's context) of variable holding current position in $tokens
Returns:
parsed array (Tcl list)

Partial Call Graph (max 5 caller/called nodes):
%3 util::json::parseValue util::json::parseValue (private) util::json::parseArray util::json::parseArray util::json::parseValue->util::json::parseArray util::json::parseArrayElements util::json::parseArrayElements (private) util::json::parseArray->util::json::parseArrayElements util::json::unexpected util::json::unexpected (private) util::json::parseArray->util::json::unexpected

Testcases:
No testcase defined.
Source code:
    upvar $tokenCursorName tokenCursor

    if {$tokenCursor == $nrTokens} {
        unexpected $tokenCursor "END" "ARRAY"
    } else {
        set result {}

        set token [lindex $tokens $tokenCursor]

        set leadingChar [string index $token 0]
        if {$leadingChar eq "\]"} {
            # empty array
            incr tokenCursor
        } else {
            parseArrayElements $tokens $nrTokens tokenCursor result
        }

        return [list _array_ $result]
    }
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: