Port skip, skip while and skip until commands (#380)

* Add `Skip` command

* Add `SkipUntil` sub-command

* Add `SkipWhile` sub-command

* Add and use `Expression::as_row_condition_block`
This commit is contained in:
Arthur Targaryen
2021-11-29 07:52:23 +01:00
committed by GitHub
parent ee239a0d37
commit bab8f6bd28
10 changed files with 300 additions and 26 deletions

View File

@ -53,6 +53,13 @@ impl Expression {
}
}
pub fn as_row_condition_block(&self) -> Option<BlockId> {
match self.expr {
Expr::RowCondition(block_id) => Some(block_id),
_ => None,
}
}
pub fn as_signature(&self) -> Option<Box<Signature>> {
match &self.expr {
Expr::Signature(sig) => Some(sig.clone()),