#java #reader-writer #bytecode #asm #read #write #version

java_asm

Rust 中的 Java 字节码读取器和写入器

4 个版本

0.0.4 2024 年 5 月 10 日
0.0.3 2024 年 5 月 4 日
0.0.2 2024 年 5 月 4 日
0.0.1 2024 年 5 月 4 日

#731 in 开发工具

Apache-2.0

135KB
2.5K SLoC

java-asm

Crates.io Version

Java 字节码读取器和写入器,可能是 Rust 实现的 ASM

GitHub 上有一些类似的项目,但它们实际上没有实现所有 JVM 字节码格式,也没有在 Rust 中实现所有 ASM 节点/功能。因此,我想构建这个库来完全读取和写入 Java 字节码信息。

该项目支持比其他 Rust 实现更新的 Java 版本(目前为 Java 21)。目前仅支持 asm-tree API,不支持 visitor API,因为 Tree API 比visitor API 更容易使用。

当前阶段

  • 实现使用 JVMS 格式的 Java 类文件 读取
  • 实现使用 JVMS 格式的 Java 类文件 写入
  • [WIP] 实现 ASM 节点
  • [WIP] 实现 ASM 功能(例如,自动计算帧/栈等)

一些类似的项目

依赖项

~1.5MB
~36K SLoC