Skip to main content

oxilean_codegen/ffi_bridge/
ffifuncparam_traits.rs

1//! # FfiFuncParam - Trait Implementations
2//!
3//! This module contains trait implementations for `FfiFuncParam`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Display`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use crate::lcnf::*;
12
13use super::types::FfiFuncParam;
14use std::fmt;
15
16impl std::fmt::Display for FfiFuncParam {
17    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18        let attrs: Vec<String> = self.attrs.iter().map(|a| a.to_string()).collect();
19        if self.is_vararg {
20            write!(f, "...")
21        } else if attrs.is_empty() {
22            write!(f, "{} {}", self.ffi_type, self.name)
23        } else {
24            write!(f, "{} {} {}", attrs.join(" "), self.ffi_type, self.name)
25        }
26    }
27}