use crate::syntax::{SyntaxKind, SyntaxNode, SyntaxToken};
#[derive(Debug)]
pub struct PlainDocstring<'a>(pub(crate) &'a SyntaxNode);
impl<'a> PlainDocstring<'a> {
pub fn cast(node: &'a SyntaxNode) -> Option<Self> {
(node.kind() == SyntaxKind::PLAIN_DOCSTRING).then_some(Self(node))
}
pub fn syntax(&self) -> &'a SyntaxNode {
self.0
}
pub fn summary(&self) -> Option<&'a SyntaxToken> {
self.0.find_token(SyntaxKind::SUMMARY)
}
pub fn extended_summary(&self) -> Option<&'a SyntaxToken> {
self.0.find_token(SyntaxKind::EXTENDED_SUMMARY)
}
}