mirror of
https://github.com/swc-project/swc.git
synced 2024-12-18 11:11:30 +03:00
4cf58528df
swc_estree_ast: - Fix more serialization. swc_estree_compat: - Consider multi-byte characters. swc_webpack_ast: - Preserve LHS of assignments if required.
38 lines
839 B
Rust
38 lines
839 B
Rust
use crate::common::Loc;
|
|
use serde::{Deserialize, Serialize};
|
|
use swc_common::ast_serde;
|
|
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
|
pub enum CommentType {
|
|
#[serde(rename = "CommentLine")]
|
|
Line,
|
|
#[serde(rename = "CommentBlock")]
|
|
Block,
|
|
}
|
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
pub struct BaseComment {
|
|
#[serde(rename = "type")]
|
|
pub type_: CommentType,
|
|
pub value: String,
|
|
pub start: u32,
|
|
pub end: u32,
|
|
pub loc: Loc,
|
|
}
|
|
|
|
#[derive(Debug, Clone, PartialEq)]
|
|
#[ast_serde]
|
|
pub enum Comment {
|
|
#[tag("CommentBlock")]
|
|
Block(BaseComment),
|
|
#[tag("CommentLine")]
|
|
Line(BaseComment),
|
|
}
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
|
#[serde(rename_all = "lowercase")]
|
|
pub enum CommentTypeShorthand {
|
|
Leading,
|
|
Inner,
|
|
Trailing,
|
|
}
|