Recheck remaining tokens after removing an overlapping match - #136
Open
codewithfourtix wants to merge 1 commit into
Open
Recheck remaining tokens after removing an overlapping match#136codewithfourtix wants to merge 1 commit into
codewithfourtix wants to merge 1 commit into
Conversation
Signed-off-by: Ali Zulfiqar <codewithfourtix@gmail.com>
There was a problem hiding this comment.
🟢 Approval recommended
The logic change is narrowly scoped, addresses the stated defect, and is covered by targeted regression tests for the reported edge cases.
Pull request overview
Fixes filter_overlapping() so that when a longer overlapping token replaces the current token, the algorithm re-checks the new token at that position before advancing—preventing missed overlap/containment removals.
Changes:
- Adjust overlap-handling loop in
filter_overlapping()to re-evaluate the replacement position after deleting the current token. - Add regression tests covering (1) an overlap “chain” and (2) a contained token that should be removed after replacement.
File summaries
| File | Description |
|---|---|
src/license_expression/_pyahocorasick.py |
Updates overlap-resolution loop to recheck the current index after deleting an overlapped token. |
tests/test__pyahocorasick.py |
Adds regression tests asserting correct filtering for overlap-chain and contained-token scenarios. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When a longer overlapping token replaces the current token, the loop advances past its new position. This can leave overlapping or contained tokens in the result. Revisit that position before advancing.
Adds regression tests for an overlap chain and a contained token after replacement.