aboutsummaryrefslogtreecommitdiff
path: root/src/InternPool.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/InternPool.zig')
-rw-r--r--src/InternPool.zig8
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;