总结下ASM的ClassReader和ClassWriter的Flag值
最近在研究Asm和javaclass字节码相关的东西 但是对于ClassWriter 构造方法的flag值和ClassReader的accept方法的flag值 有些模糊和混淆 于此做个总结用以加强我的印象和分享
ClassReader
accpet方法 org.objectweb.asm.ClassReader#accept(org.objectweb.asm.ClassVisitor, int)
第二个参数是 一个flag值 可为 中随意搭配和组合
- ClassReader.EXPAND_FRAMES
- ClassReader.SKIP_DEBUG
- ClassReader.SKIP_CODE
- ClassReader.SKIP_FRAMES
ClassReader.EXPAND_FRAMES
展开 StackMapTable 属性
ClassReader.SKIP_DEBUG
跳过类文件中的调试信息,比如行号(LineNumberTable)等
ClassReader.SKIP_CODE
跳过方法体中的code属性 (方法字节码