use super::CodeType;
#[derive(Debug)]
pub struct ExternalCodeType {
    name: String,
}
impl ExternalCodeType {
    pub fn new(name: String) -> Self {
        ExternalCodeType { name }
    }
}
impl CodeType for ExternalCodeType {
    fn type_label(&self) -> String {
        super::SwiftCodeOracle.class_name(&self.name)
    }
    fn canonical_name(&self) -> String {
        format!("Type{}", self.name)
    }
    fn lower(&self) -> String {
        format!("{}_lower", self.ffi_converter_name())
    }
    fn lift(&self) -> String {
        format!("{}_lift", self.ffi_converter_name())
    }
}