protected static class Advice.MetaDataHandler.Default.WithStackSizeComputation extends Advice.MetaDataHandler.Default
Modifier and Type | Class and Description |
---|---|
protected class |
Advice.MetaDataHandler.Default.WithStackSizeComputation.ForAdvice
A meta data handler for an advice method that records size requirements.
|
Advice.MetaDataHandler.Default.TranslationMode, Advice.MetaDataHandler.Default.WithoutStackSizeComputation, Advice.MetaDataHandler.Default.WithStackSizeComputation
Advice.MetaDataHandler.Default, Advice.MetaDataHandler.ForInstrumentedMethod, Advice.MetaDataHandler.NoOp
instrumentedMethod, requiredTypes, yieldedTypes
UNDEFINED_SIZE
Modifier | Constructor and Description |
---|---|
protected |
WithStackSizeComputation(MethodDescription.InDefinedShape instrumentedMethod,
List<? extends TypeDescription> requiredTypes,
List<? extends TypeDescription> yieldedTypes,
boolean expandFrames)
Creates a new default meta data handler that recomputes the space requirements of an instrumented method.
|
Modifier and Type | Method and Description |
---|---|
protected Advice.MetaDataHandler.Default.ForAdvice |
bind(MethodDescription.InDefinedShape methodDescription,
TypeList requiredTypes,
List<? extends TypeDescription> yieldedTypes,
Advice.MetaDataHandler.Default.TranslationMode translationMode)
Binds the given advice method to an appropriate meta data handler.
|
int |
compoundLocalVariableLength(int localVariableLength)
Computes a compound local variable array length for the advice and the translated instrumented method.
|
int |
compoundStackSize(int stackSize)
Computes a compound stack size for the advice and the translated instrumented method.
|
String |
toString() |
bindEntry, bindExit, getReaderHint, injectCompletionFrame, injectFullFrame, injectHandlerFrame, of, toFrame, translateFrame, translateFrame
protected WithStackSizeComputation(MethodDescription.InDefinedShape instrumentedMethod, List<? extends TypeDescription> requiredTypes, List<? extends TypeDescription> yieldedTypes, boolean expandFrames)
instrumentedMethod
- The instrumented method.requiredTypes
- The types this meta data handler expects to be available additionally to the instrumented method's parameters.yieldedTypes
- The types that are expected to be added after the instrumented method returns.expandFrames
- true
if this meta data handler is expected to expand its written frames.public int compoundStackSize(int stackSize)
Advice.MetaDataHandler.ForInstrumentedMethod
stackSize
- The required stack size of the instrumented method before translation.public int compoundLocalVariableLength(int localVariableLength)
Advice.MetaDataHandler.ForInstrumentedMethod
localVariableLength
- The required local variable array length of the instrumented method before translation.protected Advice.MetaDataHandler.Default.ForAdvice bind(MethodDescription.InDefinedShape methodDescription, TypeList requiredTypes, List<? extends TypeDescription> yieldedTypes, Advice.MetaDataHandler.Default.TranslationMode translationMode)
Advice.MetaDataHandler.Default
bind
in class Advice.MetaDataHandler.Default
methodDescription
- The advice method.requiredTypes
- The expected types that the advice method requires additionally to the instrumented method's parameters.yieldedTypes
- The types this advice method yields as additional parameters.translationMode
- The translation mode to apply for this advice.Copyright © 2014–2016. All rights reserved.