1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
mod jclass; mod jmethod; mod jvariable; mod generatable; pub use self::jclass::*; pub use self::jmethod::*; pub use self::jvariable::*; pub use self::generatable::Generatable; use std::fmt::Display; use std::fmt::Formatter; use std::fmt::Error; #[derive(Debug, PartialEq)] pub enum JPrimitive { Boolean, Byte, Char, Short, Int, Long, Float, Double, } #[derive(Debug, PartialEq)] pub enum JType { Void, Primitive(JPrimitive), Class(String), } pub enum JAccessModifier { Default, Private, Protected, Public, } impl Display for JPrimitive { fn fmt(&self, f: &mut Formatter) -> Result<(), Error> { write!(f, "{}", match self { JPrimitive::Boolean => "boolean".to_string(), JPrimitive::Byte => "byte".to_string(), JPrimitive::Char => "char".to_string(), JPrimitive::Short => "short".to_string(), JPrimitive::Int => "int".to_string(), JPrimitive::Long => "long".to_string(), JPrimitive::Float => "float".to_string(), JPrimitive::Double => "double".to_string(), }) } } impl Display for JType { fn fmt(&self, f: &mut Formatter) -> Result<(), Error> { write!(f, "{}", match self { JType::Void => "void".to_string(), JType::Primitive(t) => t.to_string(), JType::Class(c) => c.clone(), }) } } impl Display for JAccessModifier { fn fmt(&self, f: &mut Formatter) -> Result<(), Error> { write!(f, "{}", match self { JAccessModifier::Default => "".to_string(), JAccessModifier::Private => "private".to_string(), JAccessModifier::Protected => "protected".to_string(), JAccessModifier::Public => "public".to_string(), }) } }