svd_parser/
registercluster.rs

1use super::*;
2use crate::svd::{Cluster, Register};
3
4use crate::svd::RegisterCluster;
5impl Parse for RegisterCluster {
6    type Object = Self;
7    type Error = SVDErrorAt;
8    type Config = Config;
9
10    fn parse(tree: &Node, config: &Self::Config) -> Result<Self, Self::Error> {
11        match tree.tag_name().name() {
12            "register" => Register::parse(tree, config).map(Into::into),
13            "cluster" => Cluster::parse(tree, config).map(Into::into),
14            _ => Err(
15                SVDError::InvalidRegisterCluster(tree.tag_name().name().to_string()).at(tree.id()),
16            ),
17        }
18    }
19}