Package | Description |
---|---|
net.bytebuddy.asm |
The ASM package contains classes that are meant for direct interaction with the ASM API.
|
net.bytebuddy.description.method |
Contains descriptions of Java methods and constructors as well as their parameters.
|
net.bytebuddy.description.type |
Contains descriptions of Java types and packages.
|
net.bytebuddy.dynamic |
This package contains classes and interfaces that are connected to writing the byte stream that represents a Java
type that is dynamically created and for loading this type into a running JVM process.
|
net.bytebuddy.implementation |
The implementation package contains any logic for intercepting method calls.
|
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.member |
StackManipulation s of this package are responsible for
accessing type or method members, i.e. |
net.bytebuddy.matcher |
Contains an API for matching Java byte code entities.
|
Modifier and Type | Method and Description |
---|---|
protected abstract ParameterDescription |
Advice.OffsetMapping.ForArgument.resolve(MethodDescription instrumentedMethod)
Resolves the bound parameter.
|
protected ParameterDescription |
Advice.OffsetMapping.ForArgument.Unresolved.resolve(MethodDescription instrumentedMethod) |
protected ParameterDescription |
Advice.OffsetMapping.ForArgument.Resolved.resolve(MethodDescription instrumentedMethod) |
Modifier and Type | Method and Description |
---|---|
<T extends Annotation> |
Advice.WithCustomMapping.bind(Class<T> type,
ParameterDescription parameterDescription)
Binds the supplied annotation to the supplied parameter's argument.
|
Constructor and Description |
---|
Factory(Class<T> annotationType,
ParameterDescription parameterDescription)
Creates a new factory for binding a parameter of the instrumented method with read-only semantics and static typing.
|
Factory(Class<T> annotationType,
ParameterDescription parameterDescription,
boolean readOnly,
Assigner.Typing typing)
Creates a new factory for binding a parameter of the instrumented method.
|
Resolved(TypeDescription.Generic target,
boolean readOnly,
Assigner.Typing typing,
ParameterDescription parameterDescription)
Creates an offset mapping that binds a parameter of the instrumented method.
|
Unresolved(ParameterDescription parameterDescription)
Creates a new offset binding for a parameter with a given index.
|
Modifier and Type | Interface and Description |
---|---|
interface |
ParameterList<T extends ParameterDescription>
Represents a list of parameters of a method or a constructor.
|
static class |
ParameterList.AbstractBase<S extends ParameterDescription>
An base implementation for a
ParameterList . |
static class |
ParameterList.Empty<S extends ParameterDescription>
An empty list of parameters.
|
static class |
ParameterList.Explicit<S extends ParameterDescription>
A list of explicitly provided parameter descriptions.
|
Modifier and Type | Interface and Description |
---|---|
static interface |
ParameterDescription.InDefinedShape
Represents a parameter in its defined shape, i.e.
|
static interface |
ParameterDescription.InGenericShape
Represents a parameter description in its generic shape, i.e.
|
Modifier and Type | Class and Description |
---|---|
static class |
ParameterDescription.AbstractBase
A base implementation of a method parameter description.
|
static class |
ParameterDescription.ForLoadedParameter<T extends AccessibleObject>
Description of a loaded parameter with support for the information exposed by
java.lang.reflect.Parameter . |
protected static class |
ParameterDescription.ForLoadedParameter.OfConstructor
A description of a loaded
Constructor parameter for a modern VM. |
protected static class |
ParameterDescription.ForLoadedParameter.OfLegacyVmConstructor
Description of a loaded constructor's parameter on a virtual machine where
java.lang.reflect.Parameter
is not available. |
protected static class |
ParameterDescription.ForLoadedParameter.OfLegacyVmMethod
Description of a loaded method's parameter on a virtual machine where
java.lang.reflect.Parameter
is not available. |
protected static class |
ParameterDescription.ForLoadedParameter.OfMethod
A description of a loaded
Method parameter for a modern VM. |
static class |
ParameterDescription.InDefinedShape.AbstractBase
An abstract base implementation of a parameter description in its defined shape.
|
static class |
ParameterDescription.Latent
A latent description of a parameter that is not attached to a method or constructor.
|
static class |
ParameterDescription.TypeSubstituting
A parameter description that represents a given parameter but with a substituted parameter type.
|
Constructor and Description |
---|
Explicit(S... parameterDescription)
Creates a new list of explicit parameter descriptions.
|
TypeSubstituting(MethodDescription.InGenericShape declaringMethod,
ParameterDescription parameterDescription,
TypeDescription.Generic.Visitor<? extends TypeDescription.Generic> visitor)
Creates a new type substituting parameter.
|
Constructor and Description |
---|
TypeSubstituting(MethodDescription.InGenericShape declaringMethod,
List<? extends ParameterDescription> parameterDescriptions,
TypeDescription.Generic.Visitor<? extends TypeDescription.Generic> visitor)
Creates a new type substituting parameter list.
|
Modifier and Type | Method and Description |
---|---|
static TypeList.Generic |
TypeList.Generic.ForDetachedTypes.attach(ParameterDescription parameterDescription,
List<? extends TypeDescription.Generic> detachedTypes)
Creates a list of types that are attached to the provided parameter.
|
static TypeDescription.Generic.Visitor.Substitutor.ForAttachment |
TypeDescription.Generic.Visitor.Substitutor.ForAttachment.of(ParameterDescription parameterDescription)
Attaches all types to the given parameter description.
|
Modifier and Type | Class and Description |
---|---|
protected class |
Transformer.ForMethod.TransformedMethod.TransformedParameter
A transformed method's parameter.
|
Modifier and Type | Method and Description |
---|---|
ParameterDescription |
Transformer.ForMethod.TransformedMethod.TransformedParameterList.get(int index) |
Modifier and Type | Method and Description |
---|---|
StackManipulation |
MethodCall.ArgumentLoader.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForNullConstant.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForThisReference.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForInstrumentedType.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForMethodParameter.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForMethodParameterArray.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForMethodParameterArrayElement.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForInstance.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForField.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForMethodCall.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForStackManipulation.toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
Constructor and Description |
---|
ForMethodParameterArrayElement(ParameterDescription parameterDescription,
int index)
Creates an argument loader for a parameter of the instrumented method where an array element is assigned to the invoked method.
|
Resolved(ParameterDescription parameterDescription)
Creates a new resolved target handler for a parameter.
|
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.ParameterBinding<?> |
AllArguments.Binder.bind(AnnotationDescription.Loadable<AllArguments> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Argument.Binder.bind(AnnotationDescription.Loadable<Argument> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Default.Binder.bind(AnnotationDescription.Loadable<Default> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
DefaultCall.Binder.bind(AnnotationDescription.Loadable<DefaultCall> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
DefaultMethod.Binder.bind(AnnotationDescription.Loadable<DefaultMethod> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Empty.Binder.bind(AnnotationDescription.Loadable<Empty> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
FieldValue.Binder.bind(AnnotationDescription.Loadable<FieldValue> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Morph.Binder.bind(AnnotationDescription.Loadable<Morph> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Origin.Binder.bind(AnnotationDescription.Loadable<Origin> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Pipe.Binder.bind(AnnotationDescription.Loadable<Pipe> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
protected abstract Object |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.bind(AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target)
Resolves a value for the given annotation on a parameter that is processed by a
MethodDelegation . |
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.bind(AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding.bind(AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
StubValue.Binder.bind(AnnotationDescription.Loadable<StubValue> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Super.Binder.bind(AnnotationDescription.Loadable<Super> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
SuperCall.Binder.bind(AnnotationDescription.Loadable<SuperCall> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
SuperMethod.Binder.bind(AnnotationDescription.Loadable<SuperMethod> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.bind(AnnotationDescription.Loadable<T> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
This.Binder.bind(AnnotationDescription.Loadable<This> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
protected Object |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.OfConstant.bind(AnnotationDescription.Loadable<U> annotation,
MethodDescription source,
ParameterDescription target) |
protected MethodDelegationBinder.ParameterBinding<?> |
FieldProxy.Binder.bind(FieldDescription fieldDescription,
AnnotationDescription.Loadable<FieldProxy> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
protected MethodDelegationBinder.ParameterBinding<?> |
FieldValue.Binder.Delegate.bind(FieldDescription fieldDescription,
AnnotationDescription.Loadable<FieldValue> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
protected abstract MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding.bind(FieldDescription fieldDescription,
AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner)
Creates a parameter binding for the given target parameter.
|
protected static TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler |
TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound.of(ParameterDescription target,
TargetMethodAnnotationDrivenBinder.ParameterBinder<?> parameterBinder,
AnnotationDescription annotation,
Assigner.Typing typing)
Creates a handler for a given annotation.
|
protected TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler |
TargetMethodAnnotationDrivenBinder.DelegationProcessor.prepare(ParameterDescription target)
Locates a handler which is responsible for processing the given parameter.
|
Constructor and Description |
---|
Bound(ParameterDescription target,
TargetMethodAnnotationDrivenBinder.ParameterBinder<T> parameterBinder,
AnnotationDescription.Loadable<T> annotation,
Assigner.Typing typing)
Creates a new bound handler.
|
Unbound(ParameterDescription target,
Assigner.Typing typing)
Creates a new unbound handler.
|
Modifier and Type | Method and Description |
---|---|
static StackManipulation |
MethodVariableAccess.increment(ParameterDescription parameterDescription,
int value)
Increments the value of the supplied parameter.
|
static StackManipulation |
MethodVariableAccess.load(ParameterDescription parameterDescription)
Loads a parameter's value onto the operand stack.
|
static StackManipulation |
MethodVariableAccess.store(ParameterDescription parameterDescription)
Stores the top operand stack value at the supplied parameter.
|
Modifier and Type | Class and Description |
---|---|
class |
MethodParameterTypeMatcher<T extends ParameterDescription>
An element matcher that matches a method's parameter's type.
|
Modifier and Type | Method and Description |
---|---|
static <T extends ParameterDescription> |
ElementMatchers.definedParameter(ElementMatcher<? super ParameterDescription.InDefinedShape> matcher)
Matches a parameter in its defined shape.
|
static <T extends ParameterDescription> |
ElementMatchers.hasGenericType(ElementMatcher<? super TypeDescription.Generic> matcher)
Matches a method parameter by its generic type.
|
static <T extends ParameterDescription> |
ElementMatchers.hasType(ElementMatcher<? super TypeDescription> matcher)
Matches a parameter's type by the given matcher.
|
static <T extends ParameterDescription> |
ElementMatchers.is(ParameterDescription.InDefinedShape parameter)
Exactly matches a given parameter as a
ParameterDescription in its defined shape. |
static <T extends ParameterDescription> |
ElementMatchers.isMandated()
Matches a parameter description for a
mandated parameter. |
Modifier and Type | Method and Description |
---|---|
static <T extends MethodDescription> |
ElementMatchers.hasParameters(ElementMatcher<? super Iterable<? extends ParameterDescription>> matcher)
Matches a
MethodDescription by validating that its parameters
fulfill a given constraint. |
Constructor and Description |
---|
MethodParametersMatcher(ElementMatcher<? super ParameterList<? extends ParameterDescription>> matcher)
Creates a new matcher for a method's parameters.
|
Copyright © 2014–2020. All rights reserved.