classCombinedSpacingRule
final class CombinedSpacingRule
implements SpacingRule
Intersects applicable constraints without interpreting their dialect-specific conditions.
Methods§
public function __construct(SpacingRule ...$rules)Combines boundary conditions by intersection in registration order.
Parameters
$rules | SpacingRule |
Test cases 1
Calls 1
- function-call
array_valuesline 28
public function apply(LexemeBoundary $boundary, LexemeInput $input): SpacingConstraintIntersects all applicable constraints without allowing later rules to overwrite earlier restrictions.
Parameters
$boundary | LexemeBoundary | |
$input | LexemeInput |
Returns
Test cases 2
Calls 1
Private surface 1§
Implementation details, listed for orientation only.
private list<SpacingRule> $rulesTest cases 58§
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 57
BytePlanCompilerTest::testCompileMapsTheHeaderIntoTheAllowedExpansionRangecallsBytePlanCompilerTest::testCompileResolvesChoicesIntoInspectableReusableInstructionscallsBytePlanCompilerTest::testCompileSeparatesProductionChoicesFromLexemesAndCompletesAnOddInputcallsPlanBuilderTest::testBuildPreservesEmptyMarkerCandidatesWithoutLosingNonEmptyCompletioncallsPlanBuilderTest::testBuildPreservesRepeatedProductionAndLexemeConstraintscallsPlanBuilderTest::testBuildReservesAllPendingSiblingsAndRetainsTheOriginalOrdinalcallsPlanBuilderTest::testBuildUsesTheSameContextualRewriteAndPinsItsCompleteCandidatecallsPlanBuilderTest::testMinimumExpansionsIncludesTheConstrainedDescendantBeforeDrawingTheBudgetcallsPlanBuilderTest::testMinimumExpansionsIncludesTheSelectedRootAlternativeBeforeAllocatingInputBudgetcallsGrammarCoverageTest::testRecordOutputExposesCandidateAndBoundaryDecisionscallsDerivationTraceTestcallsTokenGeneratorTestcallsLexicalExceptionTestcallsLexemeSequenceTestcallsSpacingRuleTest::testApplyContractPermitsUnconstrainedBoundariescallsCandidateResolverTest::testResolveIntersectsInternalAndExternalConstraintsWithoutChangingTheRightStatecallsCandidateResolverTest::testResolvePropagatesConditionsAcrossAnEmptyMarkerWithoutWritingSpacescallsCandidateResolverTest::testResolveRejectsAnOwedNeighborAtEitherEndOfTheInputcallsReverseLexemeGeneratorTest::testGenerateCompoundOutputRemainsInOrderAndEofAddsNoBoundarycallsReverseLexemeGeneratorTest::testGenerateRespectsTheOrderOfRepeatedPlannedOccurrencesAfterRenamingcallsReverseLexemeGeneratorTest::testGenerateRetainsAPlannedSpellingWhenAContextualRewriteRenamesItsTerminalcallsReverseLexemeGeneratorTest::testMatchesRequestComparesTheWholeCompoundSpellingcallsReverseLexemeGeneratorTest::testMissingHandlerFailsAtTheActualTerminalcallsReverseLexemeGeneratorTest::testSelectCanChooseTheLastOfSeveralCompatibleCandidatescallsReverseLexemeGeneratorTest::testSelectRejectsAnOutOfRangeDecisioncallsSqlGeneratorTest::testGenerateAllowsEmptyOutputWhenThePlanAllowsItcallsSqlGeneratorTest::testGenerateClearsPreviousGrammarTraceBeforeALexicalPlancallsSqlGeneratorTest::testGenerateKeepsRewrittenSourcesReachedWithoutCreditingTheirOutputcallsSqlGeneratorTest::testGenerateRecordsACompleteCoverageObservationcallsSqlGeneratorTest::testGenerateRejectsUnexpectedEmptyOutputWithoutRetryingcallsSqlGeneratorTest::testGenerateReplacesGrammarCoverageWithTheLatestLexicalTracecallsSqlGeneratorTest::testGenerateReportsOnlyTheLatestRewrittenDerivationcallsSqlGeneratorTest::testGenerateReusesCompletionAnalysisAcrossDifferentPlanscallsSqlGeneratorTest::testGenerateUsesExplicitRulesAndSuppliedParserSemanticscallsSqlGeneratorTest::testGenerateUsesTheGrammarEntryPointWithoutDialectKnowledgecallsSqlGeneratorTest::testGenerateUsesTheSuppliedVersionSpecificRuleResolvercallsSqlGeneratorTest::testPlannerBindsTheSameGrammarEntryAndFreezesEveryChoicecallsSqlGeneratorTest::testRealizeOffersTheWholeZeroBasedCandidateRangecallsSqlGeneratorTest::testRealizeRetainsTheActualTerminalAndLexicalTracecallsTerminalSequenceTestcallsGenerationContextTestcallsCharsetValueLexemeGeneratorTestcallsDefinitionFactoryTestcallsLexicalDefinitionTest::testCompositionProducesOutputAndKeepsItsDiagnosticMetadatacallsLexicalGrammarTestcallsMySqlProviderTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsLexicalDefinitionTest::testCompositionProducesOutputAndKeepsItsDiagnosticMetadatacallsLexicalGrammarTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsGenerationContextTestcallsDefinitionFactoryTestcallsLexicalDefinitionTest::testCompositionProducesOutputAndKeepsItsDiagnosticMetadatacallsLexicalGrammarTestcallsSqliteProviderTestcalls
Relations§
Instantiated in 3
- new SqlFaker\MySql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/MySql/Generation/Lexeme/DefinitionFactory.php:1845
- new SqlFaker\PostgreSql\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/PostgreSql/Generation/Lexeme/DefinitionFactory.php:1016
- new SqlFaker\Sqlite\Generation\Lexeme\DefinitionFactory::create() packages/sql-faker/src/Sqlite/Generation/Lexeme/DefinitionFactory.php:676