mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
fix for ZBody traversal
This commit is contained in:
parent
3dbaa141ec
commit
9b32d3f494
2 changed files with 9 additions and 5 deletions
|
@ -522,11 +522,10 @@ void ProfileFunc::TrackID(const ID* id) {
|
||||||
// Already tracked.
|
// Already tracked.
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ( id->IsGlobal() )
|
if ( id->IsGlobal() ) {
|
||||||
{
|
globals.insert(id);
|
||||||
globals.insert(id);
|
all_globals.insert(id);
|
||||||
all_globals.insert(id);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
ordered_ids.push_back(id);
|
ordered_ids.push_back(id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -591,6 +591,11 @@ TraversalCode ZBody::Traverse(TraversalCallback* cb) const {
|
||||||
TraversalCode tc = cb->PreStmt(this);
|
TraversalCode tc = cb->PreStmt(this);
|
||||||
HANDLE_TC_STMT_PRE(tc);
|
HANDLE_TC_STMT_PRE(tc);
|
||||||
|
|
||||||
|
for ( auto& gi : globals ) {
|
||||||
|
tc = gi.id->Traverse(cb);
|
||||||
|
HANDLE_TC_STMT_PRE(tc);
|
||||||
|
}
|
||||||
|
|
||||||
for ( size_t i = 0; i < NumInsts(); ++i ) {
|
for ( size_t i = 0; i < NumInsts(); ++i ) {
|
||||||
tc = insts[i].Traverse(cb);
|
tc = insts[i].Traverse(cb);
|
||||||
HANDLE_TC_STMT_PRE(tc);
|
HANDLE_TC_STMT_PRE(tc);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue