MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / fxGetNextTokenJSXAttribute

Function fxGetNextTokenJSXAttribute

xs/sources/xsLexical.c:1697–1810  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1695}
1696
1697void fxGetNextTokenJSXAttribute(txParser* parser)
1698{
1699 txString p = parser->buffer;
1700 txString q = p + parser->bufferSize - 1;
1701 txU4 quote = 0;
1702 parser->states[2].crlf = 0;
1703 parser->states[2].escaped = 0;
1704 parser->states[2].integer = 0;
1705 parser->states[2].modifierLength = 0;
1706 parser->states[2].modifier = parser->emptyString;
1707 parser->states[2].number = 0;
1708 parser->states[2].rawLength = 0;
1709 parser->states[2].raw = parser->emptyString;
1710 parser->states[2].stringLength = 0;
1711 parser->states[2].string = parser->emptyString;
1712 parser->states[2].symbol = C_NULL;
1713 parser->states[2].token = XS_NO_TOKEN;
1714 while (parser->states[2].token == XS_NO_TOKEN) {
1715 switch (parser->character) {
1716 case C_EOF:
1717 parser->states[2].token = XS_TOKEN_EOF;
1718 break;
1719 case 10:
1720 case 0x2028: // <LS>
1721 case 0x2029: // <PS>
1722 parser->states[2].line++;
1723 if (quote)
1724 p = fxUTF8Buffer(parser, parser->character, p, q);
1725 fxGetNextCharacter(parser);
1726 parser->states[2].crlf = 1;
1727 break;
1728 case 13:
1729 parser->states[2].line++;
1730 if (quote)
1731 p = fxUTF8Buffer(parser, parser->character, p, q);
1732 fxGetNextCharacter(parser);
1733 if (parser->character == 10) {
1734 if (quote)
1735 p = fxUTF8Buffer(parser, parser->character, p, q);
1736 fxGetNextCharacter(parser);
1737 }
1738 parser->states[2].crlf = 1;
1739 break;
1740 case '\t':
1741 case 11:
1742 case 12:
1743 case ' ':
1744 case 0x00A0:
1745 case 0x1680:
1746 case 0x2000:
1747 case 0x2001:
1748 case 0x2002:
1749 case 0x2003:
1750 case 0x2004:
1751 case 0x2005:
1752 case 0x2006:
1753 case 0x2007:
1754 case 0x2008:

Callers 1

fxJSXAttributeValueFunction · 0.85

Calls 5

fxUTF8BufferFunction · 0.85
fxGetNextCharacterFunction · 0.85
fxNewParserStringFunction · 0.85
fxGetNextEntityFunction · 0.85
fxReportParserErrorFunction · 0.85

Tested by

no test coverage detected