derive_getters/extract.rs
1//! Common functions
2
3use syn::{Data, DataStruct, DeriveInput, Error, Result};
4
5use crate::faultmsg::{Problem, StructIs};
6
7pub fn named_struct(node: &DeriveInput) -> Result<&DataStruct> {
8 match node.data {
9 Data::Struct(ref structure) => Ok(structure),
10 Data::Enum(_) => Err(Error::new_spanned(
11 node,
12 Problem::NotNamedStruct(StructIs::Enum),
13 )),
14 Data::Union(_) => Err(Error::new_spanned(
15 node,
16 Problem::NotNamedStruct(StructIs::Union),
17 )),
18 }
19}