use crate::Span;
use serde::Serialize;
#[derive(Debug, Clone, Serialize)]
pub struct InlineTag {
pub name: String,
pub body: Option<String>,
pub span: Span,
}
#[derive(Debug, Clone, Serialize)]
pub enum TextSegment {
Text(String),
InlineTag(InlineTag),
}
#[derive(Debug, Clone, Serialize)]
pub struct PhpDocText {
pub segments: Vec<TextSegment>,
pub span: Span,
}
#[derive(Debug, Clone, Serialize)]
pub struct PhpDocTag {
pub name: String,
pub body: Option<PhpDocText>,
pub span: Span,
}
#[derive(Debug, Clone, Serialize)]
pub struct PhpDoc {
pub summary: Option<PhpDocText>,
pub description: Option<PhpDocText>,
pub tags: Vec<PhpDocTag>,
pub span: Span,
}