Package | Description |
---|---|
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.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 | Field and Description |
---|---|
protected Assigner.Typing |
MethodCall.typing
Indicates if dynamic type castings should be attempted for incompatible assignments.
|
protected Assigner.Typing |
InvokeDynamic.typing
Indicates if dynamic type castings should be attempted for incompatible assignments.
|
protected Assigner.Typing |
FixedValue.typing
Indicates if dynamic type castings should be attempted for incompatible assignments.
|
protected Assigner.Typing |
FieldAccessor.typing
Indicates if dynamic type castings should be attempted for incompatible assignments.
|
Modifier and Type | Method and Description |
---|---|
StackManipulation |
MethodCall.TerminationHandler.resolve(MethodDescription invokedMethod,
MethodDescription interceptedMethod,
Assigner assigner,
Assigner.Typing typing)
Returns a stack manipulation that handles the method return.
|
StackManipulation |
MethodCall.TerminationHandler.ForMethodReturn.resolve(MethodDescription invokedMethod,
MethodDescription interceptedMethod,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.TerminationHandler.ForChainedInvocation.resolve(MethodDescription invokedMethod,
MethodDescription interceptedMethod,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
InvokeDynamic.TerminationHandler.resolve(MethodDescription interceptedMethod,
TypeDescription returnType,
Assigner assigner,
Assigner.Typing typing)
Returns a stack manipulation that handles the method return.
|
StackManipulation |
InvokeDynamic.TerminationHandler.ForMethodReturn.resolve(MethodDescription interceptedMethod,
TypeDescription returnType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
InvokeDynamic.TerminationHandler.ForChainedInvocation.resolve(MethodDescription interceptedMethod,
TypeDescription returnType,
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.ForStaticField.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForInstanceField.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForExistingField.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.ForExplicitTypedMethodParameter.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.ForJavaInstance.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForNullConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForThisReference.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForOwnType.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForMethodParameter.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForStaticField.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForInstanceField.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForExistingField.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForBooleanConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForByteConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForShortConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForCharacterConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForIntegerConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForLongConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForFloatConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForDoubleConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForTextConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForClassConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForEnumerationValue.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForJavaInstance.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
Assigner.Typing typing) |
MethodCall |
MethodCall.withAssigner(Assigner assigner,
Assigner.Typing typing)
Defines an assigner to be used for assigning values to the parameters of the invoked method.
|
InvokeDynamic |
InvokeDynamic.withAssigner(Assigner assigner,
Assigner.Typing typing)
Instructs this implementation to use the provided assigner and decides if the assigner should apply
dynamic typing.
|
InvokeDynamic.WithImplicitArguments |
InvokeDynamic.WithImplicitArguments.withAssigner(Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic |
InvokeDynamic.WithImplicitFieldType.withAssigner(Assigner assigner,
Assigner.Typing typing) |
InvokeDynamic |
InvokeDynamic.WithImplicitArgumentType.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.ForPoolValue.withAssigner(Assigner assigner,
Assigner.Typing typing) |
Implementation |
FixedValue.ForStaticField.withAssigner(Assigner assigner,
Assigner.Typing typing) |
Implementation |
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.
|
Implementation |
FieldAccessor.ForUnnamedField.withAssigner(Assigner assigner,
Assigner.Typing typing) |
Implementation |
FieldAccessor.ForNamedField.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.
|
FieldAccessor(Assigner assigner,
Assigner.Typing typing)
Creates a new field accessor.
|
FixedValue(Assigner assigner,
Assigner.Typing typing)
Creates a new fixed value implementation.
|
ForNamedField(Assigner assigner,
Assigner.Typing typing,
String fieldName)
Creates a field accessor implementation for a field of a given name.
|
ForStaticField(Object fixedValue,
Assigner assigner,
Assigner.Typing typing)
Creates a new static field fixed value implementation with a random name for the field containing the fixed
value.
|
ForStaticField(String fieldName,
Object fixedValue,
Assigner assigner,
Assigner.Typing typing)
Creates a new static field fixed value implementation.
|
ForUnnamedField(Assigner assigner,
Assigner.Typing typing,
FieldAccessor.FieldNameExtractor fieldNameExtractor)
Creates a new field accessor implementation.
|
ForUnnamedField(Assigner assigner,
Assigner.Typing typing,
FieldAccessor.FieldNameExtractor fieldNameExtractor,
FieldAccessor.FieldLocator.Factory fieldLocatorFactory)
Creates a new field accessor implementation.
|
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> argumentLoaders,
MethodCall.MethodInvoker methodInvoker,
MethodCall.TerminationHandler terminationHandler,
Assigner assigner,
Assigner.Typing typing)
Creates a new method call implementation.
|
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.
|
WithImplicitArgumentType(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.
|
WithImplicitFieldType(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.
|
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.
|
Modifier and Type | Method and Description |
---|---|
static Assigner.Typing |
RuntimeType.Verifier.check(AnnotatedCodeElement annotatedCodeElement)
Checks if an annotated element should be assigned a value by considering the runtime type.
|
Modifier and Type | Method and Description |
---|---|
protected abstract MethodDelegationBinder.ParameterBinding<?> |
Argument.BindingMechanic.makeBinding(TypeDescription sourceType,
TypeDescription targetType,
int sourceParameterIndex,
Assigner assigner,
Assigner.Typing typing,
int parameterOffset)
Creates a binding that corresponds to this binding mechanic.
|
Modifier and Type | Method and Description |
---|---|
static Assigner.Typing |
Assigner.Typing.of(boolean dynamic)
Resolves a typing constant for the presented boolean where
true indicates that dynamic typing is a legitimate choice. |
static Assigner.Typing |
Assigner.Typing.valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static Assigner.Typing[] |
Assigner.Typing.values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
Modifier and Type | Method and Description |
---|---|
StackManipulation |
Assigner.assign(TypeDescription sourceType,
TypeDescription targetType,
Assigner.Typing typing) |
StackManipulation |
Assigner.EqualTypesOnly.assign(TypeDescription sourceType,
TypeDescription targetType,
Assigner.Typing typing) |
StackManipulation |
Assigner.Refusing.assign(TypeDescription sourceType,
TypeDescription targetType,
Assigner.Typing typing) |
Modifier and Type | Method and Description |
---|---|
StackManipulation |
VoidAwareAssigner.assign(TypeDescription sourceType,
TypeDescription targetType,
Assigner.Typing typing) |
StackManipulation |
PrimitiveTypeAwareAssigner.assign(TypeDescription sourceType,
TypeDescription targetType,
Assigner.Typing typing) |
StackManipulation |
PrimitiveBoxingDelegate.assignBoxedTo(TypeDescription targetType,
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 targetType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
PrimitiveUnboxingDelegate.UnboxingResponsible.assignUnboxedTo(TypeDescription targetType,
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 targetType,
Assigner assigner,
Assigner.Typing typing) |
Modifier and Type | Method and Description |
---|---|
StackManipulation |
ReferenceTypeAwareAssigner.assign(TypeDescription sourceType,
TypeDescription targetType,
Assigner.Typing typing) |
Copyright © 2014–2015. All rights reserved.