parsers: delete now-unused generate_element_enum macro
This commit is contained in:
parent
6afd0ef52f
commit
5c3ed1435f
1 changed files with 0 additions and 62 deletions
|
|
@ -278,68 +278,6 @@ macro_rules! generate_attribute {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
macro_rules! generate_element_enum {
|
|
||||||
($(#[$meta:meta])* $elem:ident, $name:tt, $ns:ident, {$($(#[$enum_meta:meta])* $enum:ident => $enum_name:tt),+$(,)?}) => (
|
|
||||||
$(#[$meta])*
|
|
||||||
#[derive(Debug, Clone, PartialEq)]
|
|
||||||
pub enum $elem {
|
|
||||||
$(
|
|
||||||
$(#[$enum_meta])*
|
|
||||||
$enum
|
|
||||||
),+
|
|
||||||
}
|
|
||||||
impl ::std::convert::TryFrom<minidom::Element> for $elem {
|
|
||||||
type Error = xso::error::FromElementError;
|
|
||||||
fn try_from(elem: minidom::Element) -> Result<$elem, xso::error::FromElementError> {
|
|
||||||
check_ns_only!(elem, $name, $ns);
|
|
||||||
check_no_children!(elem, $name);
|
|
||||||
check_no_attributes!(elem, $name);
|
|
||||||
Ok(match elem.name() {
|
|
||||||
$($enum_name => $elem::$enum,)+
|
|
||||||
_ => return Err(xso::error::Error::Other(concat!("This is not a ", $name, " element.")).into()),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl ::xso::FromXml for $elem {
|
|
||||||
type Builder = ::xso::minidom_compat::FromEventsViaElement<$elem>;
|
|
||||||
|
|
||||||
fn from_events(
|
|
||||||
qname: ::xso::exports::rxml::QName,
|
|
||||||
attrs: ::xso::exports::rxml::AttrMap,
|
|
||||||
) -> Result<Self::Builder, ::xso::error::FromEventsError> {
|
|
||||||
if qname.0 != crate::ns::$ns || qname.1 != $name {
|
|
||||||
return Err(::xso::error::FromEventsError::Mismatch {
|
|
||||||
name: qname,
|
|
||||||
attrs,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
Self::Builder::new(qname, attrs)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl From<$elem> for minidom::Element {
|
|
||||||
fn from(elem: $elem) -> minidom::Element {
|
|
||||||
minidom::Element::builder(
|
|
||||||
match elem {
|
|
||||||
$($elem::$enum => $enum_name,)+
|
|
||||||
},
|
|
||||||
crate::ns::$ns,
|
|
||||||
)
|
|
||||||
.build()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl ::xso::AsXml for $elem {
|
|
||||||
type ItemIter<'x> = ::xso::minidom_compat::AsItemsViaElement<'x>;
|
|
||||||
|
|
||||||
fn as_xml_iter(&self) -> Result<Self::ItemIter<'_>, ::xso::error::Error> {
|
|
||||||
::xso::minidom_compat::AsItemsViaElement::new(self.clone())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
macro_rules! generate_attribute_enum {
|
macro_rules! generate_attribute_enum {
|
||||||
($(#[$meta:meta])* $elem:ident, $name:tt, $ns:ident, $attr:tt, {$($(#[$enum_meta:meta])* $enum:ident => $enum_name:tt),+$(,)?}) => (
|
($(#[$meta:meta])* $elem:ident, $name:tt, $ns:ident, $attr:tt, {$($(#[$enum_meta:meta])* $enum:ident => $enum_name:tt),+$(,)?}) => (
|
||||||
$(#[$meta])*
|
$(#[$meta])*
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue