Package | Description |
---|---|
net.bytebuddy.dynamic.scaffold |
This package contains helper types and implementations that are responsible for the actual writing of a byte array
representing a Java class.
|
net.bytebuddy.dynamic.scaffold.subclass |
All classes and types in this package are related to creating a
DynamicType by
creating a subclass of a given type. |
net.bytebuddy.instrumentation |
The instrumentation package contains any logic for intercepting method calls.
|
net.bytebuddy.instrumentation.attribute |
All types and classes in this package are responsible for writing attributes for a given Java byte code element,
i.e.
|
net.bytebuddy.instrumentation.method |
This package contains types and implementations for describing a Java byte code method which can be any byte code
container, i.e.
|
net.bytebuddy.instrumentation.method.bytecode |
Types and classes in this package are responsible for creating Java byte code for a given byte code target
which is represented by a
MethodDescription . |
net.bytebuddy.instrumentation.method.bytecode.bind |
The types and classes of this package are responsible for binding a method call to calling another method.
|
net.bytebuddy.instrumentation.method.bytecode.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.instrumentation.method.bytecode.stack.constant |
StackManipulation s in this package are responsible for
creating compile-time constants and pushing them onto the operand stack. |
net.bytebuddy.instrumentation.method.bytecode.stack.member |
StackManipulation s of this package are responsible for
accessing type or method members, i.e. |
net.bytebuddy.instrumentation.method.matcher |
This package contains types and classes that serve as predicates for
determining if a given
MethodDescription matches a certain criteria. |
net.bytebuddy.instrumentation.type |
This package contains types and implementations for describing a Java type, i.e.
|
net.bytebuddy.instrumentation.type.auxiliary |
Auxiliary types describe helper types that aid as a supplementary to a given
InstrumentedType . |
Modifier and Type | Method and Description |
---|---|
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.extract() |
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.Unknown.extract() |
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.Resolved.extract() |
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.Candidate.extract() |
MethodDescription |
BridgeMethodResolver.resolve(MethodDescription methodDescription) |
MethodDescription |
BridgeMethodResolver.NoOp.resolve(MethodDescription methodDescription) |
MethodDescription |
BridgeMethodResolver.Simple.resolve(MethodDescription methodDescription) |
Modifier and Type | Method and Description |
---|---|
BridgeMethodResolver.Simple.BridgeTarget |
BridgeMethodResolver.Simple.ConflictHandler.choose(MethodDescription bridgeMethod,
MethodList targetCandidates) |
BridgeMethodResolver.Simple.BridgeTarget |
BridgeMethodResolver.Simple.ConflictHandler.Default.choose(MethodDescription bridgeMethod,
MethodList targetCandidates) |
MethodDescription |
BridgeMethodResolver.resolve(MethodDescription methodDescription) |
MethodDescription |
BridgeMethodResolver.NoOp.resolve(MethodDescription methodDescription) |
MethodDescription |
BridgeMethodResolver.Simple.resolve(MethodDescription methodDescription) |
TypeWriter.MethodPool.Entry |
TypeWriter.MethodPool.target(MethodDescription methodDescription)
Looks up a handler entry for a given method.
|
Modifier and Type | Method and Description |
---|---|
TypeWriter.InMethodPhase<T> |
TypeWriter.InMethodPhase.write(Iterable<? extends MethodDescription> methodDescriptions,
TypeWriter.MethodPool methodPool)
Adds a number of methods as described by the argument to the type that is created by this type
writer where the implementations and annotations are received from the given compiled method registry.
|
Constructor and Description |
---|
Candidate(MethodDescription target) |
Resolved(MethodDescription target) |
Modifier and Type | Method and Description |
---|---|
MethodDescription |
SubclassInstrumentationContextDelegate.requireAccessorMethodFor(MethodDescription targetMethod) |
Modifier and Type | Method and Description |
---|---|
Iterable<MethodDescription> |
SubclassInstrumentationContextDelegate.getProxiedMethods()
Returns an iterable containing all accessor methods that were registered with this delegate.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
SubclassInstrumentationContextDelegate.requireAccessorMethodFor(MethodDescription targetMethod) |
TypeWriter.MethodPool.Entry |
SubclassInstrumentationContextDelegate.target(MethodDescription methodDescription) |
Constructor and Description |
---|
SubclassInstumentedType(ClassFileVersion classFileVersion,
TypeDescription superClass,
List<TypeDescription> interfaces,
int modifiers,
String name,
List<? extends FieldDescription> fieldDescriptions,
List<? extends MethodDescription> methodDescriptions,
TypeInitializer typeInitializer)
Creates a new immutable type instrumentation for a loaded superclass.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
Instrumentation.Context.Default.requireAccessorMethodFor(MethodDescription targetMethod) |
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
StubMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Instrumentation.ForAbstractMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FixedValue.ForPoolValue.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FieldAccessor.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
ExceptionMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
protected ByteCodeAppender.Size |
InvocationHandlerAdapter.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod,
TypeDescription instrumentedType,
StackManipulation preparingManipulation)
Applies an instrumentation that delegates to a invocation handler.
|
protected ByteCodeAppender.Size |
FixedValue.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod,
TypeDescription fixedValueType,
StackManipulation valueLoadingInstruction)
Blueprint method that for applying the actual instrumentation.
|
protected ByteCodeAppender.Size |
FieldAccessor.applyGetter(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
FieldDescription fieldDescription,
MethodDescription methodDescription)
Applies a field getter instrumentation.
|
protected ByteCodeAppender.Size |
FieldAccessor.applySetter(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
FieldDescription fieldDescription,
MethodDescription methodDescription)
Applies a field setter instrumentation.
|
protected abstract String |
FieldAccessor.getFieldName(MethodDescription targetMethod)
Locates a field's name.
|
protected String |
FieldAccessor.ForBeanProperty.getFieldName(MethodDescription targetMethod) |
protected String |
FieldAccessor.ForNamedField.getFieldName(MethodDescription targetMethod) |
MethodDescription |
Instrumentation.Context.Default.requireAccessorMethodFor(MethodDescription targetMethod) |
Modifier and Type | Method and Description |
---|---|
void |
MethodAttributeAppender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription)
Applies this attribute appender to a given method visitor.
|
void |
MethodAttributeAppender.NoOp.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForInstrumentedMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForAnnotation.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForLoadedMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForLoadedConstructor.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.Compound.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
Modifier and Type | Class and Description |
---|---|
static class |
MethodDescription.AbstractMethodDescription
An abstract base implementation of a method description.
|
static class |
MethodDescription.ForLoadedConstructor
An implementation of a method description for a loaded constructor.
|
static class |
MethodDescription.ForLoadedMethod
An implementation of a method description for a loaded method.
|
static class |
MethodDescription.Latent
A latent method description describes a method that is not attached to a declaring
TypeDescription but stands for itself. |
Modifier and Type | Method and Description |
---|---|
MethodDescription |
MethodList.ForLoadedType.get(int index) |
MethodDescription |
MethodList.Explicit.get(int index) |
MethodDescription |
MethodList.Empty.get(int index) |
MethodDescription |
MethodList.getOnly()
Returns the only element in this method list or throws an exception if there is more than or less than
one element in this list.
|
MethodDescription |
MethodList.ForLoadedType.getOnly() |
MethodDescription |
MethodList.Explicit.getOnly() |
MethodDescription |
MethodList.Empty.getOnly() |
Constructor and Description |
---|
Explicit(List<? extends MethodDescription> methodDescriptions)
Creates a new wrapper for a given list of methods.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
ByteCodeAppender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
ByteCodeAppender.Compound.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
Modifier and Type | Method and Description |
---|---|
MethodDescription |
MethodDelegationBinder.MethodBinding.getTarget()
Returns the target method of the method binding attempt.
|
MethodDescription |
MethodDelegationBinder.MethodBinding.Illegal.getTarget() |
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.Processor.process(TypeDescription instrumentedType,
MethodDescription source,
Iterable<? extends MethodDescription> targets) |
Constructor and Description |
---|
Builder(MethodDelegationBinder.MethodInvoker methodInvoker,
MethodDescription target)
Creates a new builder for the binding of a given method.
|
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.ParameterBinding<?> |
AllArguments.Binder.bind(AllArguments annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
TypeDescription instrumentedType,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Argument.Binder.bind(Argument argument,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
TypeDescription instrumentedType,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Origin.Binder.bind(Origin annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
TypeDescription instrumentedType,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
SuperCall.Binder.bind(SuperCall annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
TypeDescription instrumentedType,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Super.Binder.bind(Super annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
TypeDescription instrumentedType,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
This.Binder.bind(This annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
TypeDescription instrumentedType,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.bind(T annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
TypeDescription instrumentedType,
Assigner assigner)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.MethodBinding |
TargetMethodAnnotationDrivenBinder.bind(TypeDescription instrumentedType,
MethodDescription source,
MethodDescription target) |
static boolean |
RuntimeType.Verifier.check(MethodDescription methodDescription)
Checks if method return values should be assigned by considering the run time type.
|
static boolean |
IgnoreForBinding.Verifier.check(MethodDescription methodDescription)
Validates if a method should be ignored for binding.
|
static boolean |
RuntimeType.Verifier.check(MethodDescription methodDescription,
int parameterIndex)
Checks if a method parameter should be assigned by considering the run time type.
|
Iterator<T> |
TargetMethodAnnotationDrivenBinder.DefaultsProvider.makeIterator(TypeDescription typeDescription,
MethodDescription source,
MethodDescription target)
Creates an iterator from which a value is pulled each time no annotation
|
Iterator<Annotation> |
TargetMethodAnnotationDrivenBinder.DefaultsProvider.Empty.makeIterator(TypeDescription typeDescription,
MethodDescription source,
MethodDescription target) |
Iterator<Argument> |
Argument.NextUnboundAsDefaultsProvider.makeIterator(TypeDescription typeDescription,
MethodDescription source,
MethodDescription target) |
MethodDelegationBinder.AmbiguityResolver.Resolution |
BindingPriority.Resolver.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right) |
Modifier and Type | Field and Description |
---|---|
protected MethodDescription |
MethodConstant.methodDescription
A description of the method to be loaded onto the stack.
|
Modifier and Type | Method and Description |
---|---|
static StackManipulation |
MethodConstant.forMethod(MethodDescription methodDescription)
Creates a stack manipulation that loads a method constant onto the operand stack.
|
Constructor and Description |
---|
MethodConstant(MethodDescription methodDescription)
Creates a new method constant.
|
Modifier and Type | Method and Description |
---|---|
static MethodInvocation.WithImplicitInvocationTargetType |
MethodInvocation.invoke(MethodDescription methodDescription)
Creates a method invocation with an implicitly determined invocation type.
|
static StackManipulation |
MethodVariableAccess.loadArguments(MethodDescription methodDescription) |
static StackManipulation |
MethodVariableAccess.loadThisAndArguments(MethodDescription methodDescription)
Loads all method parameters for a given method, including a reference to the object instance if the method is
not static.
|
Modifier and Type | Method and Description |
---|---|
static JunctionMethodMatcher |
MethodMatchers.hasSameByteCodeSignatureAs(MethodDescription methodDescription)
Selects methods with identical signature to the given method description where the return type
is considered to be part of the signature.
|
static JunctionMethodMatcher |
MethodMatchers.hasSameJavaCompilerSignatureAs(MethodDescription methodDescription)
Checks if a method has a Java compiler equal signature to another method which includes the name of the method
and the exact types and order of its parameters.
|
static JunctionMethodMatcher |
MethodMatchers.is(MethodDescription methodDescription)
A method matcher that matches a given method description.
|
static JunctionMethodMatcher |
MethodMatchers.isBridgeMethodCompatibleTo(MethodDescription methodDescription)
Determines if a method could be the target of the given method for a compile time bridge.
|
boolean |
MethodMatcher.matches(MethodDescription methodDescription)
Determines if a method matches for this
MethodMatcher . |
boolean |
JunctionMethodMatcher.Conjunction.matches(MethodDescription methodDescription) |
boolean |
JunctionMethodMatcher.Disjunction.matches(MethodDescription methodDescription) |
Modifier and Type | Class and Description |
---|---|
protected class |
InstrumentedType.AbstractBase.MethodToken
An implementation of a new method or constructor for the enclosing instrumented type.
|
Modifier and Type | Field and Description |
---|---|
protected List<MethodDescription> |
InstrumentedType.AbstractBase.methodDescriptions
A list of method descriptions registered for this instrumented type.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
TypeDescription.getEnclosingMethod()
Returns a description of the enclosing method of this type.
|
MethodDescription |
TypeDescription.ForLoadedType.getEnclosingMethod() |
MethodDescription |
InstrumentedType.AbstractBase.getEnclosingMethod() |
Constructor and Description |
---|
AbstractBase(TypeInitializer typeInitializer,
String typeInternalName,
List<? extends FieldDescription> fieldDescriptions,
List<? extends MethodDescription> methodDescriptions)
Creates a new instrumented type with the given type initializer and field and methods.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
AuxiliaryType.MethodAccessorFactory.requireAccessorMethodFor(MethodDescription targetMethod)
Requests a new accessor method for the requested method.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
AuxiliaryType.MethodAccessorFactory.requireAccessorMethodFor(MethodDescription targetMethod)
Requests a new accessor method for the requested method.
|
Constructor and Description |
---|
AssignableSignatureCall(MethodDescription targetMethod)
Creates an operand stack assignment that creates a
MethodCallProxy for the
targetMethod and pushes this proxy object onto the stack. |
MethodCallProxy(MethodDescription targetMethod)
Creates a new method call proxy for a given method and uses a default assigner for assigning the method's return
value to either the
Callable.call() or Runnable.run() method returns. |
MethodCallProxy(MethodDescription targetMethod,
Assigner assigner)
Creates a new method call proxy for a given method.
|
Copyright © 2014. All rights reserved.