aboutsummaryrefslogtreecommitdiff
path: root/src/Module.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/Module.zig')
-rw-r--r--src/Module.zig13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/Module.zig b/src/Module.zig
index ef410fad4e..83406c36a4 100644
--- a/src/Module.zig
+++ b/src/Module.zig
@@ -413,8 +413,8 @@ pub const Decl = struct {
pub fn zirBodies(decl: Decl, zcu: *Zcu) Zir.Inst.Declaration.Bodies {
const zir = decl.getFileScope(zcu).zir;
const zir_index = decl.zir_decl_index.unwrap().?.resolve(&zcu.intern_pool);
- const pl_node = zir.instructions.items(.data)[@intFromEnum(zir_index)].pl_node;
- const extra = zir.extraData(Zir.Inst.Declaration, pl_node.payload_index);
+ const declaration = zir.instructions.items(.data)[@intFromEnum(zir_index)].declaration;
+ const extra = zir.extraData(Zir.Inst.Declaration, declaration.payload_index);
return extra.data.getBodies(@intCast(extra.end), zir);
}
@@ -4255,12 +4255,11 @@ fn scanDecl(iter: *ScanDeclIter, decl_inst: Zir.Inst.Index) Allocator.Error!void
const zir = namespace.file_scope.zir;
const ip = &zcu.intern_pool;
- const pl_node = zir.instructions.items(.data)[@intFromEnum(decl_inst)].pl_node;
- const extra = zir.extraData(Zir.Inst.Declaration, pl_node.payload_index);
+ const inst_data = zir.instructions.items(.data)[@intFromEnum(decl_inst)].declaration;
+ const extra = zir.extraData(Zir.Inst.Declaration, inst_data.payload_index);
const declaration = extra.data;
const line = iter.parent_decl.src_line + declaration.line_offset;
- const decl_node = iter.parent_decl.relativeToNodeIndex(pl_node.src_node);
// Every Decl needs a name.
const decl_name: InternPool.NullTerminatedString, const kind: Decl.Kind, const is_named_test: bool = switch (declaration.name) {
@@ -4348,14 +4347,14 @@ fn scanDecl(iter: *ScanDeclIter, decl_inst: Zir.Inst.Index) Allocator.Error!void
const was_exported = decl.is_exported;
assert(decl.kind == kind); // ZIR tracking should preserve this
decl.name = decl_name;
- decl.src_node = decl_node;
+ decl.src_node = inst_data.src_node;
decl.src_line = line;
decl.is_pub = declaration.flags.is_pub;
decl.is_exported = declaration.flags.is_export;
break :decl_index .{ was_exported, decl_index };
} else decl_index: {
// Create and set up a new Decl.
- const new_decl_index = try zcu.allocateNewDecl(namespace_index, decl_node);
+ const new_decl_index = try zcu.allocateNewDecl(namespace_index, inst_data.src_node);
const new_decl = zcu.declPtr(new_decl_index);
new_decl.kind = kind;
new_decl.name = decl_name;