Skip to content

fix(extraction): blank C designated-initializer macro args before parsing - #1755

Merged
colbymchenry merged 1 commit into
mainfrom
fix/1729-c-designated-macro-args
Sep 8, 2026
Merged

colbymchenry merged 1 commit into
mainfrom
fix/1729-c-designated-macro-args

Conversation

@colbymchenry

Copy link
Copy Markdown
Owner

Summary

Out of scope

Test plan

  • Reproduce issue fixture without blank (wasm + kernel)
  • Confirm blank restores f/g/h extents and top-level QNs
  • vitest cases: blank unit + issue fixture e2e + 120-field guard
  • CI green

…sing

tree-sitter-c has no rule for `.field = value` as a call argument. A
statement-level `MACRO(a, b, .x = …, .y = { … },);` recovers by extending
the enclosing function_definition to EOF — later functions vanish or nest
as outer::inner (#1729). blankCDesignatedMacroArgs empties such argument
lists to spaces (newlines kept) at the head of preParseCSource, before the
kernel route point, so both wasm and kernel C arms see the same bytes.

Tests cover the issue fixture (trailing-comma designated args) and a
120-field scale guard. Refs #1729.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant