Push an fblock with all parameters including fb_datum
(
&mut self,
fb_type: FBlockType,
fb_block: BlockIdx,
fb_exit: BlockIdx,
fb_datum: FBlockDatum,
)
| 1469 | |
| 1470 | /// Push an fblock with all parameters including fb_datum |
| 1471 | fn push_fblock_full( |
| 1472 | &mut self, |
| 1473 | fb_type: FBlockType, |
| 1474 | fb_block: BlockIdx, |
| 1475 | fb_exit: BlockIdx, |
| 1476 | fb_datum: FBlockDatum, |
| 1477 | ) -> CompileResult<()> { |
| 1478 | let code = self.current_code_info(); |
| 1479 | if code.fblock.len() >= MAXBLOCKS { |
| 1480 | return Err(self.error(CodegenErrorType::SyntaxError( |
| 1481 | "too many statically nested blocks".to_owned(), |
| 1482 | ))); |
| 1483 | } |
| 1484 | code.fblock.push(FBlockInfo { |
| 1485 | fb_type, |
| 1486 | fb_block, |
| 1487 | fb_exit, |
| 1488 | fb_datum, |
| 1489 | }); |
| 1490 | Ok(()) |
| 1491 | } |
| 1492 | |
| 1493 | /// Pop an fblock |
| 1494 | // = compiler_pop_fblock |
no test coverage detected