Deduplicate and update codegen doc comment
diff --git a/codegen/src/main.rs b/codegen/src/main.rs
index 98dd59c..d29a28c 100644
--- a/codegen/src/main.rs
+++ b/codegen/src/main.rs
@@ -1,14 +1,13 @@
-//! This crate automatically generates the definition of the `Visit`,
-//! `VisitMut`, and `Fold` traits in `syn` based on the `syn` source. It
-//! discovers structs and enums declared with the `ast_*` macros and generates
-//! the functions for those types.
-//!
-//! It makes a few assumptions about the target crate:
-//! 1. All structs which are discovered must be re-exported in the root of the
-//! crate, even if they were declared in a submodule.
-//! 2. This code cannot discover submodules which are located in subdirectories
-//! - only submodules located in the same directory.
-//! 3. The path to `syn` is hardcoded.
+// This crate crawls the Syn source directory to find all structs and enums that
+// form the Syn syntax tree.
+//
+// A machine-readable representation of the syntax tree is saved to syn.json in
+// the repo root for other code generation tools to consume. The syn-codegen
+// crate (https://docs.rs/syn-codegen/) provides the data structures for parsing
+// and making use of syn.json from Rust code.
+//
+// Finally this crate generates the Visit, VisitMut, and Fold traits in Syn
+// programmatically from the syntax tree description.
#![recursion_limit = "128"]
#![allow(clippy::needless_pass_by_value)]
@@ -20,6 +19,6 @@
fn main() {
let defs = parse::parse();
- gen::generate(&defs);
json::generate(&defs);
+ gen::generate(&defs);
}