classScan
final class Scan
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
The state one PostgreSQL tokenization carries from token to token.
Properties§
public Cursor $cursorpublic KeywordTable $keywordsMethods§
public function __construct(public Cursor $cursor, public KeywordTable $keywords)Parameters
$cursor | Cursor | Reads the SQL text |
$keywords | KeywordTable | Keywords of the release |
public function lexeme(string $name, int $start): LexemeMakes the lexeme spanning from an offset to the cursor.
Parameters
$name | string | Terminal name |
$start | int | Byte offset the lexeme began at |
Returns
Lexeme The lexemeTest cases 1
ScanTest::testLexemecalls
Called from 12
- method-call SqlParser\PostgreSql\Lexer\NumberScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/NumberScanner.php:38
- method-call SqlParser\PostgreSql\Lexer\NumberScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/NumberScanner.php:44
- method-call SqlParser\PostgreSql\Lexer\NumberScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/NumberScanner.php:62
- method-call SqlParser\PostgreSql\Lexer\OperatorScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/OperatorScanner.php:62
- method-call SqlParser\PostgreSql\Lexer\OperatorScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/OperatorScanner.php:68
- method-call SqlParser\PostgreSql\Lexer\OperatorScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/OperatorScanner.php:76
- method-call SqlParser\PostgreSql\Lexer\OperatorScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/OperatorScanner.php:82
- method-call SqlParser\PostgreSql\Lexer\QuotedScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:66
- method-call SqlParser\PostgreSql\Lexer\QuotedScanner::string() packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:92
- method-call SqlParser\PostgreSql\Lexer\QuotedScanner::identifier() packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:150
- method-call SqlParser\PostgreSql\Lexer\QuotedScanner::dollarQuoted() packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:176
- method-call SqlParser\PostgreSql\Lexer\WordScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/WordScanner.php:32
Calls 3
- new Lexeme line 37
- function-call
substrline 37 - method-call Cursor::offset() line 37
public static function startsIdentifier(string $byte): boolReports whether a byte can begin an unquoted identifier.
Parameters
$byte | string | The byte, or an empty string at the end |
Returns
bool True for letters, underscore and every byte of a multi-byte characterTest cases 1
Called from 1
Test cases 26§
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 24
NumberScannerTest::testRejectJunkcallsNumberScannerTest::testScancallsNumberScannerTest::testScanRejectsAnEmptyHexadecimalLiteralcallsNumberScannerTest::testScanRejectsAnIncompleteExponentcallsNumberScannerTest::testScanRejectsTrailingJunkcallsOperatorScannerTest::testScancallsOperatorScannerTest::testScanRejectsAForeignCharactercallsOperatorScannerTest::testScanRejectsAnOverlongOperatorcallsPostgreSqlLexerTestcallsQuotedScannerTest::testBodycallsQuotedScannerTest::testDollarQuotedcallsQuotedScannerTest::testDollarQuotedRejectsAnUnterminatedStringcallsQuotedScannerTest::testIdentifiercallsQuotedScannerTest::testIdentifierRejectsAnEmptyIdentifiercallsQuotedScannerTest::testIdentifierRejectsAnUnterminatedIdentifiercallsQuotedScannerTest::testScanReadsEverySpellingOfAStringcallsQuotedScannerTest::testScanReadsTheNationalPrefixAsAKeywordcallsQuotedScannerTest::testStringcallsQuotedScannerTest::testStringRejectsAnUnterminatedStringcallsTriviaScannerTest::testBlockCommentcallsTriviaScannerTest::testBlockCommentRejectsAnUnterminatedCommentcallsTriviaScannerTest::testSkipcallsWordScannerTest::testScancallsPostgreSqlParserTestcalls
Relations§
Instantiated in 1
Static calls 1
Method calls 12
- method-call SqlParser\PostgreSql\Lexer\NumberScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/NumberScanner.php:38
- method-call SqlParser\PostgreSql\Lexer\NumberScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/NumberScanner.php:44
- method-call SqlParser\PostgreSql\Lexer\NumberScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/NumberScanner.php:62
- method-call SqlParser\PostgreSql\Lexer\OperatorScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/OperatorScanner.php:62
- method-call SqlParser\PostgreSql\Lexer\OperatorScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/OperatorScanner.php:68
- method-call SqlParser\PostgreSql\Lexer\OperatorScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/OperatorScanner.php:76
- method-call SqlParser\PostgreSql\Lexer\OperatorScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/OperatorScanner.php:82
- method-call SqlParser\PostgreSql\Lexer\QuotedScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:66
- method-call SqlParser\PostgreSql\Lexer\QuotedScanner::string() packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:92
- method-call SqlParser\PostgreSql\Lexer\QuotedScanner::identifier() packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:150
- method-call SqlParser\PostgreSql\Lexer\QuotedScanner::dollarQuoted() packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:176
- method-call SqlParser\PostgreSql\Lexer\WordScanner::scan() packages/sql-parser/src/PostgreSql/Lexer/WordScanner.php:32
Type declarations 11
- type SqlParser\PostgreSql\Lexer\NumberScanner packages/sql-parser/src/PostgreSql/Lexer/NumberScanner.php:30
- type SqlParser\PostgreSql\Lexer\NumberScanner packages/sql-parser/src/PostgreSql/Lexer/NumberScanner.php:73
- type SqlParser\PostgreSql\Lexer\OperatorScanner packages/sql-parser/src/PostgreSql/Lexer/OperatorScanner.php:52
- type SqlParser\PostgreSql\Lexer\QuotedScanner packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:37
- type SqlParser\PostgreSql\Lexer\QuotedScanner packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:85
- type SqlParser\PostgreSql\Lexer\QuotedScanner packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:108
- type SqlParser\PostgreSql\Lexer\QuotedScanner packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:139
- type SqlParser\PostgreSql\Lexer\QuotedScanner packages/sql-parser/src/PostgreSql/Lexer/QuotedScanner.php:162
- type SqlParser\PostgreSql\Lexer\TriviaScanner packages/sql-parser/src/PostgreSql/Lexer/TriviaScanner.php:26
- type SqlParser\PostgreSql\Lexer\TriviaScanner packages/sql-parser/src/PostgreSql/Lexer/TriviaScanner.php:47
- type SqlParser\PostgreSql\Lexer\WordScanner packages/sql-parser/src/PostgreSql/Lexer/WordScanner.php:23