migrated some raw pointers to smart pointers

This commit is contained in:
Vern Paxson 2023-07-07 18:29:45 -07:00
parent c23ee30542
commit 1b2cd0c767
14 changed files with 74 additions and 113 deletions

View file

@ -576,12 +576,12 @@ static StmtTag get_last_stmt_tag(const Stmt* stmt)
return stmt->Tag();
const StmtList* stmts = stmt->AsStmtList();
int len = stmts->Stmts().length();
auto len = stmts->Stmts().size();
if ( len == 0 )
return STMT_LIST;
return get_last_stmt_tag(stmts->Stmts()[len - 1]);
return get_last_stmt_tag(stmts->Stmts()[len - 1].get());
}
class FallthroughFinder : public TraversalCallback
@ -1668,26 +1668,19 @@ void ReturnStmt::StmtDescribe(ODesc* d) const
DescribeDone(d);
}
StmtList::StmtList() : Stmt(STMT_LIST)
{
stmts = new StmtPList;
}
StmtList::StmtList() : Stmt(STMT_LIST) { }
StmtList::~StmtList()
{
for ( const auto& stmt : Stmts() )
Unref(stmt);
delete stmts;
}
StmtList::~StmtList() { }
ValPtr StmtList::Exec(Frame* f, StmtFlowType& flow)
{
RegisterAccess();
flow = FLOW_NEXT;
for ( const auto& stmt : Stmts() )
for ( const auto& stmt_ptr : Stmts() )
{
auto stmt = stmt_ptr.get();
f->SetNextStmt(stmt);
if ( ! pre_execute_stmt(stmt, f) )
@ -1720,10 +1713,10 @@ void StmtList::StmtDescribe(ODesc* d) const
if ( ! d->IsReadable() )
{
AddTag(d);
d->AddCount(stmts->length());
d->AddCount(stmts.size());
}
if ( stmts->length() == 0 )
if ( stmts.empty() )
DescribeDone(d);
else
@ -2209,7 +2202,7 @@ void WhenInfo::BuildInvokeElems()
invoke_timeout = make_intrusive<ListExpr>(three_const);
}
WhenStmt::WhenStmt(WhenInfo* arg_wi) : Stmt(STMT_WHEN), wi(arg_wi)
WhenStmt::WhenStmt(std::shared_ptr<WhenInfo> arg_wi) : Stmt(STMT_WHEN), wi(std::move(arg_wi))
{
wi->Build(ThisPtr());
@ -2231,11 +2224,6 @@ WhenStmt::WhenStmt(WhenInfo* arg_wi) : Stmt(STMT_WHEN), wi(arg_wi)
}
}
WhenStmt::~WhenStmt()
{
delete wi;
}
ValPtr WhenStmt::Exec(Frame* f, StmtFlowType& flow)
{
RegisterAccess();