mirror of
https://github.com/zeek/zeek.git
synced 2025-10-11 19:18:19 +00:00
add/delete expressions working w/ interpreter
This commit is contained in:
parent
2c46d3139c
commit
905ed55389
6 changed files with 153 additions and 44 deletions
|
@ -723,6 +723,30 @@ ExprPtr AddExpr::BuildSub(const ExprPtr& op1, const ExprPtr& op2) {
|
|||
return with_location_of(make_intrusive<SubExpr>(op1, rhs), this);
|
||||
}
|
||||
|
||||
ExprPtr AggrAddExpr::Duplicate() { return SetSucc(new AggrAddExpr(op->Duplicate())); }
|
||||
|
||||
ExprPtr AggrAddExpr::Reduce(Reducer* c, StmtPtr& red_stmt) {
|
||||
if ( c->Optimizing() ) {
|
||||
op = c->OptExpr(op);
|
||||
return ThisPtr();
|
||||
}
|
||||
|
||||
red_stmt = op->ReduceToSingletons(c);
|
||||
return ThisPtr();
|
||||
}
|
||||
|
||||
ExprPtr AggrDelExpr::Duplicate() { return SetSucc(new AggrDelExpr(op->Duplicate())); }
|
||||
|
||||
ExprPtr AggrDelExpr::Reduce(Reducer* c, StmtPtr& red_stmt) {
|
||||
if ( c->Optimizing() ) {
|
||||
op = c->OptExpr(op);
|
||||
return ThisPtr();
|
||||
}
|
||||
|
||||
red_stmt = op->ReduceToSingletons(c);
|
||||
return ThisPtr();
|
||||
}
|
||||
|
||||
ExprPtr AddToExpr::Duplicate() {
|
||||
auto op1_d = op1->Duplicate();
|
||||
auto op2_d = op2->Duplicate();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue