exit

@Advice.OnMethodExit(onThrowable = Throwable::class)
open fun exit(slot: Int, key: String, @Advice.This(optional = true) self: Any, @Advice.AllArguments args: Array<Any>, @Advice.Return(typing = Assigner.Typing.DYNAMIC) returned: Any, @Advice.Thrown thrown: Throwable)

The inlined @OnMethodExit body: forward the fired patch to fireExit.

Parameters

slot

the registry slot, bound as a constant at weave time (see PatchSlot)

key

the patch key, bound as a constant at weave time (see PatchKey)

self

the receiver, or null for a static method

args

the argument slots as they stand at exit, boxed — the body may have reassigned them

returned

the return value, boxed; null for void and meaningless when thrown is non-null

thrown

the exception leaving the method, or null on a normal return