aboutsummaryrefslogtreecommitdiff
path: root/src/Module.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-03-31 19:07:05 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-04-01 00:17:02 -0700
commit87179d91a76470eb5e09d4e070063a2021c7f176 (patch)
tree681783fb3f0ce3123f0e4b7cc07592e3256d19d8 /src/Module.zig
parentb45c6c757cb4a16f5021c8bf057d14183036f14c (diff)
downloadzig-87179d91a76470eb5e09d4e070063a2021c7f176.tar.gz
zig-87179d91a76470eb5e09d4e070063a2021c7f176.zip
stage2: hook up Sema to the progress bar
Diffstat (limited to 'src/Module.zig')
-rw-r--r--src/Module.zig5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Module.zig b/src/Module.zig
index 1fd83108ff..154c7426d2 100644
--- a/src/Module.zig
+++ b/src/Module.zig
@@ -42,6 +42,7 @@ root_pkg: *Package,
/// Normally, `main_pkg` and `root_pkg` are the same. The exception is `zig test`, in which
/// `root_pkg` is the test runner, and `main_pkg` is the user's source file which has the tests.
main_pkg: *Package,
+sema_prog_node: std.Progress.Node = undefined,
/// Used by AstGen worker to load and store ZIR cache.
global_zir_cache: Compilation.Directory,
@@ -3517,6 +3518,10 @@ pub fn ensureDeclAnalyzed(mod: *Module, decl: *Decl) SemaError!void {
.unreferenced => false,
};
+ var decl_prog_node = mod.sema_prog_node.start(mem.sliceTo(decl.name, 0), 0);
+ decl_prog_node.activate();
+ defer decl_prog_node.end();
+
const type_changed = mod.semaDecl(decl) catch |err| switch (err) {
error.AnalysisFail => {
if (decl.analysis == .in_progress) {