Refactor region_stack logic out of Context (#4927)

This commit is contained in:
Jon Ross-Perkins
2025-02-12 00:21:07 +00:00
committed by GitHub
parent 0931c601be
commit 588bdd74c3
10 changed files with 113 additions and 61 deletions
+2 -2
View File
@@ -401,7 +401,7 @@ static auto HandleFunctionDefinitionAfterSignature(
// Create the function scope and the entry block.
context.return_scope_stack().push_back({.decl_id = decl_id});
context.inst_block_stack().Push();
context.PushRegion(context.inst_block_stack().PeekOrAdd());
context.region_stack().PushRegion(context.inst_block_stack().PeekOrAdd());
context.scope_stack().Push(decl_id);
StartGenericDefinition(context);
@@ -465,7 +465,7 @@ auto HandleParseNode(Context& context, Parse::FunctionDefinitionId node_id)
context.decl_name_stack().PopScope();
auto& function = context.functions().Get(function_id);
function.body_block_ids = context.PopRegion();
function.body_block_ids = context.region_stack().PopRegion();
// If this is a generic function, collect information about the definition.
FinishGenericDefinition(context, function.generic_id);