Crates.io | ka-pi |
lib.rs | ka-pi |
version | 0.2.0 |
source | src |
created_at | 2023-02-08 17:48:13.633839 |
updated_at | 2023-07-29 16:40:59.30489 |
description | A JVM Bytecode Manipulation Framework inspired by ASM. |
homepage | |
repository | https://github.com/ChAoSUnItY/Ka-Pi/ |
max_upload_size | |
id | 780024 |
size | 6,612,538 |
Ka-Pi, known as coffee pronounced in Min Nan, which has multiple usages and an indispensable place in not only modern society, but also computer science.
Ka-Pi offers several essential modules relates to JVM ecosystem:
cfsp
- A general purpose class file parser that transform class file into nodes described in
The Java® Virtual Machine Specification Java SE 20 EditionTo parse a class file using cfsp
, you'll need to enable feature cfsp
first:
ka_pi = { version = "...", features = ["cfsp"] }
Then, you'll be able to use class file parser in your own project:
# use std::fs::File;
# use cfsp::parse::{to_class, ParsingOption};
# fn main() {
let mut file = File::open("Main.class").unwrap();
let class = to_class(&mut file, ParsingOption::default().parse_attribute()).unwrap();
println!("{:?}", class);
# }
There are other related jvm projects developed by me may help the production of JVM projects along with Ka-Pi:
Kyle Lin (ChAoS-UnItY)
Copyright © 2023, Kyle Lin (ChAoS-UnItY). Released under the MIT License.