Skip to main content

oxilean_codegen/cil_backend/
cilmethodref_traits.rs

1//! # CilMethodRef - Trait Implementations
2//!
3//! This module contains trait implementations for `CilMethodRef`.
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::CilMethodRef;
14use std::fmt;
15
16impl fmt::Display for CilMethodRef {
17    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18        let conv_str = self.call_conv.to_string();
19        if conv_str.is_empty() {
20            write!(
21                f,
22                "{} {}::{}(",
23                self.return_type, self.declaring_type, self.name
24            )?;
25        } else {
26            write!(
27                f,
28                "{} {} {}::{}(",
29                conv_str, self.return_type, self.declaring_type, self.name
30            )?;
31        }
32        for (i, p) in self.param_types.iter().enumerate() {
33            if i > 0 {
34                write!(f, ", ")?;
35            }
36            write!(f, "{}", p)?;
37        }
38        write!(f, ")")
39    }
40}