问题描述
我“在”intercept()
的DynamicType.Builder
方法中,正好在method()
方法中匹配了一个方法之后。例如:
builder
.method(elementMatcher)
.intercept(/* here I am! */)
出于各种原因,我需要匹配的 MethodDescription
在 intercept()
调用的“内部”可用。有什么食谱可以给我吗?
我想我可能会为此滥用 ElementMatchers#cached(ElementMatcher,ConcurrentMap)
,但我强调“滥用”。 ?
解决方法
intercept 方法接受一个 Implementation
,而后者又返回一个 ByteCodeAppender
。后者接受检测方法作为参数。您可以使用 Implementation.Simple
直接提供字节码附加程序。