@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 |
prependLineNumber
If set to
true , the instrumented method's line number information is adjusted such that stack traces generated within
this advice method appear as if they were generated within the first line of the instrumented method. |
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
.public abstract boolean prependLineNumber
true
, the instrumented method's line number information is adjusted such that stack traces generated within
this advice method appear as if they were generated within the first line of the instrumented method. If set to false
,
no line number information is made available for such stack traces.true
if this advice code should appear as if it was added within the first line of the instrumented method.Copyright © 2014–2016. All rights reserved.