# 开发计划 ## TODO - [ ] 🔴 封装常用的逻辑,删除一些不必要的逻辑 ## 基本信息 - [x] 获取文件基本信息 - [x] 获取所有的类名 - [x] 获取所有的方法名 - [ ] 获取所有的方法签名 - Proto - [ ] 获取所有的字段名 - [x] 获取所有的字符串 - [x] 字符串都存放在 MethodStringLiteralRegionIndex 中;排除方法、字面量数组后,剩下的都是字符串(有的解析失败了。) ## 工具端 封装一个命令行工具,用于解析某个文件 - [x] 新建一个 crate ? 使用 workspace ? - [ ] 显示文件的基本信息,什么样的信息? - [x] 显示所有的类名 - [x] 显示所有的方法名 - [x] 显示所有的字符串 - [ ] 显示所有的字段名 - [ ] 显示所有的字面量? ## 其他 - [x] 添加日志工具 - [x] 删除不必要的打印 - [x] 工具如何通过 cargo install 安装呢? - [ ] 库发布到 cargo ## 字节码解析 ### 指令解析 - [ ] 模块加载指令 - [ ] 解析字段,Field - [ ] TryBlock - [ ] TryCatch ### 字节码转代码 - 待调研 - IR? - LLVM? ## FFI - 提供 Python 调用