diff options
Diffstat (limited to 'src/InternPool.zig')
| -rw-r--r-- | src/InternPool.zig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/InternPool.zig b/src/InternPool.zig index 2a21be9bbe..a43c5a7d3a 100644 --- a/src/InternPool.zig +++ b/src/InternPool.zig @@ -621,6 +621,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; if (!isVariable(ip, val)) return false; |
