codegen_discover/
codegen_discover.rs1use gemstone_rs::{codegen, Config, Session};
9
10fn main() -> codegen::Result<()> {
11 let mut session = Session::login(Config::from_env()?)?;
12 let class_ref = codegen::ClassRef::parse("Object").expect("Object is a valid class reference");
13 let output = std::env::temp_dir()
14 .join(format!("gemstone-rs-discovered-{}", std::process::id()))
15 .join("gemstone_wrappers.rs");
16
17 let config = codegen::discover(&mut session, output, &[class_ref])?;
18 println!("discovered config:\n{}", codegen::config_source(&config));
19 println!("discovered classes: {}", config.classes.len());
20 println!(
21 "first class method count: {}",
22 config
23 .classes
24 .first()
25 .map_or(0, |class| class.methods.len())
26 );
27
28 Ok(())
29}