Skip to content

fix: remove duplicate declarations from bad 3edd608↔ae96462 rebase merge - #93

Merged
jbachorik merged 1 commit into
mainfrom
fix/post-rebase-duplicate-declarations
Jul 2, 2026
Merged

jbachorik merged 1 commit into
mainfrom
fix/post-rebase-duplicate-declarations

Conversation

@jbachorik

Copy link
Copy Markdown
Collaborator

What does this PR do?

Removes duplicate declarations introduced by a bad rebase of 3edd608 (COUNTING_GLUSHKOV) onto ae96462 (atomic groups / possessive quantifiers). Both commits independently added atomic group support; the rebase conflict resolution left both versions in place, breaking compilation.

Motivation

3edd608 was pushed directly to main with bypass permissions. When ae96462 had already merged via PR #92, the rebase conflict left duplicate fields/methods in five files, causing build failures on a clean ./gradlew clean build.

Related Issue(s)

Follows 3edd608 / PR #92 (ae96462).

Change Type

  • Bug fix
  • New feature
  • Performance improvement
  • Refactoring (no functional change)
  • Documentation
  • Test improvement
  • Build/CI change

Checklist

  • I have read the CONTRIBUTING.md guidelines
  • All existing tests pass (./gradlew build)
  • I have added tests for my changes
  • I have updated documentation (if applicable)
  • My commits are signed

Performance Impact

None — removes dead/duplicate code only.

Additional Notes

Files fixed:

  • NFA.java: duplicate atomicEntry/atomicExit fields and getAtomicGroupCount() — removed the earlier, less complete version; kept the one that checks both entry and exit states.
  • GlushkovAutomaton.java: duplicate findLastRequiredChar() — removed the first occurrence; kept the one with the fuller inline comment.
  • PatternAnalyzer.java: duplicate AtomicGroupDetector inner class and hasAtomicGroups() static method — removed the earlier versions; kept the better-documented ones from ae96462.
  • PikeVMMatcher.java: conflated merge of two competing atomic-group tracking approaches (clistAtomicPos-based from PR fix(#41,#42,#74): atomic groups, possessive quantifiers, first-byte skip #92 vs atomicEnteredInClosure-based from our branch). Restored to the CI-validated PR fix(#41,#42,#74): atomic groups, possessive quantifiers, first-byte skip #92 state (ae96462) which was reviewed and green.
  • BitParallelGlushkovBytecodeGeneratorTest.java: minor cleanup.

Gates after fix: build GREEN, fuzz 34/34, meta-test 0 mismatches.

NFA.java had duplicate atomicEntry/atomicExit fields and getAtomicGroupCount().
GlushkovAutomaton.java had duplicate findLastRequiredChar().
PatternAnalyzer.java had duplicate AtomicGroupDetector inner class and
hasAtomicGroups() method.
PikeVMMatcher.java had a conflated merge of two competing atomic-group
tracking approaches; restored to the CI-validated PR #92 (ae96462) state.

All three gates clean: build GREEN, fuzz 34/34, meta-test 0 mismatches.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jbachorik jbachorik added the AI Generated or assisted by AI label Jul 2, 2026
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.6%. Comparing base (ae96462) to head (df070b4).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff            @@
##              main     #93    +/-   ##
========================================
  Coverage     82.5%   82.6%            
  Complexity       1       1            
========================================
  Files          128     130     +2     
  Lines        39439   39979   +540     
  Branches      5150    5225    +75     
========================================
+ Hits         32574   33042   +468     
- Misses        5230    5282    +52     
- Partials      1635    1655    +20     
Files with missing lines Coverage Δ
...doghq/reggie/codegen/analysis/PatternAnalyzer.java 74.4% <ø> (+0.2%) ⬆️
...hq/reggie/codegen/automaton/GlushkovAutomaton.java 91.9% <ø> (+0.5%) ⬆️
...va/com/datadoghq/reggie/codegen/automaton/NFA.java 90.1% <ø> (ø)
...va/com/datadoghq/reggie/runtime/PikeVMMatcher.java 89.4% <100.0%> (ø)

... and 5 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3edd608...df070b4. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jbachorik
jbachorik marked this pull request as ready for review July 2, 2026 13:07
@jbachorik
jbachorik merged commit eedc7c1 into main Jul 2, 2026
9 checks passed
@jbachorik
jbachorik deleted the fix/post-rebase-duplicate-declarations branch July 2, 2026 13:07

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: df070b45df

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/2026-07-02-reggie-1.0.0-readiness-assessment.md
@jbachorik jbachorik added this to the 0.4.0 milestone Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI Generated or assisted by AI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants