2

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

List<InnerClassNode> list = myClassNode.innerClasses

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

4

1 回答 1

1

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

于 2013-10-30T19:48:44.943 回答