| 4331 | } |
| 4332 | |
| 4333 | void fxJSONArray(txParser* parser) |
| 4334 | { |
| 4335 | txIndex aLength = 0; |
| 4336 | txInteger aLine = parser->states[0].line; |
| 4337 | fxGetNextTokenJSON(parser); |
| 4338 | for (;;) { |
| 4339 | if (parser->states[0].token == XS_TOKEN_RIGHT_BRACKET) |
| 4340 | break; |
| 4341 | fxJSONValue(parser); |
| 4342 | aLength++; |
| 4343 | if (parser->states[0].token != XS_TOKEN_COMMA) |
| 4344 | break; |
| 4345 | fxGetNextTokenJSON(parser); |
| 4346 | } |
| 4347 | if (parser->states[0].token != XS_TOKEN_RIGHT_BRACKET) |
| 4348 | fxReportParserError(parser, parser->states[0].line, "missing ]"); |
| 4349 | fxGetNextTokenJSON(parser); |
| 4350 | fxPushNodeList(parser, aLength); |
| 4351 | fxPushNodeStruct(parser, 1, XS_TOKEN_ARRAY, aLine); |
| 4352 | } |
| 4353 | |
| 4354 | void fxJSONModule(txParser* parser) |
| 4355 | { |
no test coverage detected