blob: f87e8a5e3c9b10b4908f1d26295bf980ed08e484 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
use std::{ fs::File, io::Write };
use proc_macro::TokenStream;
mod parse_fn;
#[proc_macro_attribute]
pub fn proving_entrypoint(_: TokenStream, mut item: TokenStream) -> TokenStream {
let (name, args, ret) = parse_fn::split_fn(&item);
// Put the file in zkVMs-benchmarks/guests/
let mut output = File::create("../type.txt").unwrap();
write!(output, "{}", args);
item.extend(format!("#[macro_export]
macro_rules! entrypoint_expr {{
() => {{
make_wrapper!{{{}{} -> {}}}
}};
}}", name, args, ret).parse::<TokenStream>());
item
}
|