kotlin_poet_rs/spec/
member_inheritance_modifier.rs1use crate::io::RenderKotlin;
2use crate::spec::CodeBlock;
3use crate::tokens;
4
5#[derive(Debug, Clone)]
7pub enum MemberInheritanceModifier {
8 Open,
10 Final,
12 Abstract,
14}
15
16impl RenderKotlin for MemberInheritanceModifier {
17 fn render_into(&self, block: &mut CodeBlock) {
18 let text = match self {
19 MemberInheritanceModifier::Open => tokens::keyword::OPEN,
20 MemberInheritanceModifier::Final => tokens::keyword::FINAL,
21 MemberInheritanceModifier::Abstract => tokens::keyword::ABSTRACT
22 };
23
24 block.push_atom(text);
25 }
26}
27
28#[cfg(test)]
29mod tests {
30 use crate::io::RenderKotlin;
31 use crate::spec::MemberInheritanceModifier;
32
33 #[test]
34 fn test_render() {
35 assert_eq!(MemberInheritanceModifier::Open.render_string(), "open");
36 assert_eq!(MemberInheritanceModifier::Final.render_string(), "final");
37 assert_eq!(MemberInheritanceModifier::Abstract.render_string(), "abstract");
38 }
39}