use super::*;
use crate::svd::{Cluster, Register};
use crate::svd::RegisterCluster;
impl Parse for RegisterCluster {
type Object = Self;
type Error = SVDErrorAt;
type Config = Config;
fn parse(tree: &Node, config: &Self::Config) -> Result<Self, Self::Error> {
match tree.tag_name().name() {
"register" => Register::parse(tree, config).map(Into::into),
"cluster" => Cluster::parse(tree, config).map(Into::into),
_ => Err(
SVDError::InvalidRegisterCluster(tree.tag_name().name().to_string()).at(tree.id()),
),
}
}
}