machine_check_common/iir/
variable.rs1use std::fmt::Debug;
2
3use serde::{Deserialize, Serialize};
4
5use crate::iir::{path::IIdent, ty::IGeneralType};
6
7#[derive(Clone, Copy, Hash, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
8pub struct IVarId(pub usize);
9
10#[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
11pub struct IVarInfo {
12 pub ident: IIdent,
13 pub ty: IGeneralType,
14}
15
16impl Debug for IVarId {
17 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18 write!(f, "#{}", self.0)
19 }
20}
21
22impl Debug for IVarInfo {
23 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
24 self.ident.fmt(f)?;
25 f.write_str(": ")?;
26 self.ty.fmt(f)
27 }
28}