diff --git a/src/ScriptCoverageManager.cc b/src/ScriptCoverageManager.cc index 0d4ef128a3..3ca486298b 100644 --- a/src/ScriptCoverageManager.cc +++ b/src/ScriptCoverageManager.cc @@ -11,6 +11,7 @@ #include "zeek/Desc.h" #include "zeek/Reporter.h" #include "zeek/Type.h" +#include "zeek/script_opt/ScriptOpt.h" using namespace std; @@ -21,7 +22,7 @@ ScriptCoverageManager::ScriptCoverageManager() : ignoring(0), delim('\t') { } void ScriptCoverageManager::AddStmt(Stmt* s) { - if ( ignoring != 0 ) + if ( ignoring != 0 || analysis_options.gen_ZAM ) return; stmts.emplace_back(NewRef{}, s); @@ -29,6 +30,9 @@ void ScriptCoverageManager::AddStmt(Stmt* s) void ScriptCoverageManager::AddFunction(IDPtr func_id, StmtPtr body) { + if ( analysis_options.gen_ZAM ) + return; + func_instances.emplace_back(func_id, body); } diff --git a/src/Var.cc b/src/Var.cc index ef5a53ebad..848f834ffb 100644 --- a/src/Var.cc +++ b/src/Var.cc @@ -845,7 +845,8 @@ void end_func(StmtPtr body, const char* module_name, bool free_of_conditionals) id->GetVal()->AsFunc()->AddBody(*ingredients); - script_coverage_mgr.AddFunction(id, ingredients->Body()); + if ( ! analysis_options.gen_ZAM ) + script_coverage_mgr.AddFunction(id, ingredients->Body()); auto func_ptr = cast_intrusive(id->GetVal())->AsFuncPtr(); auto func = cast_intrusive(func_ptr);