ForNeVeR / ForNeVeR/Cesium

Extract stage that emits symbols from lowering stage

Open
#402 1 comment 0 reactions 0 assignees View on GitHub
area:compiler kind:refactor status:help-wanted
Dominant language
C#
Stars
451
Forks
49
Avg merge
13h 59m
Merged PRs (30d)
6

Description

At this moment there's a ton of problems having thins like `AddLabel` inside `Lower` stage, so we should at any cost move that thing into separate stage.

Simplest proposal is to just make a new method called `EmitSymbols`, which should be called in between or `Lower` and `EmitTo`.

There's naming issue - maybe EmitSymbols is not the best name, and naming it like that makes `EmitTo` sound inappropriate, so we should rename that as well.

I can submit PR for that if no one will complain

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Lower and EmitTo stages and locating where AddLabel is handled. Review how these stages are called and determine the intended boundary for symbol emission. Done means symbol emission is separated from lowering and the stage and method names are consistent, with existing behavior preserved.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
compilers
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.