ref: da5bfc6d15a50130afdcd37ed9af737a81724506
dir: /mparse/stab.myr/
use std use "types.use" use "tokdefs.use" use "tok.use" use "util.use" pkg parse = const setpkg : (f : file#, st : stab#, name : byte[:]-> void) const mkstab : (-> stab#) ;; const mkstab = { -> std.mk([ .super = `std.None, .name = "", .isfunc = false, .syms = std.mkht(stnamehash, stnameeq), .types = std.mkht(stnamehash, stnameeq), .impls = std.mkht(stnamehash, stnameeq), .env = std.mkht(stnamehash, stnameeq), ]) } const setpkg = {f, st, name if st.name.len != 0 std.fatal("package name already set for pkg {}\n", st.name) ;; st.name = name std.htput(f.ns, name, st) } const stnamehash = {n -> std.strhash(n.name) } const stnameeq = {a, b -> std.streq(a.name, b.name) }