Skip to main content

oxilean_codegen/kotlin_backend/
kotlinmodule_traits.rs

1//! # KotlinModule - Trait Implementations
2//!
3//! This module contains trait implementations for `KotlinModule`.
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::functions::KOTLIN_RUNTIME;
14use super::functions::{fmt_stmt, fmt_stmts};
15use super::types::KotlinModule;
16use std::fmt;
17
18impl fmt::Display for KotlinModule {
19    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
20        if !self.package.is_empty() {
21            writeln!(f, "package {}", self.package)?;
22            writeln!(f)?;
23        }
24        for import in &self.imports {
25            writeln!(f, "import {}", import)?;
26        }
27        if !self.imports.is_empty() {
28            writeln!(f)?;
29        }
30        writeln!(f, "{}", KOTLIN_RUNTIME)?;
31        for dc in &self.data_classes {
32            writeln!(f, "{}", dc)?;
33        }
34        for func in &self.funs {
35            writeln!(f, "{}", func)?;
36        }
37        Ok(())
38    }
39}