[PR #756] [MERGED] fix(semantics): retain trailing rest argument flows #2218

Closed
opened 2026-10-16 21:15:48 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/756
Author: @rudycelekli
Created: 10/6/2026
Status: ✅ Merged
Merged: 10/6/2026
Merged by: @morluto

Base: main ← Head: fix/rest-argument-semantic-flow-20261006


📝 Commits (1)

  • 4b24e88 fix(semantics): retain trailing rest argument flows

📊 Changes

3 files changed (+109 additions, -5 deletions)

View changed files

📝 src/domain/javascriptSemanticAnalysis.calls.test.ts (+49 -0)
📝 src/domain/javascriptSemanticCallResolution.ts (+12 -5)
📝 tests/acceptance/applications/applicationWorkflowCli.test.ts (+48 -0)

📄 Description

Summary

Retain argument-to-parameter relations for every ordinary argument captured by a rest parameter. Previously collect(first, ...rest) linked only argument 1 to rest, dropping argument 2 and later from the public semantic graph and trace.

The parameter matcher accepts known positions at or after a rest parameter. Non-rest parameters still match one position, and the existing unknown-length spread guard remains conservative. No schema or public signature changes.

Verification

  • Native Node fixture returns both trailing values in rest.
  • Built public analyze-javascript-application → trace-javascript-semantics: argument 2 previously had no parameter path; now it reaches rest like argument 1.
  • Upstream regression controls: 2 failures, 8 passes; patched focused calls, traversal and public CLI suites: 37 tests pass.
  • npm run build:cached, npm run check, npm run check:fast pass (124 lint warnings, zero errors).
  • Real Hopper/Ghidra verification was not performed; this changes inert JavaScript analysis and tracing.

Codex assisted with investigation, implementation and verification on behalf of @rudycelekli. The signed DCO commit received independent source review before publication. Hosted CI is tracked separately.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/756 **Author:** [@rudycelekli](https://github.com/rudycelekli) **Created:** 10/6/2026 **Status:** ✅ Merged **Merged:** 10/6/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `fix/rest-argument-semantic-flow-20261006` --- ### 📝 Commits (1) - [`4b24e88`](https://github.com/morluto/rea/commit/4b24e88ebca60895ac80db23069494ec382eb5dd) fix(semantics): retain trailing rest argument flows ### 📊 Changes **3 files changed** (+109 additions, -5 deletions) <details> <summary>View changed files</summary> 📝 `src/domain/javascriptSemanticAnalysis.calls.test.ts` (+49 -0) 📝 `src/domain/javascriptSemanticCallResolution.ts` (+12 -5) 📝 `tests/acceptance/applications/applicationWorkflowCli.test.ts` (+48 -0) </details> ### 📄 Description ## Summary Retain argument-to-parameter relations for every ordinary argument captured by a rest parameter. Previously `collect(first, ...rest)` linked only argument 1 to `rest`, dropping argument 2 and later from the public semantic graph and trace. The parameter matcher accepts known positions at or after a rest parameter. Non-rest parameters still match one position, and the existing unknown-length spread guard remains conservative. No schema or public signature changes. ## Verification - Native Node fixture returns both trailing values in `rest`. - Built public `analyze-javascript-application` → `trace-javascript-semantics`: argument 2 previously had no parameter path; now it reaches `rest` like argument 1. - Upstream regression controls: 2 failures, 8 passes; patched focused calls, traversal and public CLI suites: 37 tests pass. - `npm run build:cached`, `npm run check`, `npm run check:fast` pass (124 lint warnings, zero errors). - Real Hopper/Ghidra verification was not performed; this changes inert JavaScript analysis and tracing. Codex assisted with investigation, implementation and verification on behalf of @rudycelekli. The signed DCO commit received independent source review before publication. Hosted CI is tracked separately. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-16 21:15:48 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#2218
No description provided.