Package | Description |
---|---|
net.bytebuddy.agent.builder |
An agent builder is used to easily implement load-time class-transformations using a Java agent.
|
net.bytebuddy.asm |
The ASM package contains classes that are meant for direct interaction with the ASM API.
|
net.bytebuddy.implementation |
The implementation package contains any logic for intercepting method calls.
|
net.bytebuddy.implementation.auxiliary |
Auxiliary types describe helper types that aid as a supplementary to a given
InstrumentedType . |
net.bytebuddy.implementation.bind |
The types and classes of this package are responsible for binding a method call to calling another method.
|
net.bytebuddy.implementation.bind.annotation |
This package contains annotations, types and classes that are responsible for binding a method to calling another
method by interpreting annotations that indicate how a method should be bound to another method.
|
net.bytebuddy.implementation.bytecode.assign |
An
Assigner is responsible for transforming
a given TypeDescription into another one. |
net.bytebuddy.implementation.bytecode.assign.primitive |
Assigner implementations of this package
are capable of handling primitive types or the void type. |
net.bytebuddy.implementation.bytecode.assign.reference |
Assigner implementations of this package
are capable of assigning non-primitive types to each other. |
Modifier and Type | Method and Description |
---|---|
AgentBuilder.Transformer.ForAdvice |
AgentBuilder.Transformer.ForAdvice.with(Assigner assigner)
Registers an assigner to be used by the advice class.
|
Constructor and Description |
---|
ForAdvice(Advice.WithCustomMapping advice,
Advice.ExceptionHandler exceptionHandler,
Assigner assigner,
ClassFileLocator classFileLocator,
AgentBuilder.PoolStrategy poolStrategy,
AgentBuilder.LocationStrategy locationStrategy,
List<AgentBuilder.Transformer.ForAdvice.Entry> entries)
Creates a new advice transformer.
|
Modifier and Type | Field and Description |
---|---|
protected Assigner |
Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.assigner
The assigner to use.
|
Modifier and Type | Method and Description |
---|---|
protected abstract org.objectweb.asm.MethodVisitor |
Advice.Dispatcher.Inlining.Resolved.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Applies a resolution for a given instrumented method.
|
protected org.objectweb.asm.MethodVisitor |
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler) |
protected org.objectweb.asm.MethodVisitor |
Advice.Dispatcher.Inlining.Resolved.ForMethodExit.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler) |
Advice.Dispatcher.Bound |
Advice.Dispatcher.Resolved.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this dispatcher for resolution to a specific method.
|
Advice.Dispatcher.Bound |
Advice.Dispatcher.Inactive.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation) |
Advice.Dispatcher.Bound |
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation) |
Advice.Dispatcher.Bound |
Advice.Dispatcher.Inlining.Resolved.ForMethodExit.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation) |
Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation) |
protected org.objectweb.asm.MethodVisitor |
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.doApply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Applies a resolution for a given instrumented method.
|
protected org.objectweb.asm.MethodVisitor |
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithDiscardedEnterType.doApply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler) |
protected Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.ForMethodEnter.doResolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Binds this dispatcher for resolution to a specific method.
|
protected Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.ForMethodEnter.WithDiscardedEnterType.doResolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForArgument.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForArgument.Unresolved.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForThisReference.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForAllArguments.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForInstrumentedType.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForInstrumentedMethod.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForField.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForOrigin.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForUnusedValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForStubValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForEnterValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForExitValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForLocalValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForReturnValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForThrowable.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForStackManipulation.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForSerializedValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort) |
protected abstract Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this dispatcher for resolution to a specific method.
|
protected Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.ForMethodEnter.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation) |
protected Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.ForMethodExit.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation) |
Advice |
Advice.withAssigner(Assigner assigner)
Configures this advice to use the specified assigner.
|
Constructor and Description |
---|
AdviceMethodInliner(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler,
org.objectweb.asm.ClassReader classReader)
Creates a new advice method inliner.
|
AdviceVisitor(org.objectweb.asm.MethodVisitor methodVisitor,
org.objectweb.asm.MethodVisitor delegate,
Implementation.Context implementationContext,
Assigner assigner,
StackManipulation exceptionHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.Resolved.ForMethodEnter methodEnter,
Advice.Dispatcher.Resolved.ForMethodExit methodExit,
List<? extends TypeDescription> postMethodTypes,
int writerFlags,
int readerFlags)
Creates a new advice visitor.
|
WithExceptionHandling(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
StackManipulation exceptionHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.Resolved.ForMethodEnter methodEnter,
Advice.Dispatcher.Resolved.ForMethodExit methodExit,
int writerFlags,
int readerFlags,
TypeDescription throwable)
Creates a new advice visitor that captures exception by weaving try-catch blocks around user code.
|
WithExitAdvice(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
StackManipulation exceptionHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.Resolved.ForMethodEnter methodEnter,
Advice.Dispatcher.Resolved.ForMethodExit methodExit,
List<? extends TypeDescription> postMethodTypes,
int writerFlags,
int readerFlags)
Creates an advice visitor that applies exit advice.
|
WithoutExceptionHandling(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
StackManipulation exceptionHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.Resolved.ForMethodEnter methodEnter,
Advice.Dispatcher.Resolved.ForMethodExit methodExit,
int writerFlags,
int readerFlags)
Creates a new advice visitor that does not capture exceptions.
|
WithoutExitAdvice(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
StackManipulation exceptionHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.Resolved.ForMethodEnter methodEnter,
int writerFlags,
int readerFlags)
Creates an advice visitor that does not apply exit advice.
|
Modifier and Type | Field and Description |
---|---|
protected Assigner |
MethodCall.assigner
The assigner to use.
|
protected Assigner |
InvokeDynamic.assigner
The assigner to be used.
|
protected Assigner |
InvocationHandlerAdapter.assigner
The assigner that is used for assigning the return invocation handler's return value to the
intercepted method's return value.
|
protected Assigner |
FixedValue.assigner
The assigner that is used for assigning the fixed value to a method's return type.
|
protected Assigner |
FieldAccessor.assigner
The assigner to use.
|
Modifier and Type | Method and Description |
---|---|
protected InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForField.doResolve(StackManipulation access,
TypeDescription.Generic type,
Assigner assigner,
Assigner.Typing typing)
Resolves this argument provider.
|
protected InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForField.WithExplicitType.doResolve(StackManipulation access,
TypeDescription.Generic typeDescription,
Assigner assigner,
Assigner.Typing typing) |
protected InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForMethodParameter.doResolve(StackManipulation access,
TypeDescription.Generic type,
Assigner assigner,
Assigner.Typing typing)
Resolves this argument provider.
|
protected InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForMethodParameter.WithExplicitType.doResolve(StackManipulation access,
TypeDescription.Generic type,
Assigner assigner,
Assigner.Typing typing) |
protected abstract StackManipulation |
MethodCall.TerminationHandler.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Returns a stack manipulation that handles the method return.
|
StackManipulation |
MethodCall.TargetHandler.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
TypeDescription instrumentedType,
Assigner assigner,
Assigner.Typing typing)
Creates a stack manipulation that represents the method's invocation.
|
StackManipulation |
MethodCall.TargetHandler.ForSelfOrStaticInvocation.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
TypeDescription instrumentedType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.TargetHandler.ForConstructingInvocation.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
TypeDescription instrumentedType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.TargetHandler.ForValue.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
TypeDescription instrumentedType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.TargetHandler.ForField.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
TypeDescription instrumentedType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.TargetHandler.ForMethodParameter.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
TypeDescription instrumentedType,
Assigner assigner,
Assigner.Typing typing) |
protected abstract StackManipulation |
InvokeDynamic.TerminationHandler.resolve(MethodDescription interceptedMethod,
TypeDescription returnType,
Assigner assigner,
Assigner.Typing typing)
Returns a stack manipulation that handles the method return.
|
StackManipulation |
MethodCall.ArgumentLoader.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForNullConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForThisReference.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForInstrumentedType.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForMethodParameter.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForMethodParameterArray.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForMethodParameterArrayElement.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForInstance.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForField.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForStackManipulation.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.Target.Resolved |
InvokeDynamic.InvocationProvider.Target.resolve(TypeDescription instrumentedType,
Assigner assigner,
Assigner.Typing typing)
Resolves the target.
|
InvokeDynamic.InvocationProvider.Target.Resolved |
InvokeDynamic.InvocationProvider.Target.ForMethodDescription.resolve(TypeDescription instrumentedType,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.Target.Resolved |
InvokeDynamic.InvocationProvider.Default.Target.resolve(TypeDescription instrumentedType,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForInterceptedMethodInstanceAndParameters.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForInterceptedMethodParameters.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ConstantPoolWrapper.WrappingArgumentProvider.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForThisInstance.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForInstance.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForField.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForMethodParameter.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForBooleanConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForByteConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForShortConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForCharacterConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForIntegerConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForLongConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForFloatConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForDoubleConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForStringConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForClassConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForEnumerationValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForNullValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForJavaConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
Implementation.Composable |
MethodDelegation.withAssigner(Assigner assigner)
Applies an assigner to the method delegation that is used for assigning method return and parameter types.
|
Implementation |
InvocationHandlerAdapter.AssignerConfigurable.withAssigner(Assigner assigner)
Configures an assigner to use with this invocation handler adapter.
|
Implementation |
InvocationHandlerAdapter.ForInstance.withAssigner(Assigner assigner) |
Implementation |
InvocationHandlerAdapter.ForField.withAssigner(Assigner assigner) |
Implementation.Composable |
MethodCall.withAssigner(Assigner assigner,
Assigner.Typing typing)
Defines an assigner to be used for assigning values to the parameters of the invoked method.
|
Implementation.Composable |
InvokeDynamic.withAssigner(Assigner assigner,
Assigner.Typing typing)
Instructs this implementation to use the provided assigner and decides if the assigner should apply
dynamic typing.
|
Implementation.Composable |
InvokeDynamic.AbstractDelegator.withAssigner(Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.WithImplicitArguments |
InvokeDynamic.WithImplicitArguments.withAssigner(Assigner assigner,
Assigner.Typing typing) |
Implementation |
FixedValue.AssignerConfigurable.withAssigner(Assigner assigner,
Assigner.Typing typing)
Defines an explicit assigner to this fixed value implementation.
|
Implementation |
FixedValue.ForOriginType.withAssigner(Assigner assigner,
Assigner.Typing typing) |
Implementation |
FixedValue.ForThisValue.withAssigner(Assigner assigner,
Assigner.Typing typing) |
Implementation |
FixedValue.ForArgument.withAssigner(Assigner assigner,
Assigner.Typing typing) |
Implementation |
FixedValue.ForPoolValue.withAssigner(Assigner assigner,
Assigner.Typing typing) |
Implementation |
FixedValue.ForValue.withAssigner(Assigner assigner,
Assigner.Typing typing) |
FieldAccessor.PropertyConfigurable |
FieldAccessor.AssignerConfigurable.withAssigner(Assigner assigner,
Assigner.Typing typing)
Returns a field accessor that is identical to this field accessor but uses the given assigner
and runtime type use configuration.
|
FieldAccessor.PropertyConfigurable |
FieldAccessor.ForImplicitProperty.withAssigner(Assigner assigner,
Assigner.Typing typing) |
Constructor and Description |
---|
AbstractDelegator(MethodDescription.InDefinedShape bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
Assigner.Typing typing)
Creates a new abstract delegator for a dynamic method invocation.
|
Appender(Implementation.Target implementationTarget,
MethodDelegationBinder.Record processor,
MethodDelegationBinder.TerminationHandler terminationHandler,
Assigner assigner,
MethodDelegation.ImplementationDelegate.Compiled compiled)
Creates a new appender for a method delegation.
|
FieldAccessor(FieldAccessor.FieldLocation fieldLocation,
Assigner assigner,
Assigner.Typing typing)
Creates a new field accessor.
|
FixedValue(Assigner assigner,
Assigner.Typing typing)
Creates a new fixed value implementation.
|
ForField(String fieldName,
boolean cacheMethods,
Assigner assigner,
FieldLocator.Factory fieldLocatorFactory)
Creates a new invocation handler adapter that loads its value from a field.
|
ForInstance(String fieldName,
boolean cacheMethods,
Assigner assigner,
InvocationHandler invocationHandler)
Creates a new invocation handler adapter for delegating invocations to an invocation handler that is stored
in a static field.
|
ForParameterSetter(FieldAccessor.FieldLocation fieldLocation,
Assigner assigner,
Assigner.Typing typing,
int index)
Creates a new field accessor.
|
InvocationHandlerAdapter(String fieldName,
boolean cacheMethods,
Assigner assigner)
Creates a new invocation handler for a given field.
|
InvokeDynamic(MethodDescription.InDefinedShape bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
Assigner.Typing typing)
Creates a new invoke dynamic implementation.
|
MethodCall(MethodCall.MethodLocator methodLocator,
MethodCall.TargetHandler targetHandler,
List<MethodCall.ArgumentLoader.Factory> argumentLoaders,
MethodCall.MethodInvoker methodInvoker,
MethodCall.TerminationHandler terminationHandler,
Assigner assigner,
Assigner.Typing typing)
Creates a new method call implementation.
|
OfArgument(MethodDescription.InDefinedShape bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
Assigner.Typing typing,
int index)
Creates a new invoke dynamic instance with an implicit field type for the provided value.
|
OfField(MethodDescription.InDefinedShape bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
Assigner.Typing typing,
String fieldName,
FieldLocator.Factory fieldLocatorFactory)
Creates a new abstract delegator for a dynamic method invocation where the last argument is assigned an implicit type.
|
OfInstance(MethodDescription.InDefinedShape bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
Assigner.Typing typing,
Object value)
Creates a new invoke dynamic instance with an implicit field type for the provided value.
|
WithImplicitArguments(MethodDescription.InDefinedShape bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
Assigner.Typing typing)
Creates a new dynamic method invocation with implicit arguments.
|
WithImplicitTarget(MethodDescription.InDefinedShape bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
Assigner.Typing typing)
Creates a new dynamic method invocation with implicit arguments and an implicit invocation target.
|
WithImplicitType(MethodDescription.InDefinedShape bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
Assigner.Typing typing)
Creates a new abstract delegator for a dynamic method invocation where the last argument is assigned an implicit type.
|
Constructor and Description |
---|
MethodCall(MethodDescription accessorMethod,
Assigner assigner)
Creates a new method call implementation.
|
MethodCallProxy(Implementation.SpecialMethodInvocation specialMethodInvocation,
boolean serializableProxy,
Assigner assigner)
Creates a new method call proxy for a given method.
|
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.Record.bind(Implementation.Target implementationTarget,
MethodDescription source,
MethodDelegationBinder.TerminationHandler terminationHandler,
MethodDelegationBinder.MethodInvoker methodInvoker,
Assigner assigner)
Attempts a binding of a source method to this compiled target.
|
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.Record.Illegal.bind(Implementation.Target implementationTarget,
MethodDescription source,
MethodDelegationBinder.TerminationHandler terminationHandler,
MethodDelegationBinder.MethodInvoker methodInvoker,
Assigner assigner) |
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.Processor.bind(Implementation.Target implementationTarget,
MethodDescription source,
MethodDelegationBinder.TerminationHandler terminationHandler,
MethodDelegationBinder.MethodInvoker methodInvoker,
Assigner assigner) |
StackManipulation |
MethodDelegationBinder.TerminationHandler.resolve(Assigner assigner,
Assigner.Typing typing,
MethodDescription source,
MethodDescription target)
Creates a stack manipulation that is to be applied after the method return.
|
Constructor and Description |
---|
AccessorProxy(FieldDescription fieldDescription,
TypeDescription instrumentedType,
FieldProxy.Binder.FieldResolver fieldResolver,
Assigner assigner,
boolean serializableProxy) |
FieldGetter(FieldDescription fieldDescription,
Assigner assigner,
MethodAccessorFactory methodAccessorFactory)
Creates a new getter implementation.
|
FieldSetter(FieldDescription fieldDescription,
Assigner assigner,
MethodAccessorFactory methodAccessorFactory)
Creates a new setter implementation.
|
MethodCall(MethodDescription accessorMethod,
Assigner assigner)
Creates a new method call implementation for a proxy method.
|
Redirection(TypeDescription forwardingType,
MethodDescription sourceMethod,
Assigner assigner,
boolean serializableProxy)
Creates a new redirection.
|
RedirectionProxy(TypeDescription morphingType,
TypeDescription instrumentedType,
Implementation.SpecialMethodInvocation specialMethodInvocation,
Assigner assigner,
boolean serializableProxy)
Creates a new redirection proxy.
|
Modifier and Type | Class and Description |
---|---|
static class |
Assigner.EqualTypesOnly
An assigner that only allows to assign types if they are equal to another.
|
static class |
Assigner.Refusing
An assigner that does not allow any assignments.
|
Modifier and Type | Field and Description |
---|---|
static Assigner |
Assigner.DEFAULT
A default assigner that can handle
void , primitive types and references. |
Modifier and Type | Class and Description |
---|---|
class |
PrimitiveTypeAwareAssigner
This assigner is able to handle non-
void , primitive types. |
class |
VoidAwareAssigner
This assigner is able to handle the
void type. |
Modifier and Type | Method and Description |
---|---|
StackManipulation |
PrimitiveBoxingDelegate.assignBoxedTo(TypeDescription.Generic target,
Assigner chainedAssigner,
Assigner.Typing typing)
Creates a stack manipulation that boxes the represented primitive type and applies a chained assignment
to the result of this boxing operation.
|
StackManipulation |
PrimitiveUnboxingDelegate.ExplicitlyTypedUnboxingResponsible.assignUnboxedTo(TypeDescription.Generic targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
PrimitiveUnboxingDelegate.UnboxingResponsible.assignUnboxedTo(TypeDescription.Generic target,
Assigner assigner,
Assigner.Typing typing)
Attempts to unbox the represented type in order to assign the unboxed value to the given target type
while using the assigner that is provided by the method call.
|
StackManipulation |
PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible.assignUnboxedTo(TypeDescription.Generic target,
Assigner assigner,
Assigner.Typing typing) |
Constructor and Description |
---|
PrimitiveTypeAwareAssigner(Assigner referenceTypeAwareAssigner)
Creates a new assigner with the given delegate.
|
VoidAwareAssigner(Assigner chained)
Creates a new assigner that is capable of handling void types.
|
Modifier and Type | Class and Description |
---|---|
class |
ReferenceTypeAwareAssigner
A simple assigner that is capable of handling the casting of reference types.
|
Copyright © 2014–2018. All rights reserved.