classCompletionState
final class CompletionState
A leftmost derivation frontier with capped occurrence counters and an output obligation.
Properties§
public list<Symbol> $symbolspublic array<string, int> $occurrencespublic bool $nonEmptypublic int $spentpublic ?self $parent = nullMethods§
public function __construct(
public list<Symbol> $symbols,
public array<string, int> $occurrences,
public bool $nonEmpty,
public int $spent,
public ?self $parent = null,
)Parameters
$symbols | list<Symbol> | |
$occurrences | array<string, int> | |
$nonEmpty | bool | |
$spent | int | |
$parent | ?self |
public function key(): stringOmits spent cost so revisiting the same frontier cannot improve it by adding a recursive cycle.
Returns
stringTest cases 1
Called from 4
- method-call SqlFaker\Generation\Derivation\Completion\CompletionWitness::complete() packages/sql-faker/src/Generation/Derivation/Completion/CompletionWitness.php:47
- method-call SqlFaker\Generation\Derivation\CompletionFrontier::offer() packages/sql-faker/src/Generation/Derivation/CompletionFrontier.php:64
- method-call SqlFaker\Generation\Derivation\ConstrainedCompletion::complete() packages/sql-faker/src/Generation/Derivation/ConstrainedCompletion.php:66
- method-call SqlFaker\Generation\Derivation\ConstrainedCompletion::witness() packages/sql-faker/src/Generation/Derivation/ConstrainedCompletion.php:126
Calls 3
- function-call
serializeline 32 - function-call
array_mapline 32 - method-call Symbol::value() line 32
Test cases 23§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 1
Other tests reaching this symbol 22
BytePlanCompilerTestcallsPlanBuilderTestcallsCompletionWitnessTestcallsCompletionFrontierTestcallsCompletionMemoTestcallsCompletionReductionTest::testReduceKeepsBothIndependentOutputPossibilitiesAndTheirExactCostscallsConstrainedCompletionTest::testWitnessCachesOnlyTheChosenSuffixAndKeepsMinimumQueriesIndependentcallsConstraintDependenciesTestcallsDerivationTestcallsDerivationTraceTestcallsTokenGeneratorTestcallsLexemeSequenceTestcallsCandidateResolverTestcallsSqlGeneratorTestcallsTerminalSequenceTestcallsGenerationContextTestcallsMySqlProviderTestcallsGenerationContextTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsGenerationContextTestcallsSqliteProviderTestcalls
Relations§
Instantiated in 3
- new SqlFaker\Generation\Derivation\Completion\CompletionWitness::complete() packages/sql-faker/src/Generation/Derivation/Completion/CompletionWitness.php:47
- new SqlFaker\Generation\Derivation\CompletionFrontier::offer() packages/sql-faker/src/Generation/Derivation/CompletionFrontier.php:63
- new SqlFaker\Generation\Derivation\ConstrainedCompletion::complete() packages/sql-faker/src/Generation/Derivation/ConstrainedCompletion.php:66
Method calls 4
- method-call SqlFaker\Generation\Derivation\Completion\CompletionWitness::complete() packages/sql-faker/src/Generation/Derivation/Completion/CompletionWitness.php:47
- method-call SqlFaker\Generation\Derivation\CompletionFrontier::offer() packages/sql-faker/src/Generation/Derivation/CompletionFrontier.php:64
- method-call SqlFaker\Generation\Derivation\ConstrainedCompletion::complete() packages/sql-faker/src/Generation/Derivation/ConstrainedCompletion.php:66
- method-call SqlFaker\Generation\Derivation\ConstrainedCompletion::witness() packages/sql-faker/src/Generation/Derivation/ConstrainedCompletion.php:126
Type checks 1
Type declarations 4
- type SqlFaker\Generation\Derivation\CompletionFrontier packages/sql-faker/src/Generation/Derivation/CompletionFrontier.php:41
- type SqlFaker\Generation\Derivation\CompletionFrontier packages/sql-faker/src/Generation/Derivation/CompletionFrontier.php:55
- type SqlFaker\Generation\Derivation\CompletionReduction packages/sql-faker/src/Generation/Derivation/CompletionReduction.php:25
- type SqlFaker\Generation\Derivation\ConstrainedCompletion packages/sql-faker/src/Generation/Derivation/ConstrainedCompletion.php:123