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

Function fxGetNextTokenJSXChild

xs/sources/xsLexical.c:1812–1923  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1810}
1811
1812void fxGetNextTokenJSXChild(txParser* parser)
1813{
1814 txString p = parser->buffer;
1815 txString q = p + parser->bufferSize - 1;
1816 txString s = C_NULL;
1817 char c;
1818 txString after = C_NULL;
1819 txString before = C_NULL;
1820 txString text = C_NULL;
1821 parser->states[2].crlf = 0;
1822 parser->states[2].escaped = 0;
1823 parser->states[2].integer = 0;
1824 parser->states[2].modifierLength = 0;
1825 parser->states[2].modifier = parser->emptyString;
1826 parser->states[2].number = 0;
1827 parser->states[2].rawLength = 0;
1828 parser->states[2].raw = parser->emptyString;
1829 parser->states[2].stringLength = 0;
1830 parser->states[2].string = parser->emptyString;
1831 parser->states[2].symbol = C_NULL;
1832 parser->states[2].token = XS_NO_TOKEN;
1833 while (parser->states[2].token == XS_NO_TOKEN) {
1834 switch (parser->character) {
1835 case C_EOF:
1836 parser->states[2].token = XS_TOKEN_EOF;
1837 break;
1838 case 10:
1839 case 0x2028: // <LS>
1840 case 0x2029: // <PS>
1841 parser->states[2].line++;
1842 p = fxUTF8Buffer(parser, parser->character, p, q);
1843 fxGetNextCharacter(parser);
1844 parser->states[2].crlf = 1;
1845 break;
1846 case 13:
1847 parser->states[2].line++;
1848 p = fxUTF8Buffer(parser, parser->character, p, q);
1849 fxGetNextCharacter(parser);
1850 if (parser->character == 10) {
1851 p = fxUTF8Buffer(parser, parser->character, p, q);
1852 fxGetNextCharacter(parser);
1853 }
1854 parser->states[2].crlf = 1;
1855 break;
1856
1857 case '<':
1858 fxGetNextCharacter(parser);
1859 parser->states[2].token = XS_TOKEN_LESS;
1860 break;
1861 case '>':
1862 fxGetNextCharacter(parser);
1863 parser->states[2].token = XS_TOKEN_MORE;
1864 break;
1865 case '{':
1866 fxGetNextCharacter(parser);
1867 parser->states[2].token = XS_TOKEN_LEFT_BRACE;
1868 break;
1869 case '}':

Callers 1

fxJSXElementFunction · 0.85

Calls 4

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

Tested by

no test coverage detected