| ... | @@ -389,19 +389,19 @@ pub const DeclGen = struct { | ... | @@ -389,19 +389,19 @@ pub const DeclGen = struct { |
| 389 | // Determine if we must pointer cast. | 389 | // Determine if we must pointer cast. |
| 390 | if (ty.eql(decl.ty)) { | 390 | if (ty.eql(decl.ty)) { |
| 391 | try writer.writeByte('&'); | 391 | try writer.writeByte('&'); |
| 392 | try dg.renderDeclName(decl, writer); | 392 | try dg.renderDeclName(writer, decl); |
| 393 | return; | 393 | return; |
| 394 | } | 394 | } |
| 395 | | 395 | |
| 396 | try writer.writeAll("(("); | 396 | try writer.writeAll("(("); |
| 397 | try dg.renderTypecast(writer, ty); | 397 | try dg.renderTypecast(writer, ty); |
| 398 | try writer.writeAll(")&"); | 398 | try writer.writeAll(")&"); |
| 399 | try dg.renderDeclName(decl, writer); | 399 | try dg.renderDeclName(writer, decl); |
| 400 | try writer.writeByte(')'); | 400 | try writer.writeByte(')'); |
| 401 | return; | 401 | return; |
| 402 | } | 402 | } |
| 403 | | 403 | |
| 404 | try dg.renderDeclName(decl, writer); | 404 | try dg.renderDeclName(writer, decl); |
| 405 | } | 405 | } |
| 406 | | 406 | |
| 407 | fn renderInt128( | 407 | fn renderInt128( |
| ... | @@ -464,7 +464,7 @@ pub const DeclGen = struct { | ... | @@ -464,7 +464,7 @@ pub const DeclGen = struct { |
| 464 | .variable => ptr_val.castTag(.variable).?.data.owner_decl, | 464 | .variable => ptr_val.castTag(.variable).?.data.owner_decl, |
| 465 | else => unreachable, | 465 | else => unreachable, |
| 466 | }; | 466 | }; |
| 467 | try dg.renderDeclValue(writer, decl.ty, ptr_val, decl); | 467 | try dg.renderDeclName(writer, decl); |
| 468 | return decl.ty; | 468 | return decl.ty; |
| 469 | }, | 469 | }, |
| 470 | .field_ptr => { | 470 | .field_ptr => { |
| ... | @@ -490,7 +490,7 @@ pub const DeclGen = struct { | ... | @@ -490,7 +490,7 @@ pub const DeclGen = struct { |
| 490 | }, | 490 | }, |
| 491 | .elem_ptr => { | 491 | .elem_ptr => { |
| 492 | const elem_ptr = ptr_val.castTag(.elem_ptr).?.data; | 492 | const elem_ptr = ptr_val.castTag(.elem_ptr).?.data; |
| 493 | try writer.writeAll("&(*"); | 493 | try writer.writeAll("&("); |
| 494 | const container_ty = try dg.renderChildPtr(writer, elem_ptr.array_ptr); | 494 | const container_ty = try dg.renderChildPtr(writer, elem_ptr.array_ptr); |
| 495 | try writer.print(")[{d}]", .{elem_ptr.index}); | 495 | try writer.print(")[{d}]", .{elem_ptr.index}); |
| 496 | return container_ty.childType(); | 496 | return container_ty.childType(); |
| ... | @@ -599,11 +599,11 @@ pub const DeclGen = struct { | ... | @@ -599,11 +599,11 @@ pub const DeclGen = struct { |
| 599 | }, | 599 | }, |
| 600 | .function => { | 600 | .function => { |
| 601 | const func = val.castTag(.function).?.data; | 601 | const func = val.castTag(.function).?.data; |
| 602 | try dg.renderDeclName(func.owner_decl, writer); | 602 | try dg.renderDeclName(writer, func.owner_decl); |
| 603 | }, | 603 | }, |
| 604 | .extern_fn => { | 604 | .extern_fn => { |
| 605 | const extern_fn = val.castTag(.extern_fn).?.data; | 605 | const extern_fn = val.castTag(.extern_fn).?.data; |
| 606 | try dg.renderDeclName(extern_fn.owner_decl, writer); | 606 | try dg.renderDeclName(writer, extern_fn.owner_decl); |
| 607 | }, | 607 | }, |
| 608 | .int_u64, .one => { | 608 | .int_u64, .one => { |
| 609 | try writer.writeAll("(("); | 609 | try writer.writeAll("(("); |
| ... | @@ -834,7 +834,7 @@ pub const DeclGen = struct { | ... | @@ -834,7 +834,7 @@ pub const DeclGen = struct { |
| 834 | try w.writeAll("void"); | 834 | try w.writeAll("void"); |
| 835 | } | 835 | } |
| 836 | try w.writeAll(" "); | 836 | try w.writeAll(" "); |
| 837 | try dg.renderDeclName(dg.decl, w); | 837 | try dg.renderDeclName(w, dg.decl); |
| 838 | try w.writeAll("("); | 838 | try w.writeAll("("); |
| 839 | const param_len = dg.decl.ty.fnParamLen(); | 839 | const param_len = dg.decl.ty.fnParamLen(); |
| 840 | | 840 | |
| ... | @@ -1058,7 +1058,7 @@ pub const DeclGen = struct { | ... | @@ -1058,7 +1058,7 @@ pub const DeclGen = struct { |
| 1058 | if (err_set_type.castTag(.error_set_inferred)) |inf_err_set_payload| { | 1058 | if (err_set_type.castTag(.error_set_inferred)) |inf_err_set_payload| { |
| 1059 | const func = inf_err_set_payload.data.func; | 1059 | const func = inf_err_set_payload.data.func; |
| 1060 | try bw.writeAll("zig_E_"); | 1060 | try bw.writeAll("zig_E_"); |
| 1061 | try dg.renderDeclName(func.owner_decl, bw); | 1061 | try dg.renderDeclName(bw, func.owner_decl); |
| 1062 | try bw.writeAll(";\n"); | 1062 | try bw.writeAll(";\n"); |
| 1063 | } else { | 1063 | } else { |
| 1064 | try bw.print("zig_E_{s}_{s};\n", .{ | 1064 | try bw.print("zig_E_{s}_{s};\n", .{ |
| ... | @@ -1391,10 +1391,10 @@ pub const DeclGen = struct { | ... | @@ -1391,10 +1391,10 @@ pub const DeclGen = struct { |
| 1391 | .local_ref => |i| return w.print("&t{d}", .{i}), | 1391 | .local_ref => |i| return w.print("&t{d}", .{i}), |
| 1392 | .constant => unreachable, | 1392 | .constant => unreachable, |
| 1393 | .arg => |i| return w.print("a{d}", .{i}), | 1393 | .arg => |i| return w.print("a{d}", .{i}), |
| 1394 | .decl => |decl| return dg.renderDeclName(decl, w), | 1394 | .decl => |decl| return dg.renderDeclName(w, decl), |
| 1395 | .decl_ref => |decl| { | 1395 | .decl_ref => |decl| { |
| 1396 | try w.writeByte('&'); | 1396 | try w.writeByte('&'); |
| 1397 | return dg.renderDeclName(decl, w); | 1397 | return dg.renderDeclName(w, decl); |
| 1398 | }, | 1398 | }, |
| 1399 | .undefined_ptr => { | 1399 | .undefined_ptr => { |
| 1400 | const target = dg.module.getTarget(); | 1400 | const target = dg.module.getTarget(); |
| ... | @@ -1418,10 +1418,10 @@ pub const DeclGen = struct { | ... | @@ -1418,10 +1418,10 @@ pub const DeclGen = struct { |
| 1418 | .arg => |i| return w.print("(*a{d})", .{i}), | 1418 | .arg => |i| return w.print("(*a{d})", .{i}), |
| 1419 | .decl => |decl| { | 1419 | .decl => |decl| { |
| 1420 | try w.writeAll("(*"); | 1420 | try w.writeAll("(*"); |
| 1421 | try dg.renderDeclName(decl, w); | 1421 | try dg.renderDeclName(w, decl); |
| 1422 | return w.writeByte(')'); | 1422 | return w.writeByte(')'); |
| 1423 | }, | 1423 | }, |
| 1424 | .decl_ref => |decl| return dg.renderDeclName(decl, w), | 1424 | .decl_ref => |decl| return dg.renderDeclName(w, decl), |
| 1425 | .undefined_ptr => unreachable, | 1425 | .undefined_ptr => unreachable, |
| 1426 | .identifier => |ident| return w.print("(*{ })", .{fmtIdent(ident)}), | 1426 | .identifier => |ident| return w.print("(*{ })", .{fmtIdent(ident)}), |
| 1427 | .bytes => |bytes| { | 1427 | .bytes => |bytes| { |
| ... | @@ -1432,7 +1432,7 @@ pub const DeclGen = struct { | ... | @@ -1432,7 +1432,7 @@ pub const DeclGen = struct { |
| 1432 | } | 1432 | } |
| 1433 | } | 1433 | } |
| 1434 | | 1434 | |
| 1435 | fn renderDeclName(dg: DeclGen, decl: *Decl, writer: anytype) !void { | 1435 | fn renderDeclName(dg: DeclGen, writer: anytype, decl: *Decl) !void { |
| 1436 | if (dg.module.decl_exports.get(decl)) |exports| { | 1436 | if (dg.module.decl_exports.get(decl)) |exports| { |
| 1437 | return writer.writeAll(exports[0].options.name); | 1437 | return writer.writeAll(exports[0].options.name); |
| 1438 | } else if (decl.val.tag() == .extern_fn) { | 1438 | } else if (decl.val.tag() == .extern_fn) { |
| ... | @@ -2586,7 +2586,7 @@ fn airCall(f: *Function, inst: Air.Inst.Index) !CValue { | ... | @@ -2586,7 +2586,7 @@ fn airCall(f: *Function, inst: Air.Inst.Index) !CValue { |
| 2586 | else => break :known, | 2586 | else => break :known, |
| 2587 | }; | 2587 | }; |
| 2588 | }; | 2588 | }; |
| 2589 | try f.object.dg.renderDeclName(fn_decl, writer); | 2589 | try f.object.dg.renderDeclName(writer, fn_decl); |
| 2590 | break :callee; | 2590 | break :callee; |
| 2591 | } | 2591 | } |
| 2592 | // Fall back to function pointer call. | 2592 | // Fall back to function pointer call. |