Skip to content

test(extraction): dense-header regression guard for UE class recovery (#1160)#1206

Merged
colbymchenry merged 1 commit into
mainfrom
test/ue-dense-header-regression
Jul 7, 2026
Merged

test(extraction): dense-header regression guard for UE class recovery (#1160)#1206
colbymchenry merged 1 commit into
mainfrom
test/ue-dense-header-regression

Conversation

@colbymchenry

Copy link
Copy Markdown
Owner

Follow-up to #1158. The integration tests that landed with that fix use inputs too small to trigger the tree-sitter class_specifier collapse, so they pass with or without the fix (verified: 0/3 reproduce on the pre-fix build) — only the offset-preserving unit tests actually guarded the behavior.

This adds a genuine guard: a ~240-in-body-macro reflected class (the density of the real CharacterMovementComponent.h) plus a UENUM whose values carry mid-line UMETA. It asserts the decorated members (Compute0, a middle one, and the last) and the enum are extracted — signals that flip false → true across the three blank passes.

Verified both directions: the same assertions fail on the pre-fix source (2a06d9a, before #1158) and pass on the fix — so reverting any of blankCppAnnotationMacroCalls / blankCppApiPrefixMacros / blankCppInlineAnnotationMacros regresses at least one assertion.

The full class collapse is emergent from real engine-header content that can't be shipped (Unreal source is EULA-licensed); this reproduces the recoverable-member signal the collapse leaves. Test-only; full extraction suite 578/578.

🤖 Generated with Claude Code

…#1160)

The integration tests that shipped with #1158 use inputs too small to trigger
the tree-sitter class_specifier collapse, so they pass with OR without the fix
(verified: 0/3 reproduce on the pre-fix build) — only the offset-preserving unit
tests actually guard the behavior. This adds a real guard: a ~240-in-body-macro
reflected class (the density of the real CharacterMovementComponent.h) plus a
UENUM whose values carry mid-line UMETA. Asserting the decorated members and the
enum are extracted flips false->true across the three blank passes — verified the
same assertions FAIL on the pre-fix source (2a06d9a) and PASS on the fix.

The full class collapse is emergent from real engine-header content that can't be
shipped (Unreal source is EULA-licensed); this reproduces the recoverable-member
signal the collapse leaves, which regresses if any of blankCppAnnotationMacroCalls
/ blankCppApiPrefixMacros / blankCppInlineAnnotationMacros is reverted.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@colbymchenry colbymchenry merged commit 8db8ad5 into main Jul 7, 2026
1 check passed
@colbymchenry colbymchenry deleted the test/ue-dense-header-regression branch July 7, 2026 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant