基于方法字节码的ByteBuddy ElementMatcher
ByteBuddy ElementMatcher based on method byte codes
虽然 ByteBuddy 有一个非常好的 API 我想知道它是否适合我的用例,或者我是否应该更好地坚持使用低级 ASM。
我需要的可能是某种 ElementMatcher
,它会 return 匹配,以防方法包含特定的可配置字节代码(例如 PUTSTATIC
)。对于所有匹配的方法,我想在方法的开头加入额外的代码。
作为解决方法,我当然可以使用 ASM 预先扫描字节码,建立一些元数据,然后使用 ByteBuddy 根据分析结果编织额外的代码(我正在使用 ASM 做的事情)现在也是)。
虽然看起来不太好。有没有更短的方法来做这样的事情?
Byte Buddy 使用 TypeDescription
s 和 MethodDescription
s 进行操作,它们可以表示已加载的 Class
或 Method
或表示已解析的 class 文件。因此,Byte Buddy 没有很好的方法知道一个方法包含什么字节码。
对于byte-code级别的操作,我一般推荐使用字节好友为此公开的ASM AsmVisitorWrapper
API.
虽然 ByteBuddy 有一个非常好的 API 我想知道它是否适合我的用例,或者我是否应该更好地坚持使用低级 ASM。
我需要的可能是某种 ElementMatcher
,它会 return 匹配,以防方法包含特定的可配置字节代码(例如 PUTSTATIC
)。对于所有匹配的方法,我想在方法的开头加入额外的代码。
作为解决方法,我当然可以使用 ASM 预先扫描字节码,建立一些元数据,然后使用 ByteBuddy 根据分析结果编织额外的代码(我正在使用 ASM 做的事情)现在也是)。
虽然看起来不太好。有没有更短的方法来做这样的事情?
Byte Buddy 使用 TypeDescription
s 和 MethodDescription
s 进行操作,它们可以表示已加载的 Class
或 Method
或表示已解析的 class 文件。因此,Byte Buddy 没有很好的方法知道一个方法包含什么字节码。
对于byte-code级别的操作,我一般推荐使用字节好友为此公开的ASM AsmVisitorWrapper
API.