gpt4 book ai didi

java - 使用 java 和 ASM 访问 InnerClassNode 的方法

转载 作者:行者123 更新时间:2023-11-30 11:27:44 25 4
gpt4 key购买 nike

我正在尝试使用 ASM 访问内部类的方法、字段等。为此,我将父类视为 ClassNode 并存储

List<InnerClassNode> list = myClassNode.innerClasses

然后我遍历此列表并尝试从每个 InnerClassNode 获取我想要的信息。事情是这样的。查看官方的 ASM API 文档, InnerClassNode 类没有扩展 ClassNode 类。事实上,似乎没有办法获得有关内部类的任何真正有用的信息。由于这是对我来说显而易见的获取有关 ClassNode“内部”类的信息的唯一方法,所以不可能获取有关内部类的信息吗?

最佳答案

InnerClassNode和相应的ClassVisitor.visitInnerClass方法简单地反射(reflect)存储在类字节码的 InnerClasses_attribute 中的信息,它描述了内部类和当前类之间的关系(例如类名、外部类名和访问标志)。要获取有关内部类的信息,您需要单独加载它,基本上与加载外部类的方式相同。

关于java - 使用 java 和 ASM 访问 InnerClassNode 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19213391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com