StackAnalyser

[!INFO] Git Commit: 7808254 | Updated: 2026-10-02

属性 值
类名 codechicken.multipart.asm.StackAnalyser
类型 object + class StackAnalyser(owner, m) + StackEntry / LocalEntry,321 行
启用版本 Minecraft 1.7.10
抽象解释器式的方法体分析:在把方法搬进生成类之前,先跟踪它的
局部变量表与操作数栈,才能正确重映射指令。

关键点

  • 栈元素分类:Load / Store / Const / GetField / Invoke / BinaryOp / UnaryOp / Cast / PrimitiveCast / New / NewArray / NewMultiArray / ArrayLoad / ArrayLength / ReturnAddress / CaughtException / This。
  • StackEntry / LocalEntry:栈帧与局部变量槽的抽象表示。
  • StackEntry 以 implicit val insn: AbstractInsnNode 绑定来源指令。
  • 状态异常抛 IllegalStateException。
  • CaughtException 支持 try-catch 块的栈恢复。

相关条目