From 91efc5c98bb32f3b1d42895362d5ae5a175a1345 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 18 Dec 2024 16:43:14 -0800 Subject: wasm linker: fix calling imported functions and more disciplined type safety for output function indexes --- src/InternPool.zig | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/InternPool.zig') diff --git a/src/InternPool.zig b/src/InternPool.zig index 2a21be9bbe..a43c5a7d3a 100644 --- a/src/InternPool.zig +++ b/src/InternPool.zig @@ -620,6 +620,14 @@ pub const Nav = struct { }; } + /// Asserts that `status == .resolved`. + pub fn toExtern(nav: *const Nav, ip: *const InternPool) ?Key.Extern { + return switch (ip.indexToKey(nav.status.resolved.val)) { + .@"extern" => |ext| ext, + else => null, + }; + } + /// Asserts that `status == .resolved`. pub fn isThreadLocal(nav: Nav, ip: *const InternPool) bool { const val = nav.status.resolved.val; -- cgit v1.2.3