use serde_derive::{Deserialize, Serialize}; pub(crate) type Node = clang_ast::Node; #[derive(Deserialize, Serialize)] pub(crate) enum Clang { NamespaceDecl(NamespaceDecl), EnumDecl(EnumDecl), EnumConstantDecl(EnumConstantDecl), ImplicitCastExpr, ConstantExpr(ConstantExpr), Unknown, } #[derive(Deserialize, Serialize)] pub(crate) struct NamespaceDecl { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option>, } #[derive(Deserialize, Serialize)] pub(crate) struct EnumDecl { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option>, #[serde( rename = "fixedUnderlyingType", skip_serializing_if = "Option::is_none" )] pub fixed_underlying_type: Option, } #[derive(Deserialize, Serialize)] pub(crate) struct EnumConstantDecl { pub name: Box, } #[derive(Deserialize, Serialize)] pub(crate) struct ConstantExpr { pub value: Box, } #[derive(Deserialize, Serialize)] pub(crate) struct Type { #[serde(rename = "qualType")] pub qual_type: Box, #[serde(rename = "desugaredQualType", skip_serializing_if = "Option::is_none")] pub desugared_qual_type: Option>, } #[cfg(all(test, target_pointer_width = "64"))] const _: [(); core::mem::size_of::()] = [(); 88];