Skip to content

Commit

Permalink
Add example with loop
Browse files Browse the repository at this point in the history
  • Loading branch information
staktrace committed Aug 11, 2024
1 parent 7740d12 commit 81e0447
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions examples/loop.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
use std::env;
use std::fs::File;
use std::io::Read;

fn main() {
let mut class_data = Vec::new();
for arg in env::args().skip(1) {
let mut file = File::open(&arg).unwrap();
let mut bytes = Vec::new();
file.read_to_end(&mut bytes).unwrap();
class_data.push(bytes);
}

let results = {
let mut parsed = Vec::with_capacity(class_data.len());
for data in &class_data {
parsed.push(cafebabe::parse_class_with_options(
&data,
cafebabe::ParseOptions::default().parse_bytecode(true),
));
}
parsed
};

for result in results {
match result {
Ok(class) => println!("Successfully parsed {:?}\n{:#?}", class.this_class, class),
Err(e) => println!("Error: {}", e),
}
}
}

0 comments on commit 81e0447

Please sign in to comment.