mirror of
https://github.com/zeek/zeek.git
synced 2025-10-07 17:18:20 +00:00
removing now-vestigial "add" and "delete" statements
This commit is contained in:
parent
37c1f6641c
commit
0aaf83e299
3 changed files with 0 additions and 83 deletions
45
src/Stmt.cc
45
src/Stmt.cc
|
@ -39,8 +39,6 @@ const char* stmt_name(StmtTag t) {
|
||||||
"next",
|
"next",
|
||||||
"break",
|
"break",
|
||||||
"return",
|
"return",
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"list",
|
"list",
|
||||||
"bodylist",
|
"bodylist",
|
||||||
"<init>",
|
"<init>",
|
||||||
|
@ -904,49 +902,6 @@ TraversalCode SwitchStmt::Traverse(TraversalCallback* cb) const {
|
||||||
HANDLE_TC_STMT_POST(tc);
|
HANDLE_TC_STMT_POST(tc);
|
||||||
}
|
}
|
||||||
|
|
||||||
AddDelStmt::AddDelStmt(StmtTag t, ExprPtr arg_e) : ExprStmt(t, std::move(arg_e)) {}
|
|
||||||
|
|
||||||
bool AddDelStmt::IsPure() const { return false; }
|
|
||||||
|
|
||||||
TraversalCode AddDelStmt::Traverse(TraversalCallback* cb) const {
|
|
||||||
TraversalCode tc = cb->PreStmt(this);
|
|
||||||
HANDLE_TC_STMT_PRE(tc);
|
|
||||||
|
|
||||||
// Argument is stored in base class's "e" field.
|
|
||||||
tc = e->Traverse(cb);
|
|
||||||
HANDLE_TC_STMT_PRE(tc);
|
|
||||||
|
|
||||||
tc = cb->PostStmt(this);
|
|
||||||
HANDLE_TC_STMT_POST(tc);
|
|
||||||
}
|
|
||||||
|
|
||||||
AddStmt::AddStmt(ExprPtr arg_e) : AddDelStmt(STMT_ADD, std::move(arg_e)) {
|
|
||||||
if ( ! e->CanAdd() )
|
|
||||||
Error("illegal add statement");
|
|
||||||
}
|
|
||||||
|
|
||||||
ValPtr AddStmt::Exec(Frame* f, StmtFlowType& flow) {
|
|
||||||
RegisterAccess();
|
|
||||||
flow = FLOW_NEXT;
|
|
||||||
e->Add(f);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
DelStmt::DelStmt(ExprPtr arg_e) : AddDelStmt(STMT_DELETE, std::move(arg_e)) {
|
|
||||||
if ( e->IsError() )
|
|
||||||
return;
|
|
||||||
|
|
||||||
if ( ! e->CanDel() )
|
|
||||||
Error("illegal delete statement");
|
|
||||||
}
|
|
||||||
|
|
||||||
ValPtr DelStmt::Exec(Frame* f, StmtFlowType& flow) {
|
|
||||||
RegisterAccess();
|
|
||||||
flow = FLOW_NEXT;
|
|
||||||
e->Delete(f);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
EventStmt::EventStmt(EventExprPtr arg_e) : ExprStmt(STMT_EVENT, arg_e), event_expr(std::move(arg_e)) {}
|
EventStmt::EventStmt(EventExprPtr arg_e) : ExprStmt(STMT_EVENT, arg_e), event_expr(std::move(arg_e)) {}
|
||||||
|
|
||||||
ValPtr EventStmt::Exec(Frame* f, StmtFlowType& flow) {
|
ValPtr EventStmt::Exec(Frame* f, StmtFlowType& flow) {
|
||||||
|
|
36
src/Stmt.h
36
src/Stmt.h
|
@ -228,42 +228,6 @@ protected:
|
||||||
std::vector<std::pair<ID*, int>> case_label_type_list;
|
std::vector<std::pair<ID*, int>> case_label_type_list;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Helper class. Added for script optimization, but it makes sense
|
|
||||||
// in terms of factoring even without.
|
|
||||||
class AddDelStmt : public ExprStmt {
|
|
||||||
public:
|
|
||||||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
|
||||||
|
|
||||||
bool IsPure() const override;
|
|
||||||
|
|
||||||
// Optimization-related:
|
|
||||||
StmtPtr DoReduce(Reducer* c) override;
|
|
||||||
bool IsReduced(Reducer* c) const override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
AddDelStmt(StmtTag t, ExprPtr arg_e);
|
|
||||||
};
|
|
||||||
|
|
||||||
class AddStmt final : public AddDelStmt {
|
|
||||||
public:
|
|
||||||
explicit AddStmt(ExprPtr e);
|
|
||||||
|
|
||||||
ValPtr Exec(Frame* f, StmtFlowType& flow) override;
|
|
||||||
|
|
||||||
// Optimization-related:
|
|
||||||
StmtPtr Duplicate() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
class DelStmt final : public AddDelStmt {
|
|
||||||
public:
|
|
||||||
explicit DelStmt(ExprPtr e);
|
|
||||||
|
|
||||||
ValPtr Exec(Frame* f, StmtFlowType& flow) override;
|
|
||||||
|
|
||||||
// Optimization-related:
|
|
||||||
StmtPtr Duplicate() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
class EventStmt final : public ExprStmt {
|
class EventStmt final : public ExprStmt {
|
||||||
public:
|
public:
|
||||||
explicit EventStmt(EventExprPtr e);
|
explicit EventStmt(EventExprPtr e);
|
||||||
|
|
|
@ -18,8 +18,6 @@ enum StmtTag {
|
||||||
STMT_NEXT,
|
STMT_NEXT,
|
||||||
STMT_BREAK,
|
STMT_BREAK,
|
||||||
STMT_RETURN,
|
STMT_RETURN,
|
||||||
STMT_ADD,
|
|
||||||
STMT_DELETE,
|
|
||||||
STMT_LIST,
|
STMT_LIST,
|
||||||
STMT_EVENT_BODY_LIST,
|
STMT_EVENT_BODY_LIST,
|
||||||
STMT_INIT,
|
STMT_INIT,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue