ASM ClassVisitor中visitSource的debug参数可以接收哪些值?

时间:2013-08-06 14:47:33

标签: java java-bytecode-asm

asm的ClassVisitor中的visitCode方法接受一个类型为String的调试参数

public final void visitSource(final String file, final String debug)

根据JavaDoc

  

debug - 用于计算对应关系的其他调试信息   在类的源代码和编译元素之间。可能是null。

我不相信我曾经见过这个除了零之外还有一个值。

在什么样的环境下,这个值会被填充?

它包含的数据是什么样的?

1 个答案:

答案 0 :(得分:1)

debug值进入SourceDebugExtension类文件属性。您可以在JSR-045中找到其内容的完整说明。

通常它用于支持调试编译成Java类的非Java源代码,例如JSP。如果我没有弄错的话,JRuby在生成Java类时也会填充它。