mirror of
https://github.com/zeek/zeek.git
synced 2025-10-09 01:58:20 +00:00
additional converters and accessors for Expr subclasses
This commit is contained in:
parent
64eb229880
commit
9b549e4034
3 changed files with 48 additions and 0 deletions
|
@ -25,6 +25,12 @@ ConstExpr* Expr::AsConstExpr()
|
|||
return (ConstExpr*) this;
|
||||
}
|
||||
|
||||
const FieldExpr* Expr::AsFieldExpr() const
|
||||
{
|
||||
CHECK_TAG(tag, EXPR_FIELD, "ExprVal::AsFieldExpr", expr_name)
|
||||
return (const FieldExpr*) this;
|
||||
}
|
||||
|
||||
FieldExpr* Expr::AsFieldExpr()
|
||||
{
|
||||
CHECK_TAG(tag, EXPR_FIELD, "ExprVal::AsFieldExpr", expr_name)
|
||||
|
@ -37,6 +43,30 @@ IntrusivePtr<FieldAssignExpr> Expr::AsFieldAssignExprPtr()
|
|||
return {NewRef{}, (FieldAssignExpr*) this};
|
||||
}
|
||||
|
||||
const IndexAssignExpr* Expr::AsIndexAssignExpr() const
|
||||
{
|
||||
CHECK_TAG(tag, EXPR_INDEX_ASSIGN, "ExprVal::AsIndexAssignExpr", expr_name)
|
||||
return (const IndexAssignExpr*) this;
|
||||
}
|
||||
|
||||
const FieldLHSAssignExpr* Expr::AsFieldLHSAssignExpr() const
|
||||
{
|
||||
CHECK_TAG(tag, EXPR_FIELD_LHS_ASSIGN, "ExprVal::AsFieldLHSAssignExpr", expr_name)
|
||||
return (const FieldLHSAssignExpr*) this;
|
||||
}
|
||||
|
||||
const HasFieldExpr* Expr::AsHasFieldExpr() const
|
||||
{
|
||||
CHECK_TAG(tag, EXPR_HAS_FIELD, "ExprVal::AsHasFieldExpr", expr_name)
|
||||
return (const HasFieldExpr*) this;
|
||||
}
|
||||
|
||||
const AddToExpr* Expr::AsAddToExpr() const
|
||||
{
|
||||
CHECK_TAG(tag, EXPR_ADD_TO, "ExprVal::AsAddToExpr", expr_name)
|
||||
return (const AddToExpr*) this;
|
||||
}
|
||||
|
||||
ExprPtr Expr::GetOp1() const { return nullptr; }
|
||||
ExprPtr Expr::GetOp2() const { return nullptr; }
|
||||
ExprPtr Expr::GetOp3() const { return nullptr; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue