The*_*ect 1 java field modifier
我正在使用 ASM 编写 Java 类文件分析器。我想要确定的一件事是类中字段的修饰符(public、static、final?)是什么。但我不知道该怎么做。
在文档中,我找到了修饰符的操作码,它似乎与 FieldNode 类的 acces 值相关。但我不明白如何从该值中导出字段的修饰符。
有什么建议么?
访问成员变量是一个位域,每个位位置对应一个特定的访问修饰符。要检查位,您必须使用二进制 AND 和常量 fromOpcodes并检查结果是否不为零。例如:
boolean isPublic = (node.access & Opcodes.ACC_PUBLIC) != 0;
boolean isStatic = (node.access & Opcodes.ACC_STATIC) != 0;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
775 次 |
| 最近记录: |