mirror of
https://github.com/zeek/zeek.git
synced 2025-10-04 23:58:20 +00:00
Use type aliases for IntrusivePtr definitions
This commit is contained in:
parent
f6a251cdac
commit
ec9eff0bd5
180 changed files with 2026 additions and 1893 deletions
124
src/Stmt.h
124
src/Stmt.h
|
@ -23,13 +23,19 @@ class ForStmt;
|
|||
class EventExpr;
|
||||
class ListExpr;
|
||||
|
||||
using EventExprPtr = zeek::IntrusivePtr<EventExpr>;
|
||||
using ListExprPtr = zeek::IntrusivePtr<ListExpr>;
|
||||
|
||||
class Stmt;
|
||||
using StmtPtr = zeek::IntrusivePtr<Stmt>;
|
||||
|
||||
class Stmt : public BroObj {
|
||||
public:
|
||||
BroStmtTag Tag() const { return tag; }
|
||||
|
||||
~Stmt() override;
|
||||
|
||||
virtual zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const = 0;
|
||||
virtual ValPtr Exec(Frame* f, stmt_flow_type& flow) const = 0;
|
||||
|
||||
Stmt* Ref() { ::Ref(this); return this; }
|
||||
|
||||
|
@ -93,17 +99,17 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
ExprListStmt(BroStmtTag t, zeek::IntrusivePtr<ListExpr> arg_l);
|
||||
ExprListStmt(BroStmtTag t, ListExprPtr arg_l);
|
||||
|
||||
~ExprListStmt() override;
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
virtual zeek::IntrusivePtr<Val> DoExec(std::vector<zeek::IntrusivePtr<Val>> vals,
|
||||
stmt_flow_type& flow) const = 0;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
virtual ValPtr DoExec(std::vector<ValPtr> vals,
|
||||
stmt_flow_type& flow) const = 0;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
||||
zeek::IntrusivePtr<ListExpr> l;
|
||||
ListExprPtr l;
|
||||
};
|
||||
|
||||
class PrintStmt final : public ExprListStmt {
|
||||
|
@ -112,16 +118,16 @@ public:
|
|||
explicit PrintStmt(L&& l) : ExprListStmt(STMT_PRINT, std::forward<L>(l)) { }
|
||||
|
||||
protected:
|
||||
zeek::IntrusivePtr<Val> DoExec(std::vector<zeek::IntrusivePtr<Val>> vals,
|
||||
stmt_flow_type& flow) const override;
|
||||
ValPtr DoExec(std::vector<ValPtr> vals,
|
||||
stmt_flow_type& flow) const override;
|
||||
};
|
||||
|
||||
class ExprStmt : public Stmt {
|
||||
public:
|
||||
explicit ExprStmt(zeek::IntrusivePtr<Expr> e);
|
||||
explicit ExprStmt(ExprPtr e);
|
||||
~ExprStmt() override;
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
|
||||
const Expr* StmtExpr() const { return e.get(); }
|
||||
|
||||
|
@ -130,18 +136,18 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
ExprStmt(BroStmtTag t, zeek::IntrusivePtr<Expr> e);
|
||||
ExprStmt(BroStmtTag t, ExprPtr e);
|
||||
|
||||
virtual zeek::IntrusivePtr<Val> DoExec(Frame* f, Val* v, stmt_flow_type& flow) const;
|
||||
virtual ValPtr DoExec(Frame* f, Val* v, stmt_flow_type& flow) const;
|
||||
|
||||
bool IsPure() const override;
|
||||
|
||||
zeek::IntrusivePtr<Expr> e;
|
||||
ExprPtr e;
|
||||
};
|
||||
|
||||
class IfStmt final : public ExprStmt {
|
||||
public:
|
||||
IfStmt(zeek::IntrusivePtr<Expr> test, zeek::IntrusivePtr<Stmt> s1, zeek::IntrusivePtr<Stmt> s2);
|
||||
IfStmt(ExprPtr test, StmtPtr s1, StmtPtr s2);
|
||||
~IfStmt() override;
|
||||
|
||||
const Stmt* TrueBranch() const { return s1.get(); }
|
||||
|
@ -152,16 +158,16 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
zeek::IntrusivePtr<Val> DoExec(Frame* f, Val* v, stmt_flow_type& flow) const override;
|
||||
ValPtr DoExec(Frame* f, Val* v, stmt_flow_type& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
zeek::IntrusivePtr<Stmt> s1;
|
||||
zeek::IntrusivePtr<Stmt> s2;
|
||||
StmtPtr s1;
|
||||
StmtPtr s2;
|
||||
};
|
||||
|
||||
class Case final : public BroObj {
|
||||
public:
|
||||
Case(zeek::IntrusivePtr<ListExpr> c, id_list* types, zeek::IntrusivePtr<Stmt> arg_s);
|
||||
Case(ListExprPtr c, id_list* types, StmtPtr arg_s);
|
||||
~Case() override;
|
||||
|
||||
const ListExpr* ExprCases() const { return expr_cases.get(); }
|
||||
|
@ -178,16 +184,16 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const;
|
||||
|
||||
protected:
|
||||
zeek::IntrusivePtr<ListExpr> expr_cases;
|
||||
ListExprPtr expr_cases;
|
||||
id_list* type_cases;
|
||||
zeek::IntrusivePtr<Stmt> s;
|
||||
StmtPtr s;
|
||||
};
|
||||
|
||||
using case_list = PList<Case>;
|
||||
|
||||
class SwitchStmt final : public ExprStmt {
|
||||
public:
|
||||
SwitchStmt(zeek::IntrusivePtr<Expr> index, case_list* cases);
|
||||
SwitchStmt(ExprPtr index, case_list* cases);
|
||||
~SwitchStmt() override;
|
||||
|
||||
const case_list* Cases() const { return cases; }
|
||||
|
@ -197,7 +203,7 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
zeek::IntrusivePtr<Val> DoExec(Frame* f, Val* v, stmt_flow_type& flow) const override;
|
||||
ValPtr DoExec(Frame* f, Val* v, stmt_flow_type& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
// Initialize composite hash and case label map.
|
||||
|
@ -228,40 +234,40 @@ protected:
|
|||
|
||||
class AddStmt final : public ExprStmt {
|
||||
public:
|
||||
explicit AddStmt(zeek::IntrusivePtr<Expr> e);
|
||||
explicit AddStmt(ExprPtr e);
|
||||
|
||||
bool IsPure() const override;
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
|
||||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
};
|
||||
|
||||
class DelStmt final : public ExprStmt {
|
||||
public:
|
||||
explicit DelStmt(zeek::IntrusivePtr<Expr> e);
|
||||
explicit DelStmt(ExprPtr e);
|
||||
|
||||
bool IsPure() const override;
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
|
||||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
};
|
||||
|
||||
class EventStmt final : public ExprStmt {
|
||||
public:
|
||||
explicit EventStmt(zeek::IntrusivePtr<EventExpr> e);
|
||||
explicit EventStmt(EventExprPtr e);
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
|
||||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
zeek::IntrusivePtr<EventExpr> event_expr;
|
||||
EventExprPtr event_expr;
|
||||
};
|
||||
|
||||
class WhileStmt final : public Stmt {
|
||||
public:
|
||||
|
||||
WhileStmt(zeek::IntrusivePtr<Expr> loop_condition, zeek::IntrusivePtr<Stmt> body);
|
||||
WhileStmt(ExprPtr loop_condition, StmtPtr body);
|
||||
~WhileStmt() override;
|
||||
|
||||
bool IsPure() const override;
|
||||
|
@ -271,20 +277,20 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
|
||||
zeek::IntrusivePtr<Expr> loop_condition;
|
||||
zeek::IntrusivePtr<Stmt> body;
|
||||
ExprPtr loop_condition;
|
||||
StmtPtr body;
|
||||
};
|
||||
|
||||
class ForStmt final : public ExprStmt {
|
||||
public:
|
||||
ForStmt(id_list* loop_vars, zeek::IntrusivePtr<Expr> loop_expr);
|
||||
ForStmt(id_list* loop_vars, ExprPtr loop_expr);
|
||||
// Special constructor for key value for loop.
|
||||
ForStmt(id_list* loop_vars, zeek::IntrusivePtr<Expr> loop_expr, zeek::IntrusivePtr<ID> val_var);
|
||||
ForStmt(id_list* loop_vars, ExprPtr loop_expr, IDPtr val_var);
|
||||
~ForStmt() override;
|
||||
|
||||
void AddBody(zeek::IntrusivePtr<Stmt> arg_body) { body = std::move(arg_body); }
|
||||
void AddBody(StmtPtr arg_body) { body = std::move(arg_body); }
|
||||
|
||||
const id_list* LoopVar() const { return loop_vars; }
|
||||
const Expr* LoopExpr() const { return e.get(); }
|
||||
|
@ -297,20 +303,20 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
zeek::IntrusivePtr<Val> DoExec(Frame* f, Val* v, stmt_flow_type& flow) const override;
|
||||
ValPtr DoExec(Frame* f, Val* v, stmt_flow_type& flow) const override;
|
||||
|
||||
id_list* loop_vars;
|
||||
zeek::IntrusivePtr<Stmt> body;
|
||||
StmtPtr body;
|
||||
// Stores the value variable being used for a key value for loop.
|
||||
// Always set to nullptr unless special constructor is called.
|
||||
zeek::IntrusivePtr<ID> value_var;
|
||||
IDPtr value_var;
|
||||
};
|
||||
|
||||
class NextStmt final : public Stmt {
|
||||
public:
|
||||
NextStmt() : Stmt(STMT_NEXT) { }
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
@ -324,7 +330,7 @@ class BreakStmt final : public Stmt {
|
|||
public:
|
||||
BreakStmt() : Stmt(STMT_BREAK) { }
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
@ -338,7 +344,7 @@ class FallthroughStmt final : public Stmt {
|
|||
public:
|
||||
FallthroughStmt() : Stmt(STMT_FALLTHROUGH) { }
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
@ -350,9 +356,9 @@ protected:
|
|||
|
||||
class ReturnStmt final : public ExprStmt {
|
||||
public:
|
||||
explicit ReturnStmt(zeek::IntrusivePtr<Expr> e);
|
||||
explicit ReturnStmt(ExprPtr e);
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
};
|
||||
|
@ -362,7 +368,7 @@ public:
|
|||
StmtList();
|
||||
~StmtList() override;
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
|
||||
const stmt_list& Stmts() const { return stmts; }
|
||||
stmt_list& Stmts() { return stmts; }
|
||||
|
@ -382,7 +388,7 @@ public:
|
|||
EventBodyList() : StmtList()
|
||||
{ topmost = false; tag = STMT_EVENT_BODY_LIST; }
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
||||
|
@ -396,11 +402,11 @@ protected:
|
|||
|
||||
class InitStmt final : public Stmt {
|
||||
public:
|
||||
explicit InitStmt(std::vector<zeek::IntrusivePtr<ID>> arg_inits);
|
||||
explicit InitStmt(std::vector<IDPtr> arg_inits);
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
|
||||
const std::vector<zeek::IntrusivePtr<ID>>& Inits() const
|
||||
const std::vector<IDPtr>& Inits() const
|
||||
{ return inits; }
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
@ -408,14 +414,14 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
std::vector<zeek::IntrusivePtr<ID>> inits;
|
||||
std::vector<IDPtr> inits;
|
||||
};
|
||||
|
||||
class NullStmt final : public Stmt {
|
||||
public:
|
||||
NullStmt() : Stmt(STMT_NULL) { }
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
@ -426,12 +432,12 @@ public:
|
|||
class WhenStmt final : public Stmt {
|
||||
public:
|
||||
// s2 is null if no timeout block given.
|
||||
WhenStmt(zeek::IntrusivePtr<Expr> cond,
|
||||
zeek::IntrusivePtr<Stmt> s1, zeek::IntrusivePtr<Stmt> s2,
|
||||
zeek::IntrusivePtr<Expr> timeout, bool is_return);
|
||||
WhenStmt(ExprPtr cond,
|
||||
StmtPtr s1, StmtPtr s2,
|
||||
ExprPtr timeout, bool is_return);
|
||||
~WhenStmt() override;
|
||||
|
||||
zeek::IntrusivePtr<Val> Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
const Expr* Cond() const { return cond.get(); }
|
||||
|
@ -444,10 +450,10 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
zeek::IntrusivePtr<Expr> cond;
|
||||
zeek::IntrusivePtr<Stmt> s1;
|
||||
zeek::IntrusivePtr<Stmt> s2;
|
||||
zeek::IntrusivePtr<Expr> timeout;
|
||||
ExprPtr cond;
|
||||
StmtPtr s1;
|
||||
StmtPtr s2;
|
||||
ExprPtr timeout;
|
||||
bool is_return;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue