Java Classfile Parser

LICENSE Rust Crates.io Version

A parser for Java Classfiles, written in Rust using nom.

Installation

Classfile Parser is available from crates.io and can be included in your Cargo enabled project like this:

toml [dependencies] classfile-parser = "~0.3"

Usage

```rust extern crate classfile_parser;

use classfileparser::classparser;

fn main() { let classfilebytes = includebytes!("../path/to/JavaClass.class");

match class_parser(classfile_bytes) {
    Ok((_, class_file)) => {
        println!(
            "version {},{} \
             const_pool({}), \
             this=const[{}], \
             super=const[{}], \
             interfaces({}), \
             fields({}), \
             methods({}), \
             attributes({}), \
             access({:?})",
            class_file.major_version,
            class_file.minor_version,
            class_file.const_pool_size,
            class_file.this_class,
            class_file.super_class,
            class_file.interfaces_count,
            class_file.fields_count,
            class_file.methods_count,
            class_file.attributes_count,
            class_file.access_flags
        );
    }
    Err(_) => panic!("Failed to parse"),
};

} ```

Implementation Status