Factor out full macro
diff --git a/codegen/src/visit.rs b/codegen/src/visit.rs
index c13e95d..b16130e 100644
--- a/codegen/src/visit.rs
+++ b/codegen/src/visit.rs
@@ -1,4 +1,4 @@
-use crate::file;
+use crate::{file, full};
use quote::quote;
use syn_codegen as types;
@@ -329,29 +329,7 @@
codegen::generate(&mut state, &s, defs);
}
- let full_macro = quote! {
- #[cfg(feature = "full")]
- macro_rules! full {
- ($e:expr) => {
- $e
- };
- }
-
- #[cfg(all(feature = "derive", not(feature = "full")))]
- macro_rules! full {
- ($e:expr) => {
- unreachable!()
- };
- }
- };
-
- let skip_macro = quote! {
- #[cfg(any(feature = "full", feature = "derive"))]
- macro_rules! skip {
- ($($tt:tt)*) => {};
- }
- };
-
+ let full_macro = full::get_macro();
let visit_trait = state.visit_trait;
let visit_impl = state.visit_impl;
file::write(
@@ -367,7 +345,11 @@
use gen::helper::visit::*;
#full_macro
- #skip_macro
+
+ #[cfg(any(feature = "full", feature = "derive"))]
+ macro_rules! skip {
+ ($($tt:tt)*) => {};
+ }
/// Syntax tree traversal to walk a shared borrow of a syntax tree.
///