mirror of
https://github.com/swc-project/swc.git
synced 2024-12-23 05:32:09 +03:00
e1764f907b
* `struct Expr` + `enum ExprKind` -> `enum Expr` `Expr` / `ExprKind` approach does not work well with recursive processing based on the type system because we can't access common fields like span while processing child node like `MemberExpr`. As ast processing is inherently recursive, we should use a recursive-friendly approach. * `#[derive(FromVariants)]` It creates lots of `From<T>` to help using ast enums as a real sum type. * `#[derive(Spanned)]` Inspired by https://docs.rs/syn/0.12.13/syn/spanned/trait.Spanned.html It does not handle attributes yet. * Parser is not updated yet.
22 lines
438 B
TOML
22 lines
438 B
TOML
[package]
|
|
name = "ast_node"
|
|
version = "0.1.0"
|
|
authors = ["강동윤 <kdy1@outlook.kr>"]
|
|
|
|
[lib]
|
|
proc-macro = true
|
|
|
|
[dependencies]
|
|
swc_macros_common = { path = "../common" }
|
|
pmutil = "0.1"
|
|
proc-macro2 = { version = "0.2", features = ["nightly"] }
|
|
quote = "0.4"
|
|
|
|
[dependencies.syn]
|
|
version = "0.12"
|
|
features = ["derive", "fold", "parsing", "printing"]
|
|
|
|
|
|
[dev-dependencies]
|
|
swc_macros = { path = "../" }
|
|
swc_common = { path = "../../common" } |