| 4387 | } |
| 4388 | |
| 4389 | void fxJSXAttributeName(txParser* parser) |
| 4390 | { |
| 4391 | txSymbol* symbol = parser->states[0].symbol; |
| 4392 | fxGetNextToken(parser); |
| 4393 | while (parser->states[0].token == XS_TOKEN_SUBTRACT) { |
| 4394 | fxGetNextToken(parser); |
| 4395 | if (gxTokenFlags[parser->states[0].token] & XS_TOKEN_IDENTIFIER_NAME) |
| 4396 | symbol = fxJSXName(parser, symbol, parser->states[0].symbol); |
| 4397 | else |
| 4398 | fxReportParserError(parser, parser->states[0].line, "missing name"); |
| 4399 | fxGetNextToken(parser); |
| 4400 | } |
| 4401 | if (parser->states[0].token == XS_TOKEN_COLON) { |
| 4402 | fxGetNextToken(parser); |
| 4403 | if (gxTokenFlags[parser->states[0].token] & XS_TOKEN_IDENTIFIER_NAME) |
| 4404 | symbol = fxJSXNamespace(parser, symbol, parser->states[0].symbol); |
| 4405 | else |
| 4406 | fxReportParserError(parser, parser->states[0].line, "missing name"); |
| 4407 | fxGetNextToken(parser); |
| 4408 | while (parser->states[0].token == XS_TOKEN_SUBTRACT) { |
| 4409 | fxGetNextToken(parser); |
| 4410 | if (gxTokenFlags[parser->states[0].token] & XS_TOKEN_IDENTIFIER_NAME) |
| 4411 | symbol = fxJSXName(parser, symbol, parser->states[0].symbol); |
| 4412 | else |
| 4413 | fxReportParserError(parser, parser->states[0].line, "missing name"); |
| 4414 | fxGetNextToken(parser); |
| 4415 | } |
| 4416 | } |
| 4417 | fxPushSymbol(parser, symbol); |
| 4418 | } |
| 4419 | |
| 4420 | void fxJSXAttributeValue(txParser* parser) |
| 4421 | { |
no test coverage detected