aboutsummaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/src/lib.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/macros/src/lib.rs b/macros/src/lib.rs
index 441d6b5e..736289cb 100644
--- a/macros/src/lib.rs
+++ b/macros/src/lib.rs
@@ -4,6 +4,8 @@
extern crate proc_macro;
use proc_macro::TokenStream;
+use std::{fs, path::Path};
+
use syn::parse_macro_input;
mod analyze;
@@ -304,5 +306,12 @@ pub fn app(args: TokenStream, input: TokenStream) -> TokenStream {
let analysis = analyze::app(&app);
// Code generation
- codegen::app(&input.ident, &app, &analysis).into()
+ let ts = codegen::app(&input.ident, &app, &analysis);
+
+ // Try to write the expanded code to disk
+ if Path::new("target").exists() {
+ fs::write("target/rtfm-expansion.rs", ts.to_string()).ok();
+ }
+
+ ts.into()
}