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 |
---|---|
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.ForStaticField.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
TypeDescription instrumentedType,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.TargetHandler.ForInstanceField.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.ForInstance.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForField.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForBooleanConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForByteConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForShortConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForCharacterConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForIntegerConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForLongConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForFloatConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForDoubleConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForTextConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForClassConstant.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForEnumerationValue.resolve(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.ArgumentLoader.ForJavaConstant.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) |
MethodCall |
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.ForPoolValue.withAssigner(Assigner assigner,
Assigner.Typing typing) |
Implementation |
FixedValue.ForStaticField.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.
|
FieldAccessor(FieldAccessor.FieldNameExtractor fieldNameExtractor,
FieldLocator.Factory fieldLocatorFactory,
Assigner assigner,
Assigner.Typing typing)
Creates a new field accessor.
|
FixedValue(Assigner assigner,
Assigner.Typing typing)
Creates a new fixed value implementation.
|
ForOriginType(Assigner assigner,
Assigner.Typing typing)
Creates a new fixed value appender for the origin type.
|
ForParameterSetter(FieldAccessor.FieldNameExtractor fieldNameExtractor,
FieldLocator.Factory fieldLocatorFactory,
Assigner assigner,
Assigner.Typing typing,
int index)
Creates a new field accessor.
|
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.
|
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.
|
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.Generic source,
TypeDescription.Generic target,
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.Generic source,
TypeDescription.Generic target,
Assigner.Typing typing) |
StackManipulation |
Assigner.Refusing.assign(TypeDescription.Generic source,
TypeDescription.Generic target,
Assigner.Typing typing) |
Modifier and Type | Method and Description |
---|---|
StackManipulation |
VoidAwareAssigner.assign(TypeDescription.Generic source,
TypeDescription.Generic target,
Assigner.Typing typing) |
StackManipulation |
PrimitiveTypeAwareAssigner.assign(TypeDescription.Generic source,
TypeDescription.Generic target,
Assigner.Typing typing) |
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) |
Modifier and Type | Method and Description |
---|---|
StackManipulation |
ReferenceTypeAwareAssigner.assign(TypeDescription.Generic source,
TypeDescription.Generic target,
Assigner.Typing typing) |
Copyright © 2014–2016. All rights reserved.