classNumberScanner
final class NumberScanner
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Reads SQLite's numeric literals.
A number with underscores between its digits is QNUMBER; otherwise a hexadecimal or plain integer is INTEGER and anything with a fraction or exponent is FLOAT. An identifier character right after a number makes the whole run illegal.
Methods§
Reads the number at the cursor, if one starts there.
Parameters
$scan | Scan | The tokenization in progress |
Returns
Lexeme|null The lexeme, or null when no number starts hereThrows
LexicalException When an identifier character follows the numberTest cases 2
Called from 1
Calls 5
- function-call
str_containsline 37 - function-call
preg_matchline 44 - static-call Scan::isIdentifierByte() line 46
- static-call LexicalException::unexpectedCharacter() line 47
- method-call Scan::lexeme() line 50
Test cases 4§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 2
Other tests reaching this symbol 2
SqliteLexerTestcallsSqliteParserTestcalls