classMatchingLexemeGenerator
final class MatchingLexemeGenerator
implements LexemeGenerator
Applies its child only when its declared terminal or contextual predicate matches.
Methods§
public function __construct(
private string|Closure(LexemeInput): bool $condition,
private LexemeGenerator $generator,
)Parameters
$condition | string|Closure(LexemeInput): bool | |
$generator | LexemeGenerator |
public function generate(LexemeInput $input): ?LexemeCandidatesDelegates only for the declared terminal and optional structural predicate; otherwise is non-applicable.
Parameters
$input | LexemeInput |
Returns
Test cases 3
MatchingLexemeGeneratorTest::testGenerateDistinguishesNonApplicabilityFromAMatchedEmptyCandidateSetcovers and callsMatchingLexemeGeneratorTest::testGenerateMakesTheCompleteStructuralInputAvailableToPredicatescovers and callsLexemeGeneratorTest::testGenerateContractDistinguishesNonApplicabilityAndAnEmptyOutputcalls
Calls 3
- function-call
is_stringline 33 - method-call LexemeInput::terminal() line 34
- method-call LexemeGenerator::generate() line 35
Private surface 2§
Implementation details, listed for orientation only.
private string|Closure(LexemeInput): bool $conditionprivate LexemeGenerator $generatorTest cases 28§
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 26
ChoiceLexemeGeneratorTest::testGenerateAllMatchingChildrenContributeInDeclarationOrdercallsSequenceLexemeGeneratorTest::testARequiredNonApplicableChildCannotBeOmittedcallsDerivationTraceTestcallsTokenGeneratorTestcallsLexicalExceptionTestcallsLexemeGeneratorTest::testGenerateContractDistinguishesNonApplicabilityAndAnEmptyOutputcallsLexemeSequenceTestcallsCandidateResolverTestcallsReverseLexemeGeneratorTest::testConflictingCandidateIsNotSelectedOrAllowedToAlterAnotherCandidatecallsReverseLexemeGeneratorTest::testGenerateCompoundOutputRemainsInOrderAndEofAddsNoBoundarycallsTerminalSequenceTestcallsGenerationContextTestcallsCharsetValueLexemeGeneratorTestcallsDefinitionFactoryTestcallsLexicalGrammarTestcallsMySqlProviderTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsLexicalGrammarTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsWindowNameLexemeGeneratorTest::testGenerateRetainsNonApplicabilitycallsLexicalGrammarTestcallsSqliteProviderTestcalls
Relations§
Instantiated in 96
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1648
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1652
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1656
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1660
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1664
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1668
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1672
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1676
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1680
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1684
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1688
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1692
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1696
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1700
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1704
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1708
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1712
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1716
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1720
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1724
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1728
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1732
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1736
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1740
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1744
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1748
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1752
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1756
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1760
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1769
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1773
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1782
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1789
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1805
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1814
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1818
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1822
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1826
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1830
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:545
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:894
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:898
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:902
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:906
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:910
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:914
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:918
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:922
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:926
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:930
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:934
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:938
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:942
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:946
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:950
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:954
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:958
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:962
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:966
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:970
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:974
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:978
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:982
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:986
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:990
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:994
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:998
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:1002
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:1006
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:192
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:549
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:553
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:557
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:561
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:565
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:569
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:573
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:577
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:581
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:585
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:589
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:593
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:597
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:601
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:605
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:609
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:613
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:617
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:621
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:625
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:629
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:633
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:637
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:641
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:645
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:650