(scanner: Scanner)
| 832 | } |
| 833 | |
| 834 | function consumeNumber(scanner: Scanner): string { |
| 835 | const source = scanner.source; |
| 836 | const start = scanner.index; |
| 837 | scanner.index += 1; |
| 838 | |
| 839 | while (scanner.index < source.length) { |
| 840 | const ch = asChar(source, scanner.index); |
| 841 | if (isDigit(ch) || ch === "_") { |
| 842 | scanner.index += 1; |
| 843 | continue; |
| 844 | } |
| 845 | if ( |
| 846 | (ch === "." || |
| 847 | ch === "x" || |
| 848 | ch === "X" || |
| 849 | ch === "b" || |
| 850 | ch === "B" || |
| 851 | ch === "o" || |
| 852 | ch === "O") && |
| 853 | scanner.index > start |
| 854 | ) { |
| 855 | scanner.index += 1; |
| 856 | continue; |
| 857 | } |
| 858 | break; |
| 859 | } |
| 860 | |
| 861 | return source.slice(start, scanner.index); |
| 862 | } |
| 863 | |
| 864 | function consumeString(scanner: Scanner, quote: string): string { |
| 865 | const source = scanner.source; |
no test coverage detected