@Documented @Retention(value=RUNTIME) @Target(value=METHOD) public static @interface Advice.OnMethodEnter
Indicates that this method should be inlined before the matched method is invoked. Any class must declare
at most one method with this annotation. The annotated method must be static. When instrumenting constructors,
the this
values can only be accessed for writing fields but not for reading fields or invoking methods.
The annotated method can return a value that is made accessible to another method annotated by Advice.OnMethodExit
.
Advice
,
Advice.Argument
,
Advice.This
Modifier and Type | Optional Element and Description |
---|---|
boolean |
inline
Determines if the annotated method should be inlined into the instrumented method or invoked from it.
|
boolean |
skipIfTrue
If set to
true , the instrumented method is skipped if the annotated advice method returns true . |
Class<? extends Throwable> |
suppress
Indicates that this advice should suppress any
Throwable type being thrown during the advice's execution. |
public abstract boolean inline
true
if the annotated method should be inlined into the instrumented method.public abstract boolean skipIfTrue
true
, the instrumented method is skipped if the annotated advice method returns true
. For this,
the annotated method must declare a return type boolean
. If this is not the case, an exception is thrown during
construction of an Advice
.true
if the instrumented method should be skipped if this advice method returns true
.Copyright © 2014–2016. All rights reserved.