classResolvedOutput
final class ResolvedOutput
Immutable right-hand output with the condition still owed by its left neighbor.
Properties§
public list<OutputPart> $parts = []public ?SpacingConstraint $left = nullpublic list<LexemeSequence> $candidates = []public list<array{index: int, candidate: string, rules: list<string>}> $rejections = []Methods§
public function __construct(
public list<OutputPart> $parts = [],
public ?SpacingConstraint $left = null,
public list<LexemeSequence> $candidates = [],
public list<array{index: int, candidate: string, rules: list<string>}> $rejections = [],
)Parameters
$parts | list<OutputPart> | |
$left | ?SpacingConstraint | |
$candidates | list<LexemeSequence> | Selected candidates, including non-output markers |
$rejections | list<array{index: int, candidate: string, rules: list<string>}> |
Test cases 1
public function pieces(): list<string>Returns
list<string>Test cases 134§
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 133
ChoiceLexemeGeneratorTest::testAnApplicableEmptyStreamDiffersFromNoApplicableChildcallsChoiceLexemeGeneratorTest::testGenerateAllMatchingChildrenContributeInDeclarationOrdercallsChoiceLexemeGeneratorTest::testSourcesIncludesEveryEquivalentCandidateAndExcludesDifferentOutputscallsFixedLexemeGeneratorTest::testGeneratePreservesTheTerminalOccurrenceAndSourceForCompoundPhrasescallsFixedLexemeGeneratorTest::testGenerateRepresentsAnEmptyMarkerAsOneCandidateWithNoLexemescallsIntegerLexemeGeneratorTest::testGenerateBoundsExplorationOfAnUnboundedScannerFamilyWithoutEnumeratingItsValuescallsIntegerLexemeGeneratorTest::testGeneratePreservesExplicitLeadingZeroesAndTheirSourceOccurrencecallsIntegerLexemeGeneratorTest::testGenerateSeparatesAnInvalidValueFromNonApplicabilitycallsMatchingLexemeGeneratorTest::testGenerateDistinguishesNonApplicabilityFromAMatchedEmptyCandidateSetcallsMatchingLexemeGeneratorTest::testGenerateMakesTheCompleteStructuralInputAvailableToPredicatescallsRegisteredLexemeGeneratorTest::testGenerateKeepsAllRegisteredSpellingsAndTheAliasOccurrencecallsRegisteredLexemeGeneratorTest::testGenerateReportsAMissingRegistrationOnlyWhenItIsRequestedcallsSequenceLexemeGeneratorTest::testARequiredNonApplicableChildCannotBeOmittedcallsSequenceLexemeGeneratorTest::testGenerateACompoundCandidateKeepsOutputOrderAndConsumesOneOccurrencecallsValueLexemeGeneratorTest::testGenerateAcceptsExplicitValuesBeyondDefaultRepresentativescallsValueLexemeGeneratorTest::testGenerateRejectsAnInvalidValueWithoutFallingBackToADefaultcallsVersionCaseTestcallsVersionedLexemeGeneratorTest::testGenerateFromAnUnselectedCaseNeverGeneratesAndSharedDefinitionsRemainReusablecallsBytePlanCompilerTestcallsPlanBuilderTestcallsGrammarCoverageTestcallsLexicalObservationTest::testConditionsRetainsTheInputMasksAndAllContributingRulescallsLexicalObservationTest::testFeaturesKeepsValueTextOutOfFiniteDefinitionSetscallsLexicalObservationTest::testSourcesRetainsAllCandidateProvenanceInOccurrenceOrdercallsDerivationTraceTestcallsTokenGeneratorTestcallsLexicalExceptionTestcallsLexemeGeneratorTest::testGenerateContractDistinguishesNonApplicabilityAndAnEmptyOutputcallsLexemeInputTest::testTerminalUsesTheOccurrenceIndexInsteadOfMatchingRepeatedNamescallsLexemeSequenceTest::testSourcesRetainsAlternativeDefinitionsLazilycallsSpacingRuleTest::testApplyContractPermitsUnconstrainedBoundariescallsBoundaryCompletionTest::testAcceptsRejectsMissingOrPlannedAwayWitnessescallsCandidateResolverTest::testResolveIntersectsInternalAndExternalConstraintsWithoutChangingTheRightStatecallsCandidateResolverTest::testResolvePropagatesConditionsAcrossAnEmptyMarkerWithoutWritingSpacescallsCandidateResolverTest::testResolveRejectsAnOwedNeighborAtEitherEndOfTheInputcallsCandidateResolverTest::testResolveReportsContradictionsWithBothRuleSourcescallsCombinedSpacingRuleTest::testApplyPreservesContradictionsAcrossOrderAndDuplicateRulescallsReverseLexemeGeneratorTest::testMatchesRequestComparesTheWholeCompoundSpellingcallsReverseLexemeGeneratorTest::testSelectRejectsAnOutOfRangeDecisioncallsSqlGeneratorTestcallsTerminalSequenceTestcallsGenerationContextTestcallsBoundedIntegerLexemeGeneratorTest::testGenerateKeepsTheExplicitHexSpellingAndOrigincallsBoundedIntegerLexemeGeneratorTest::testGenerateProvidesBoundaryRepresentativesWithoutClaimingOtherNumberscallsBoundedIntegerLexemeGeneratorTest::testGenerateSupportsASingletonDomainAndContinuesPastInvalidDefaultscallsCharsetLexemeGeneratorTest::testGenerateKeepsOnlyCharsetsCompatibleWithTheResolvedLiteralcallsCharsetValueLexemeGeneratorTest::testGenerateSamplesCharsetCompatibleBytesWithoutRestrictingOrdinaryBinaryValuescallsDefinitionFactoryTest::testBinaryAndStringsConstructCompleteAsciiValuesAfterIntroducersValuecallsDefinitionFactoryTest::testBinaryChecksSourceDelimiterOrValueBoundariesValuecallsDefinitionFactoryTest::testBinaryDomainKeepsExplicitByteSpellingsAvailableForCompatibleCharsetsValuecallsDefinitionFactoryTest::testContextualValuesRestrictsTheDomaincallsDefinitionFactoryTest::testContextualWordPreservesExplicitCasecallsDefinitionFactoryTest::testCreateConstructsCompleteDollarDelimitersAndUnescapedBodiesDollarStringcallsDefinitionFactoryTest::testCreateConstructsScannerBoundaryValuesValuecallsDefinitionFactoryTest::testCreateEnumeratesOnlySourceAcceptedTernaryValuesContextualValuecallsDefinitionFactoryTest::testCreateOffersACompleteCandidateForEverySourceValueTokenValuecallsDefinitionFactoryTest::testCreatePreservesTheVersionedParserValueDomainsContextualValuecallsDefinitionFactoryTest::testCreateRetainsContextualSpellingsAndTheirSourceDefinitioncallsDefinitionFactoryTest::testCreateRetainsValidSourceSpellingsAndRejectsMalformedOnesValuecallsDefinitionFactoryTest::testDollarStringsUsesTheFirstMatchingDelimitercallsDefinitionFactoryTest::testJsonKeepsTheCompleteDeclaredOutputSymbolcallsDefinitionFactoryTest::testLexemesKeepsParserNumericBoundariescallsDefinitionFactoryTest::testLexemesUsesTheTwoByteKeyBlockSizeDomaincallsDefinitionFactoryTest::testNamesChecksSourceDelimiterOrValueBoundariesValuecallsDefinitionFactoryTest::testNumbersChecksSourceDelimiterOrValueBoundariesValuecallsDefinitionFactoryTest::testPhraseKeepsBothWordsInTheSameOriginalOccurrenceSymbolcallsDefinitionFactoryTest::testPhrasesKeepsTheCompleteDeclaredOutputSymbolcallsDefinitionFactoryTest::testSelectorsKeepsTheCompleteDeclaredOutputSymbolcallsDefinitionFactoryTest::testStringsChecksSourceDelimiterOrValueBoundariesValuecallsDefinitionFactoryTest::testStringsKeepsConstructedIntroducedValuesValidUnderAnExplicitAsciiCharsetValuecallsDefinitionFactoryTest::testSymbolsKeepsTheCompleteOutputcallsDefinitionFactoryTest::testValuesLeavesUnknownTerminalsUnclaimedcallsFactorLexemeGeneratorTest::testGenerateAcceptsOnlyExactFactorSpellingscallsFactorLexemeGeneratorTest::testGenerateKeepsFactorPairsDistinctWithinTheirUsercallsFactorLexemeGeneratorTest::testGenerateLeavesOrdinaryNumbersToTheirGeneratorcallsKeywordLexemeGeneratorTest::testGenerateLeavesUndeclaredTerminalsUnclaimedcallsKeywordLexemeGeneratorTest::testGenerateSeparatesFunctionUseFromIdentifierUsecallsLexicalDefinitionTestcallsPrecisionLexemeGeneratorTest::testGenerateEnforcesPrecisionAndScaleTogethercallsPrecisionLexemeGeneratorTest::testGenerateUsesOnlyTheScaleInTheSameOccurrencecallsReplicationTablePatternLexemeGeneratorTest::testGenerateKeepsDefaultPatternsAndOrdinaryStringsSeparatecallsReplicationTablePatternLexemeGeneratorTest::testGeneratePreservesExplicitCandidateProvenancecallsReplicationTablePatternLexemeGeneratorTest::testGenerateValidatesDecodedPatternsWithoutChangingTheirSpellingcallsSizeNumberLexemeGeneratorTest::testGeneratePreservesOnlyValidSizeSpellingscallsSizeNumberLexemeGeneratorTest::testGenerateProvidesEveryScaleAndLeavesOtherTerminalsUnclaimedcallsLexicalGrammarTestcallsCloneAddressSpacingRuleTest::testApplyConstrainsOnlyItsSourceDefinedBoundarycallsCloneAddressSpacingRuleTest::testApplyRecognizesAFlatStatementAndBothSidesOfTheAddressColoncallsFunctionSpacingRuleTest::testApplyConstrainsOnlyItsSourceDefinedBoundarycallsKeywordPhraseSpacingRuleTest::testApplySeparatesOnlyPartsOfTheSameCompoundOccurrencecallsQualifiedNameSpacingRuleTest::testApplyConstrainsOnlyItsSourceDefinedBoundarycallsVariableSpacingRuleTest::testApplyConstrainsOnlyItsSourceDefinedBoundarycallsMySqlProviderTestcallsGenerationContextTestcallsDefinitionFactoryTest::testContextualNamesRestrictsTheDomaincallsDefinitionFactoryTest::testContextualWordPreservesExplicitCasecallsDefinitionFactoryTest::testCreateConstructsScannerBoundaryValuesValuecallsDefinitionFactoryTest::testCreateIncludesEveryGrammarEncodingAndPartitionStrategyContextualNamecallsDefinitionFactoryTest::testCreateOffersACompleteCandidateForEverySourceValueTokenValuecallsDefinitionFactoryTest::testCreateRetainsValidSourceSpellingsAndRejectsMalformedOnesValuecallsDefinitionFactoryTest::testKeywordLexemesLeavesUnclaimedNamesAvailableToOtherDomainscallsDefinitionFactoryTest::testNamesChecksSourceDelimiterOrValueBoundariesValuecallsDefinitionFactoryTest::testNumbersChecksSourceDelimiterOrValueBoundariesValuecallsDefinitionFactoryTest::testStringsChecksSourceDelimiterOrValueBoundariesValuecallsDefinitionFactoryTest::testStringsRecognizesDollarDelimitersLiterallyValuecallsDefinitionFactoryTest::testSymbolsKeepMultiCharacterOperatorsIndivisiblecallsDefinitionFactoryTest::testValuesLeavesUnknownTerminalsUnclaimedcallsHashBoundLexemeGeneratorTest::testGenerateMakesBothOrdersReachableAndRejectsRepeatedNamescallsKeywordLexemeGeneratorTest::testGenerateChecksTheLookaheadFollowerBeforeOfferingAnAliascallsLexicalDefinitionTestcallsLexicalGrammarTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsGenerationContextTestcallsDefinitionFactoryTest::testCreateConstructsScannerBoundaryValuesValuecallsDefinitionFactoryTest::testCreateOffersACompleteCandidateForEverySourceValueTokenValuecallsDefinitionFactoryTest::testCreateRetainsValidSourceSpellingsAndRejectsMalformedOnesValuecallsDefinitionFactoryTest::testKeywordLexemesLeavesUnclaimedNamesAvailableToOtherDomainscallsDefinitionFactoryTest::testLexemesRestrictsGeneratedStorageToTheBuildSourceNamescallsDefinitionFactoryTest::testNamesChecksSourceDelimiterOrValueBoundariesValuecallsDefinitionFactoryTest::testNumbersChecksSourceDelimiterOrValueBoundariesValuecallsDefinitionFactoryTest::testStrictTypesCoversTheSourceTypeTablecallsDefinitionFactoryTest::testStringsChecksSourceDelimiterOrValueBoundariesValuecallsDefinitionFactoryTest::testSymbolsKeepMultiCharacterOperatorsIndivisiblecallsDefinitionFactoryTest::testValuesLeavesUnknownTerminalsUnclaimedcallsJoinLexemeGeneratorTest::testGenerateKeepsOnlyModifiersCompatibleWithTheSelectedSuffixcallsJoinLexemeGeneratorTest::testHasConditionReadsOnlyTheSameSourceListcallsLexicalDefinitionTestcallsWindowNameLexemeGeneratorTest::testGeneratePropagatesMissingRegistrationDatacallsWindowNameLexemeGeneratorTest::testGenerateQuotesIndexedOnlyWhereWindowLookaheadRequiresAnIdentifiercallsWindowNameLexemeGeneratorTest::testGenerateRetainsNonApplicabilitycallsLexicalGrammarTestcallsSqliteProviderTestcalls
Relations§
Instantiated in 3
- new SqlFaker\Generation\Output\CandidateResolver::resolve() packages/sql-faker/src/Generation/Output/CandidateResolver.php:62
- new SqlFaker\Generation\Output\ReverseLexemeGenerator::generate() packages/sql-faker/src/Generation/Output/ReverseLexemeGenerator.php:60
- new SqlFaker\Generation\Output\ReverseLexemeGenerator::select() packages/sql-faker/src/Generation/Output/ReverseLexemeGenerator.php:119
Type checks 2
Type declarations 15
- type SqlFaker\Generation\Coverage\GrammarCoverage packages/sql-faker/src/Generation/Coverage/GrammarCoverage.php:186
- type SqlFaker\Generation\Coverage\LexicalObservation packages/sql-faker/src/Generation/Coverage/LexicalObservation.php:24
- type SqlFaker\Generation\Coverage\LexicalObservation packages/sql-faker/src/Generation/Coverage/LexicalObservation.php:51
- type SqlFaker\Generation\Coverage\LexicalObservation packages/sql-faker/src/Generation/Coverage/LexicalObservation.php:67
- type SqlFaker\Generation\Lexeme\LexemeInput packages/sql-faker/src/Generation/Lexeme/LexemeInput.php:22
- type SqlFaker\Generation\Lexeme\LexicalGrammar packages/sql-faker/src/Generation/Lexeme/LexicalGrammar.php:66
- type SqlFaker\Generation\Output\BoundaryCompletion packages/sql-faker/src/Generation/Output/BoundaryCompletion.php:36
- type SqlFaker\Generation\Output\CandidateResolver packages/sql-faker/src/Generation/Output/CandidateResolver.php:30
- type SqlFaker\Generation\Output\ReverseLexemeGenerator packages/sql-faker/src/Generation/Output/ReverseLexemeGenerator.php:40
- type SqlFaker\Generation\Output\ReverseLexemeGenerator::generate() packages/sql-faker/src/Generation/Output/ReverseLexemeGenerator.php:66
- type SqlFaker\Generation\Output\ReverseLexemeGenerator packages/sql-faker/src/Generation/Output/ReverseLexemeGenerator.php:80
- type SqlFaker\Generation\SqlGenerator packages/sql-faker/src/Generation/SqlGenerator.php:43
- type SqlFaker\MySql\Generation\LexicalGrammar packages/sql-faker/src/MySql/Generation/LexicalGrammar.php:123
- type SqlFaker\PostgreSql\Generation\LexicalGrammar packages/sql-faker/src/PostgreSql/Generation/LexicalGrammar.php:138
- type SqlFaker\Sqlite\Generation\LexicalGrammar packages/sql-faker/src/Sqlite/Generation/LexicalGrammar.php:118