fix: ir generation for divert arguments
This commit is contained in:
parent
37ab29947a
commit
cbcc796f1e
3 changed files with 19 additions and 18 deletions
|
|
@ -1152,18 +1152,15 @@ fn callExpr(
|
|||
|
||||
const scratch_top = astgen.scratch.items.len;
|
||||
defer astgen.scratch.shrinkRetainingCapacity(scratch_top);
|
||||
const args_count = if (args_node) |n| switch (n.tag) {
|
||||
.call_expr => n.data.list.items.?.len,
|
||||
else => 0,
|
||||
} else 0;
|
||||
|
||||
const arguments: ?[]*Ast.Node = if (args_node) |n| n.data.list.items.? else null;
|
||||
const args_count = if (arguments) |args| args.len else 0;
|
||||
|
||||
try astgen.scratch.resize(gpa, scratch_top + args_count);
|
||||
var scratch_index = scratch_top;
|
||||
|
||||
if (args_node) |n| blk: {
|
||||
if (n.tag != .call_expr) break :blk;
|
||||
|
||||
const args_list = n.data.list.items.?;
|
||||
for (args_list) |arg| {
|
||||
if (arguments) |args| {
|
||||
for (args) |arg| {
|
||||
var arg_block = gi.makeSubBlock();
|
||||
defer arg_block.unstack();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue