classLexemeCandidates
final class LexemeCandidates
A repeatable lazy candidate stream. An empty stream is distinct from non-applicability.
Methods§
public function __construct(private Closure(): iterable<int, LexemeSequence> $candidates)Parameters
$candidates | Closure(): iterable<int, LexemeSequence> |
public static function of(LexemeSequence ...$candidates): selfCreates a repeatable candidate set from zero or more complete sequences.
Parameters
$candidates | LexemeSequence |
Returns
selfTest cases 5
ChoiceLexemeGeneratorTest::testAnApplicableEmptyStreamDiffersFromNoApplicableChildcallsSequenceLexemeGeneratorTest::testProductRetainsTheWholePrefixAndRejectsAnEmptyRequiredFactorcallsLexemeCandidatesTest::testOfDistinguishesNoCandidatesFromOneEmptyOutputCandidatecovers and callsBoundaryCompletionTest::testAcceptsOnlyCandidatesWhosePendingLeftBoundaryHasACompletioncallsBoundaryCompletionTest::testAcceptsUsesTheSampledLeftValueInsteadOfAnUnrelatedDefaultWitnesscalls
Called from 13
- static-call SqlFaker\Generation\Candidate\FixedLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/FixedLexemeGenerator.php:39
- static-call SqlFaker\Generation\Candidate\IntegerLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/IntegerLexemeGenerator.php:54
- static-call SqlFaker\Generation\Candidate\RegisteredLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/RegisteredLexemeGenerator.php:50
- static-call SqlFaker\Generation\Candidate\ValueLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/ValueLexemeGenerator.php:58
- static-call SqlFaker\MySql\Generation\Lexeme\BoundedIntegerLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/BoundedIntegerLexemeGenerator.php:59
- static-call SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:41
- static-call SqlFaker\MySql\Generation\Lexeme\KeywordLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/KeywordLexemeGenerator.php:61
- static-call SqlFaker\MySql\Generation\Lexeme\PrecisionLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/PrecisionLexemeGenerator.php:39
- static-call SqlFaker\MySql\Generation\Lexeme\ReplicationTablePatternLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/ReplicationTablePatternLexemeGenerator.php:38
- static-call SqlFaker\MySql\Generation\Lexeme\SizeNumberLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/SizeNumberLexemeGenerator.php:43
- static-call SqlFaker\PostgreSql\Generation\Lexeme\HashBoundLexemeGenerator::generate() packages/sql-faker/src/PostgreSql/Generation/Lexeme/HashBoundLexemeGenerator.php:46
- static-call SqlFaker\PostgreSql\Generation\Lexeme\KeywordLexemeGenerator::generate() packages/sql-faker/src/PostgreSql/Generation/Lexeme/KeywordLexemeGenerator.php:44
- static-call SqlFaker\Sqlite\Generation\Lexeme\JoinLexemeGenerator::generate() packages/sql-faker/src/Sqlite/Generation/Lexeme/JoinLexemeGenerator.php:63
public function sequences(): iterable<int, LexemeSequence>Returns
iterable<int, LexemeSequence>Private surface 1§
Implementation details, listed for orientation only.
private Closure(): iterable<int, LexemeSequence> $candidatesTest cases 53§
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 51
ChoiceLexemeGeneratorTest::testAnApplicableEmptyStreamDiffersFromNoApplicableChildcallsFixedLexemeGeneratorTestcallsIntegerLexemeGeneratorTestcallsMatchingLexemeGeneratorTestcallsRegisteredLexemeGeneratorTestcallsSequenceLexemeGeneratorTest::testProductRetainsTheWholePrefixAndRejectsAnEmptyRequiredFactorcallsValueLexemeGeneratorTestcallsVersionCaseTestcallsVersionedLexemeGeneratorTestcallsBytePlanCompilerTestcallsPlanBuilderTestcallsGrammarCoverageTestcallsDerivationTraceTestcallsTokenGeneratorTestcallsLexicalExceptionTestcallsLexemeGeneratorTestcallsLexemeSequenceTestcallsBoundaryCompletionTest::testAcceptsOnlyCandidatesWhosePendingLeftBoundaryHasACompletioncallsBoundaryCompletionTest::testAcceptsUsesTheSampledLeftValueInsteadOfAnUnrelatedDefaultWitnesscallsCandidateResolverTestcallsReverseLexemeGeneratorTestcallsSqlGeneratorTestcallsTerminalSequenceTestcallsGenerationContextTestcallsBoundedIntegerLexemeGeneratorTestcallsCharsetLexemeGeneratorTestcallsCharsetValueLexemeGeneratorTestcallsDefinitionFactoryTestcallsFactorLexemeGeneratorTestcallsKeywordLexemeGeneratorTestcallsLexicalDefinitionTestcallsPrecisionLexemeGeneratorTestcallsReplicationTablePatternLexemeGeneratorTestcallsSizeNumberLexemeGeneratorTestcallsLexicalGrammarTestcallsMySqlProviderTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsHashBoundLexemeGeneratorTestcallsKeywordLexemeGeneratorTestcallsLexicalDefinitionTestcallsLexicalGrammarTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsJoinLexemeGeneratorTestcallsLexicalDefinitionTestcallsWindowNameLexemeGeneratorTestcallsLexicalGrammarTestcallsSqliteProviderTestcalls
Relations§
Instantiated in 4
- new SqlFaker\Generation\Candidate\ChoiceLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/ChoiceLexemeGenerator.php:44
- new SqlFaker\Generation\Candidate\SequenceLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/SequenceLexemeGenerator.php:46
- new SqlFaker\Generation\Candidate\VersionedLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/VersionedLexemeGenerator.php:54
- new SqlFaker\Sqlite\Generation\Lexeme\WindowNameLexemeGenerator::generate() packages/sql-faker/src/Sqlite/Generation/Lexeme/WindowNameLexemeGenerator.php:40
Static calls 13
- static-call SqlFaker\Generation\Candidate\FixedLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/FixedLexemeGenerator.php:39
- static-call SqlFaker\Generation\Candidate\IntegerLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/IntegerLexemeGenerator.php:54
- static-call SqlFaker\Generation\Candidate\RegisteredLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/RegisteredLexemeGenerator.php:50
- static-call SqlFaker\Generation\Candidate\ValueLexemeGenerator::generate() packages/sql-faker/src/Generation/Candidate/ValueLexemeGenerator.php:58
- static-call SqlFaker\MySql\Generation\Lexeme\BoundedIntegerLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/BoundedIntegerLexemeGenerator.php:59
- static-call SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:41
- static-call SqlFaker\MySql\Generation\Lexeme\KeywordLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/KeywordLexemeGenerator.php:61
- static-call SqlFaker\MySql\Generation\Lexeme\PrecisionLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/PrecisionLexemeGenerator.php:39
- static-call SqlFaker\MySql\Generation\Lexeme\ReplicationTablePatternLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/ReplicationTablePatternLexemeGenerator.php:38
- static-call SqlFaker\MySql\Generation\Lexeme\SizeNumberLexemeGenerator::generate() packages/sql-faker/src/MySql/Generation/Lexeme/SizeNumberLexemeGenerator.php:43
- static-call SqlFaker\PostgreSql\Generation\Lexeme\HashBoundLexemeGenerator::generate() packages/sql-faker/src/PostgreSql/Generation/Lexeme/HashBoundLexemeGenerator.php:46
- static-call SqlFaker\PostgreSql\Generation\Lexeme\KeywordLexemeGenerator::generate() packages/sql-faker/src/PostgreSql/Generation/Lexeme/KeywordLexemeGenerator.php:44
- static-call SqlFaker\Sqlite\Generation\Lexeme\JoinLexemeGenerator::generate() packages/sql-faker/src/Sqlite/Generation/Lexeme/JoinLexemeGenerator.php:63
Type declarations 21
- type SqlFaker\Generation\Candidate\ChoiceLexemeGenerator packages/sql-faker/src/Generation/Candidate/ChoiceLexemeGenerator.php:34
- type SqlFaker\Generation\Candidate\FixedLexemeGenerator packages/sql-faker/src/Generation/Candidate/FixedLexemeGenerator.php:33
- type SqlFaker\Generation\Candidate\IntegerLexemeGenerator packages/sql-faker/src/Generation/Candidate/IntegerLexemeGenerator.php:38
- type SqlFaker\Generation\Candidate\MatchingLexemeGenerator packages/sql-faker/src/Generation/Candidate/MatchingLexemeGenerator.php:30
- type SqlFaker\Generation\Candidate\RegisteredLexemeGenerator packages/sql-faker/src/Generation/Candidate/RegisteredLexemeGenerator.php:35
- type SqlFaker\Generation\Candidate\SequenceLexemeGenerator packages/sql-faker/src/Generation/Candidate/SequenceLexemeGenerator.php:35
- type SqlFaker\Generation\Candidate\ValueLexemeGenerator packages/sql-faker/src/Generation/Candidate/ValueLexemeGenerator.php:42
- type SqlFaker\Generation\Candidate\VersionedLexemeGenerator packages/sql-faker/src/Generation/Candidate/VersionedLexemeGenerator.php:46
- type SqlFaker\Generation\Lexeme\LexemeGenerator packages/sql-faker/src/Generation/Lexeme/LexemeGenerator.php:15
- type SqlFaker\MySql\Generation\Lexeme\BoundedIntegerLexemeGenerator packages/sql-faker/src/MySql/Generation/Lexeme/BoundedIntegerLexemeGenerator.php:43
- type SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:26
- type SqlFaker\MySql\Generation\Lexeme\CharsetValueLexemeGenerator packages/sql-faker/src/MySql/Generation/Lexeme/CharsetValueLexemeGenerator.php:29
- type SqlFaker\MySql\Generation\Lexeme\FactorLexemeGenerator packages/sql-faker/src/MySql/Generation/Lexeme/FactorLexemeGenerator.php:22
- type SqlFaker\MySql\Generation\Lexeme\KeywordLexemeGenerator packages/sql-faker/src/MySql/Generation/Lexeme/KeywordLexemeGenerator.php:33
- type SqlFaker\MySql\Generation\Lexeme\PrecisionLexemeGenerator packages/sql-faker/src/MySql/Generation/Lexeme/PrecisionLexemeGenerator.php:24
- type SqlFaker\MySql\Generation\Lexeme\ReplicationTablePatternLexemeGenerator packages/sql-faker/src/MySql/Generation/Lexeme/ReplicationTablePatternLexemeGenerator.php:24
- type SqlFaker\MySql\Generation\Lexeme\SizeNumberLexemeGenerator packages/sql-faker/src/MySql/Generation/Lexeme/SizeNumberLexemeGenerator.php:26
- type SqlFaker\PostgreSql\Generation\Lexeme\HashBoundLexemeGenerator packages/sql-faker/src/PostgreSql/Generation/Lexeme/HashBoundLexemeGenerator.php:23
- type SqlFaker\PostgreSql\Generation\Lexeme\KeywordLexemeGenerator packages/sql-faker/src/PostgreSql/Generation/Lexeme/KeywordLexemeGenerator.php:33
- type SqlFaker\Sqlite\Generation\Lexeme\JoinLexemeGenerator packages/sql-faker/src/Sqlite/Generation/Lexeme/JoinLexemeGenerator.php:32
- type SqlFaker\Sqlite\Generation\Lexeme\WindowNameLexemeGenerator packages/sql-faker/src/Sqlite/Generation/Lexeme/WindowNameLexemeGenerator.php:32