classOverlapsArgumentsRule
final class OverlapsArgumentsRule
implements RewriteRule
Implements gram.y's two-argument row requirement for each side of OVERLAPS.
Methods§
public function rewrite(TerminalSequence $sequence): TerminalSequencePreserves valid rows and the first two chosen expressions; supplies NULL for missing arguments.
Parameters
$sequence | TerminalSequence |
Returns
Test cases 2
Calls 2
- function-call
array_reverseline 23 - method-call OverlapsArgumentsRule::pair() line 30
public function elements(TerminalSequence $sequence, int $row): list<int>Finds row elements through expr_list only, excluding expressions nested inside another element.
Parameters
$sequence | TerminalSequence | |
$row | int |
Returns
list<int>Test cases 1
public function pair(TerminalSequence $sequence, int $row): TerminalSequenceRebuilds only a row whose argument count violates the source action.
Parameters
$sequence | TerminalSequence | |
$row | int |
Returns
Test cases 3
Called from 1
Calls 7
- method-call OverlapsArgumentsRule::elements() line 63
- method-call TerminalSequence::range() line 64
- function-call
countline 66 - method-call TerminalSequence::insertedFor() line 69
- function-call
array_pushline 75 - function-call
array_sliceline 77 - method-call TerminalSequence::replace() line 80
Test cases 12§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 6
OverlapsArgumentsRuleTest::testElementsExcludesNestedExpressionscallsOverlapsArgumentsRuleTest::testPairLeavesMissingRowsUntouchedcallsOverlapsArgumentsRuleTest::testPairPreservesTwoChosenExpressionsWithoutRewritingcallsOverlapsArgumentsRuleTest::testPairRetainsOnlyTheFirstTwoElementsAndTheirIdentitiescallsOverlapsArgumentsRuleTest::testRewriteCompletesOnlyRowsBelongingToOverlapscallsOverlapsArgumentsRuleTest::testRewriteIgnoresOverlapsWithoutAnExpressionScopecalls
Other tests reaching this symbol 6
MySqlProviderTestcallsGenerationContextTestcallsRewriteDefinitionsTestcallsSqlGeneratorFactoryTestcallsPostgreSqlProviderTestcallsSqliteProviderTestcalls