3

我想开始使用 Java ASM 来转换我的项目中的类 - 向String某些方法添加一个参数并使用该参数发送日志。

在我读过的asm网站上

如果要实现类转换器,编写两个Java源文件(转换前后),并使用ASMifier模式下插件的比较视图来比较等效的ASM代码。

但是我发现使用 Java ASM 非常困难。有没有可以生成的工具class transformer?这将非常有用!

4

2 回答 2

3

看看ASMifier类。这可用于生成代码以创建字节码。http://asm.ow2.org/doc/tutorial.html

您可能会发现其他工具(例如 Javassist 或 BCEL)更容易完成简单任务。

于 2012-08-14T09:49:41.593 回答
1

如果您使用的是 Eclipse,则应该安装Bytecode Outline - 它调用 ASMifier(Peter Lawry在另一个答案中提到)并提供可以检查每个类或方法的视图。

编辑(从我下面的评论中复制)
要获得您需要的变压器,请按照以下步骤操作:编写示例方法,复制代码以创建它(您可以通过单击带有“ASM”的图标获得),更改其来源转换成你想要的样子,复制它的输出,把它们放在一个 diff 程序中(我喜欢并推荐Diffuse)。查看 ASM 代码中的变化,将其应用到您的 ASM 转换器中。

于 2012-08-22T12:52:26.597 回答