classBoundaryCompletion
final class BoundaryCompletion
Discharges explicit left-boundary obligations before a candidate is committed. Traversal stops when the obligation is discharged; it never retries completed SQL.
Methods§
public function __construct(
private LexemeGenerator $lexemes,
private CandidateResolver $resolver,
private array<int, string|null> $requests = [],
private array<int, string|null> $keys = [],
private ?ValueChoices $values = null,
)Parameters
$lexemes | LexemeGenerator | |
$resolver | CandidateResolver | |
$requests | array<int, string|null> | Planned spellings indexed by rewritten occurrence |
$keys | array<int, string|null> | Planned candidate semantics indexed by rewritten occurrence |
$values | ?ValueChoices |
Test cases 4
BoundaryCompletionTest::testAcceptsOnlyCandidatesWhosePendingLeftBoundaryHasACompletion#0coversBoundaryCompletionTest::testAcceptsOnlyCandidatesWhosePendingLeftBoundaryHasACompletion#1coversBoundaryCompletionTest::testAcceptsRejectsMissingOrPlannedAwayWitnessescoversBoundaryCompletionTest::testAcceptsUsesTheSampledLeftValueInsteadOfAnUnrelatedDefaultWitnesscovers
public function accepts(TerminalSequence $sequence, int $index, ResolvedOutput $right): boolFinds a witness for each pending boundary across compounds and empty markers using the same memoized value decisions as final realization.
Parameters
$sequence | TerminalSequence | |
$index | int | |
$right | ResolvedOutput |
Returns
boolTest cases 4
BoundaryCompletionTest::testAcceptsOnlyCandidatesWhosePendingLeftBoundaryHasACompletion#0coversBoundaryCompletionTest::testAcceptsOnlyCandidatesWhosePendingLeftBoundaryHasACompletion#1coversBoundaryCompletionTest::testAcceptsRejectsMissingOrPlannedAwayWitnessescovers and callsBoundaryCompletionTest::testAcceptsUsesTheSampledLeftValueInsteadOfAnUnrelatedDefaultWitnesscovers
Called from 2
Calls 7
- class-const SpacingConstraint::EITHER() line 38
- new LexemeInput line 44
- method-call LexemeGenerator::generate() line 45
- function-call
implodeline 51 - function-call
array_mapline 51 - method-call CandidateResolver::resolve() line 55
- method-call BoundaryCompletion::accepts() line 56
Private surface 5§
Implementation details, listed for orientation only.
private LexemeGenerator $lexemesprivate CandidateResolver $resolverprivate array<int, string|null> $requests = []private array<int, string|null> $keys = []private ?ValueChoices $values = nullTest cases 32§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 4
BoundaryCompletionTest::testAcceptsOnlyCandidatesWhosePendingLeftBoundaryHasACompletion#0coversBoundaryCompletionTest::testAcceptsOnlyCandidatesWhosePendingLeftBoundaryHasACompletion#1coversBoundaryCompletionTest::testAcceptsRejectsMissingOrPlannedAwayWitnessescovers and callsBoundaryCompletionTest::testAcceptsUsesTheSampledLeftValueInsteadOfAnUnrelatedDefaultWitnesscovers
Other tests reaching this symbol 28
BytePlanCompilerTestcallsPlanBuilderTestcallsGrammarCoverageTestcallsDerivationTraceTestcallsTokenGeneratorTestcallsLexicalExceptionTestcallsLexemeSequenceTestcallsCandidateResolverTestcallsReverseLexemeGeneratorTestcallsSqlGeneratorTestcallsTerminalSequenceTestcallsGenerationContextTestcallsCharsetValueLexemeGeneratorTestcallsDefinitionFactoryTestcallsLexicalDefinitionTestcallsLexicalGrammarTestcallsMySqlProviderTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsLexicalDefinitionTestcallsLexicalGrammarTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsLexicalDefinitionTestcallsLexicalGrammarTestcallsSqliteProviderTestcalls