Fix: [for cherry-picking] Updated suspension walkers to inspect call/ne

Closed
QO
2mo ago
+15-2

Fixed Findings

  • Traverse call and new spread arguments
  • Link regression evidence to the G3 root gate
  • Traverse dynamic import awaits

Automated fix from agentic review of https://github.com/metaphorics/bamTiScript/pull/199

Qodo Logo

Summary by Sourcery

Extend suspension walkers to cover spread arguments and dynamic import expressions while clarifying regression-gate evidence requirements.

Bug Fixes:

  • Ensure suspension analysis detects yields and awaits inside call and constructor spread arguments.
  • Include awaits in dynamic import sources and options during suspension analysis.

Documentation:

  • Clarify that regression results require receipt-backed linkage to the G3 compiler root gate for completion.

Summary by cubic

Fixes suspension walkers so yields in spread arguments and awaits in dynamic imports are now detected during suspension analysis. Previously, these constructs were skipped, potentially missing suspension points in generated generators.

Bug Fixes

  • count_yields, call_argument_suspends, and contains_await now inspect CallArgument::Spread arguments.
  • contains_await now checks dynamic import sources and options via Expression::Import.

Documentation

  • Clarifies that regression results require receipt-backed linkage to the G3 compiler root gate for completion.