Skip to content

phase0/04: house FunctionEntry and LabelEntry in symbols leaf - #83

Merged
rieske merged 6 commits into
masterfrom
phase0/04-symbols-leaf
Jul 27, 2026
Merged

phase0/04: house FunctionEntry and LabelEntry in symbols leaf#83
rieske merged 6 commits into
masterfrom
phase0/04-symbols-leaf

Conversation

@rieske

@rieske rieske commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Move FunctionEntry and LabelEntry into the symbols leaf package.
  • Clean SA re-export comments; Round-2/3 review residuals.

Stack

Base: phase0/03-object-abi → this PR → phase0/05-annotation-migration

Test plan

  • Symbols/SA tests pass
  • No reverse package deps introduced

rieske added 5 commits July 27, 2026 17:18
Move FunctionEntry/LabelEntry implementations into symbols (host-aligned
with ValueEntry). semantic_analyzer headers re-export them for existing
AST/SA includes. Expand AnnotationTypes (ValueSlot/LabelSlot/FunctionFrame)
and AnnotationStore label API with unit tests. Production still stores
control-flow labels on AST nodes until the annotation migration.
- Slim AnnotationTypes to ValueSlot::{Result,Lvalue} and LabelSlot only
  (no speculative FunctionFrame/StringSlot/extra slots).
- AnnotationStore includes LabelEntry directly after the slim.
- Non-virtual FunctionEntry destructor.
- Move labelSlots store tests into AnnotationStoreTest.
- Point codegen includes at symbols/; SA re-exports marked SA-only.
- Function::argumentCount avoids materializing argument Types.
- FunctionEntry.h includes Type.h; re-export comments clarify scope.
- Stronger FunctionEntry unit tests (name/type/args/context).
- labelSlots overwrite + const access; clear() covers labels.
- Drop empty FunctionEntry destructor (Rule of Zero / restore moves).
- Sink-move constructor parameters into members.
- Pin argumentCount vs arguments().size for 0/1/3-arg FunctionEntry
  and Function types in unit tests.
@mergify

mergify Bot commented Jul 27, 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 27, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 92.93% (+0.02%) from 92.913% — phase0/04-symbols-leaf into master

Base automatically changed from phase0/03-object-abi to master July 27, 2026 16:00
@rieske
rieske merged commit 9a340d9 into master Jul 27, 2026
3 checks passed
@rieske
rieske deleted the phase0/04-symbols-leaf branch July 27, 2026 16:06
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