大概整个方法体都被处理并转换为InsnList
包含一堆AbstractInsnNode
s 以及一些非字节码节点(如FrameNode
、LineNumberNode
等)的方法体。XXXNode 类 javadoc 通常包含一些有用的信息(例如,哪些操作码映射到此 XXXNode)但映射似乎并不完整,所以我不完全确定在所有情况下会发生什么:
WIDE
字节码会发生什么?它会自动折叠到下一条指令中吗?大概是这样,但我找不到任何明确说明的内容- 是否所有 Ldc 指令 (
LDC
,LDC_2
,LDC_2W
) 都映射到 LdcInsnNodes?大概是这样,但文档没有说
一般来说,有没有方便的java字节码-> ASM类的映射?我正在对 java 字节码序列(即方法体)进行一些处理,并想检查我可能收到的所有字节码(大约 200 个左右)是否映射到我正在正确处理的 ASM 数据结构。