use crate::doc_parts::*;
pub(crate) struct DocChunkMod<'a, 'd> {
mod_path: &'a syn::Path,
chunk: &'a DocChunk<'d>,
is_root: bool,
}
impl<'a, 'd> DocChunkMod<'a, 'd> {
pub fn new_root(mod_path: &'a syn::Path, chunk: &'a DocChunk<'d>) -> Self {
Self {
chunk,
mod_path,
is_root: true,
}
}
pub fn new_sub(mod_path: &'a syn::Path, chunk: &'a DocChunk<'d>) -> Self {
Self {
chunk,
mod_path,
is_root: false,
}
}
pub fn is_root(&self) -> bool {
self.is_root
}
pub fn mod_path(&self) -> &'a syn::Path {
self.mod_path
}
pub fn mod_id(&self) -> &'a syn::Ident {
&self.mod_path.segments.last().unwrap().ident
}
pub fn chunk(&self) -> &'a DocChunk<'d> {
self.chunk
}
}