oxilean_codegen/native_backend/
basicblock_traits.rs1use crate::lcnf::*;
12
13use super::types::BasicBlock;
14use std::fmt;
15
16impl fmt::Display for BasicBlock {
17 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18 write!(f, "{}:", self.label)?;
19 if !self.params.is_empty() {
20 write!(f, "(")?;
21 for (i, (r, ty)) in self.params.iter().enumerate() {
22 if i > 0 {
23 write!(f, ", ")?;
24 }
25 write!(f, "{}: {}", r, ty)?;
26 }
27 write!(f, ")")?;
28 }
29 writeln!(f)?;
30 for inst in &self.instructions {
31 writeln!(f, " {:?}", inst)?;
32 }
33 if let Some(term) = &self.terminator {
34 writeln!(f, " {:?}", term)?;
35 }
36 Ok(())
37 }
38}