use std::collections::BTreeSet;
use serde::Deserialize;
use serde::Serialize;
use self::yul::Yul;
pub mod yul;
#[derive(Debug, Serialize, Deserialize, Clone)]
#[allow(clippy::upper_case_acronyms)]
pub enum IR {
Yul(Yul),
}
impl IR {
pub fn drain_factory_dependencies(&mut self) -> BTreeSet<String> {
match self {
IR::Yul(ref mut yul) => yul.object.factory_dependencies.drain().collect(),
}
}
pub fn get_missing_libraries(&self) -> BTreeSet<String> {
match self {
Self::Yul(inner) => inner.get_missing_libraries(),
}
}
}
impl From<Yul> for IR {
fn from(inner: Yul) -> Self {
Self::Yul(inner)
}
}