Skip to content

refactor(symbols): CallPlan as closed Direct|Indirect variant - #76

Merged
rieske merged 2 commits into
masterfrom
feature/callplan-variant
Jul 26, 2026
Merged

refactor(symbols): CallPlan as closed Direct|Indirect variant#76
rieske merged 2 commits into
masterfrom
feature/callplan-variant

Conversation

@rieske

@rieske rieske commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replace CallPlan { Kind, calleeName } with std::variant<DirectCallPlan, IndirectCallPlan>
  • Helpers isIndirectCall / callCalleeName; generic get_if for plans
  • IR Call takes a single bool indirect (no parallel CallKind enum)

Stack

Phase A PR 1/3 — foundation for later va_*/builtin call arms.

Test plan

  • symbolsTest, FP functional smoke
  • CI + Coveralls

Host-aligned shell for call shape: variant arms instead of Kind+string.
Codegen maps to CallKind for IR without reintroducing a parallel lattice.
@mergify

mergify Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@coveralls

coveralls commented Jul 26, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 93.243% (+0.03%) from 93.217% — feature/callplan-variant into master

Single IR bit mirrors isIndirectCall(CallPlan); no parallel enum lattice.
@rieske

rieske commented Jul 26, 2026

Copy link
Copy Markdown
Owner Author

Code review

No issues found. Checked for bugs, incomplete migrations, and stack consistency with Phase A goals.

🤖 Generated with Grok code-review

@rieske
rieske merged commit 2998ba5 into master Jul 26, 2026
4 checks passed
@rieske
rieske deleted the feature/callplan-variant branch July 26, 2026 08:46
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.

2 participants