Skip to main content

oxilean_codegen/julia_backend/
juliaparam_traits.rs

1//! # JuliaParam - Trait Implementations
2//!
3//! This module contains trait implementations for `JuliaParam`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Display`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use super::functions::{emit_expr, emit_stmt_inline};
12use super::types::{JuliaExprDisplay, JuliaParam};
13use std::fmt;
14
15impl fmt::Display for JuliaParam {
16    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
17        write!(f, "{}", self.name)?;
18        if let Some(ref ty) = self.ty {
19            write!(f, "::{}", ty)?;
20        }
21        if self.is_splat {
22            write!(f, "...")?;
23        }
24        if let Some(ref default) = self.default {
25            write!(f, " = {}", JuliaExprDisplay(default))?;
26        }
27        Ok(())
28    }
29}