mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Model the return slot as an output parameter (#4432)
Also fix `Param` insts to have meaningful names in pretty-printing, to help clarify relationship with return slot.
This commit is contained in:
@@ -207,10 +207,12 @@ static auto PopImplIntroducerAndParamsAsNameComponent(
|
||||
|
||||
ParameterBlocks parameter_blocks{
|
||||
.implicit_params_id = SemIR::InstBlockId::Invalid,
|
||||
.params_id = SemIR::InstBlockId::Invalid};
|
||||
.params_id = SemIR::InstBlockId::Invalid,
|
||||
.return_slot_id = SemIR::InstId::Invalid};
|
||||
if (implicit_param_patterns_id) {
|
||||
parameter_blocks = CalleePatternMatch(context, *implicit_param_patterns_id,
|
||||
SemIR::InstBlockId::Invalid);
|
||||
parameter_blocks =
|
||||
CalleePatternMatch(context, *implicit_param_patterns_id,
|
||||
SemIR::InstBlockId::Invalid, SemIR::InstId::Invalid);
|
||||
}
|
||||
|
||||
Parse::NodeId first_param_node_id =
|
||||
@@ -229,6 +231,8 @@ static auto PopImplIntroducerAndParamsAsNameComponent(
|
||||
.params_loc_id = Parse::NodeId::Invalid,
|
||||
.params_id = SemIR::InstBlockId::Invalid,
|
||||
.param_patterns_id = SemIR::InstBlockId::Invalid,
|
||||
.return_slot_pattern_id = SemIR::InstId::Invalid,
|
||||
.return_slot_id = SemIR::InstId::Invalid,
|
||||
.pattern_block_id = context.pattern_block_stack().Pop(),
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user