oxilean_codegen/kotlin_backend/
kotlinmodule_traits.rs1use 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}