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
//! Variant in an enum use super::{Loc, RpEnumOrdinal, RpName}; #[derive(Debug, Clone, Serialize)] pub struct RpVariant { pub name: RpName, pub ident: Loc<String>, pub comment: Vec<String>, pub ordinal: RpEnumOrdinal, } impl RpVariant { /// Get the identifier of the variant. pub fn ident(&self) -> &str { self.ident.as_str() } /// Get the ordinal value of the variant. pub fn ordinal(&self) -> &str { use self::RpEnumOrdinal::*; match self.ordinal { String(ref string) => string.as_str(), Generated => self.ident(), } } }