【问题标题】:Access the methods of an InnerClassNode using java and ASM使用 java 和 ASM 访问 InnerClassNode 的方法
【发布时间】:2013-10-06 20:08:56
【问题描述】:

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

List<InnerClassNode> list = myClassNode.innerClasses

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

【问题讨论】:

    标签: java inner-classes java-bytecode-asm


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-05
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多