| Package | Description | 
|---|---|
| net.bytebuddy | 
 Byte Buddy is a library for creating Java classes at runtime of a Java program. 
 | 
| net.bytebuddy.agent.builder | 
 An agent builder is used to easily implement load-time class-transformations using a Java agent. 
 | 
| 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.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.inline | 
 All classes and types in this package are related to creating a  
DynamicType by
 enhancing a given type. | 
| 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.implementation | 
 The implementation package contains any logic for intercepting method calls. 
 | 
| net.bytebuddy.implementation.attribute | 
 All types and classes in this package are responsible for writing attributes for a given Java byte code element,
 i.e. fields, types and byte code methods. 
 | 
| 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 | 
 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.implementation.bytecode.constant | 
StackManipulations in this package are responsible for
 creating compile-time constants and pushing them onto the operand stack. | 
| net.bytebuddy.implementation.bytecode.member | 
StackManipulations of this package are responsible for
 accessing type or method members, i.e. reading and writing of fields, invoking of methods, access of local variables
 within a method invocation or returning values from method invocations. | 
| net.bytebuddy.matcher | 
 Contains an API for matching Java byte code entities. 
 | 
| net.bytebuddy.pool | 
 Classes of this package allow for the creating  
TypeDescriptions without
 loading any classes. | 
| net.bytebuddy.utility | 
 This package contains utility classes for common use within any Byte Buddy logic. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
protected LatentMatcher<? super MethodDescription> | 
ByteBuddy.ignoredMethods
A matcher for identifying methods that should be excluded from instrumentation. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
ByteCodeAppender.Size | 
ByteBuddy.EnumerationImplementation.ValuesMethodAppender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
ByteBuddy.EnumerationImplementation.InitializationAppender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
| Modifier and Type | Method and Description | 
|---|---|
ByteBuddy | 
ByteBuddy.ignore(ElementMatcher<? super MethodDescription> ignoredMethods)
Creates a new configuration where any  
MethodDescription that matches the provided method matcher is excluded
 from instrumentation. | 
ByteBuddy | 
ByteBuddy.ignore(LatentMatcher<? super MethodDescription> ignoredMethods)
 Creates a new configuration where any  
MethodDescription that matches the provided method matcher is excluded
 from instrumentation. | 
| Constructor and Description | 
|---|
ByteBuddy(ClassFileVersion classFileVersion,
         NamingStrategy namingStrategy,
         AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
         AnnotationValueFilter.Factory annotationValueFilterFactory,
         AnnotationRetention annotationRetention,
         Implementation.Context.Factory implementationContextFactory,
         MethodGraph.Compiler methodGraphCompiler,
         TypeValidation typeValidation,
         LatentMatcher<? super MethodDescription> ignoredMethods)
Creates a new Byte Buddy instance. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
ByteCodeAppender.Size | 
AgentBuilder.InitializationStrategy.SelfInjection.NexusAccessor.InitializationAppender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.ConstructorImplementation.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.FactoryImplementation.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.BridgeMethodImplementation.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
| Constructor and Description | 
|---|
Appender(MethodDescription targetMethod,
        JavaInstance.MethodType specializedLambdaMethod,
        List<FieldDescription.InDefinedShape> declaredFields)
Creates an appender of a lambda expression's functional method. 
 | 
| Modifier and Type | Interface and Description | 
|---|---|
interface  | 
MethodList<T extends MethodDescription>
Implementations represent a list of method descriptions. 
 | 
static class  | 
MethodList.AbstractBase<S extends MethodDescription>
A base implementation of a  
MethodList. | 
static class  | 
MethodList.Empty<S extends MethodDescription>
An implementation of an empty method list. 
 | 
static class  | 
MethodList.Explicit<S extends MethodDescription>
A method list that is a wrapper for a given list of method descriptions. 
 | 
| Modifier and Type | Interface and Description | 
|---|---|
static interface  | 
MethodDescription.InDefinedShape
Represents a method in its defined shape, i.e. in the form it is defined by a class without its type variables being resolved. 
 | 
static interface  | 
MethodDescription.InGenericShape
Represents a method description in its generic shape, i.e. in the shape it is defined by a generic or raw type. 
 | 
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
MethodDescription.AbstractBase
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.InDefinedShape.AbstractBase
An abstract base implementation of a method description in its defined shape. 
 | 
static class  | 
MethodDescription.Latent
A latent method description describes a method that is not attached to a declaring
  
TypeDescription. | 
static class  | 
MethodDescription.Latent.TypeInitializer
A method description that represents the type initializer. 
 | 
static class  | 
MethodDescription.TypeSubstituting
A method description that represents a given method but with substituted method types. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
static MethodDescription | 
MethodDescription.UNDEFINED
Represents any undefined property of a type description that is instead represented as  
null in order
 to resemble the Java reflection API which returns null and is intuitive to many Java developers. | 
| Modifier and Type | Method and Description | 
|---|---|
MethodDescription | 
ParameterDescription.getDeclaringMethod()
Returns the method that declares this parameter. 
 | 
| Constructor and Description | 
|---|
Explicit(S... methodDescription)
Creates a new wrapper for a given list of methods. 
 | 
TypeSubstituting(TypeDescription.Generic declaringType,
                MethodDescription methodDescription,
                TypeDescription.Generic.Visitor<? extends TypeDescription.Generic> visitor)
Creates a method description with substituted method types. 
 | 
| Constructor and Description | 
|---|
TypeSubstituting(TypeDescription.Generic declaringType,
                List<? extends MethodDescription> methodDescriptions,
                TypeDescription.Generic.Visitor<? extends TypeDescription.Generic> visitor)
Creates a new type substituting method list. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
MethodDescription | 
TypeDescription.getEnclosingMethod()
Returns a description of the enclosing method of this type. 
 | 
MethodDescription | 
TypeDescription.ForLoadedType.getEnclosingMethod()  | 
MethodDescription | 
TypeDescription.ArrayProjection.getEnclosingMethod()  | 
MethodDescription | 
TypeDescription.Latent.getEnclosingMethod()  | 
MethodDescription | 
TypeDescription.ForPackageDescription.getEnclosingMethod()  | 
| Modifier and Type | Method and Description | 
|---|---|
static TypeList.Generic | 
TypeList.Generic.ForDetachedTypes.attach(MethodDescription methodDescription,
      List<? extends TypeDescription.Generic> detachedTypes)
Creates a list of types that are attached to the provided method. 
 | 
static TypeList.Generic | 
TypeList.Generic.ForDetachedTypes.attachVariables(MethodDescription methodDescription,
               List<? extends TypeVariableToken> detachedTypeVariables)
Creates a list of type variables that are attached to the provided method. 
 | 
static TypeDescription.Generic.Visitor.Substitutor.ForAttachment | 
TypeDescription.Generic.Visitor.Substitutor.ForAttachment.of(MethodDescription methodDescription)
Attaches all types to the given method description. 
 | 
| Modifier and Type | Class and Description | 
|---|---|
protected static class  | 
MethodTransformer.Simple.TransformedMethod
The transformed method. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
protected LatentMatcher<? super MethodDescription> | 
DynamicType.Builder.AbstractBase.Adapter.ignoredMethods
A matcher for identifying methods that should be excluded from instrumentation. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
MethodDescription | 
MethodTransformer.Simple.TransformedMethod.TransformedParameter.getDeclaringMethod()  | 
MethodDescription | 
MethodTransformer.transform(TypeDescription instrumentedType,
         MethodDescription methodDescription)
Transforms a method. 
 | 
MethodDescription | 
MethodTransformer.NoOp.transform(TypeDescription instrumentedType,
         MethodDescription methodDescription)  | 
MethodDescription | 
MethodTransformer.Simple.transform(TypeDescription instrumentedType,
         MethodDescription methodDescription)  | 
MethodDescription | 
MethodTransformer.Compound.transform(TypeDescription instrumentedType,
         MethodDescription methodDescription)  | 
| Modifier and Type | Method and Description | 
|---|---|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> | 
DynamicType.Builder.define(MethodDescription methodDescription)
Defines a method or constructor that is similar to the supplied method description but without copying any annotations of
 the method/constructor or method/constructor parameters. 
 | 
DynamicType.Builder.MethodDefinition.ImplementationDefinition<S> | 
DynamicType.Builder.AbstractBase.define(MethodDescription methodDescription)  | 
MethodDescription | 
MethodTransformer.transform(TypeDescription instrumentedType,
         MethodDescription methodDescription)
Transforms a method. 
 | 
MethodDescription | 
MethodTransformer.NoOp.transform(TypeDescription instrumentedType,
         MethodDescription methodDescription)  | 
MethodDescription | 
MethodTransformer.Simple.transform(TypeDescription instrumentedType,
         MethodDescription methodDescription)  | 
MethodDescription | 
MethodTransformer.Compound.transform(TypeDescription instrumentedType,
         MethodDescription methodDescription)  | 
| Modifier and Type | Method and Description | 
|---|---|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> | 
DynamicType.Builder.constructor(ElementMatcher<? super MethodDescription> matcher)
 Matches a constructor that is already declared by the instrumented type. 
 | 
DynamicType.Builder.MethodDefinition.ImplementationDefinition<S> | 
DynamicType.Builder.AbstractBase.constructor(ElementMatcher<? super MethodDescription> matcher)  | 
DynamicType.Builder<T> | 
DynamicType.Builder.ignoreAlso(ElementMatcher<? super MethodDescription> ignoredMethods)
Specifies to exclude any method that is matched by the supplied matcher from instrumentation. 
 | 
DynamicType.Builder<S> | 
DynamicType.Builder.AbstractBase.ignoreAlso(ElementMatcher<? super MethodDescription> ignoredMethods)  | 
DynamicType.Builder<U> | 
DynamicType.Builder.AbstractBase.Delegator.ignoreAlso(ElementMatcher<? super MethodDescription> ignoredMethods)  | 
DynamicType.Builder<T> | 
DynamicType.Builder.ignoreAlso(LatentMatcher<? super MethodDescription> ignoredMethods)
Specifies to exclude any method that is matched by the supplied matcher from instrumentation. 
 | 
DynamicType.Builder<U> | 
DynamicType.Builder.AbstractBase.Delegator.ignoreAlso(LatentMatcher<? super MethodDescription> ignoredMethods)  | 
DynamicType.Builder<U> | 
DynamicType.Builder.AbstractBase.Adapter.ignoreAlso(LatentMatcher<? super MethodDescription> ignoredMethods)  | 
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> | 
DynamicType.Builder.invokable(ElementMatcher<? super MethodDescription> matcher)
 Matches a method or constructor that is already declared or inherited by the instrumented type. 
 | 
DynamicType.Builder.MethodDefinition.ImplementationDefinition<S> | 
DynamicType.Builder.AbstractBase.invokable(ElementMatcher<? super MethodDescription> matcher)  | 
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> | 
DynamicType.Builder.invokable(LatentMatcher<? super MethodDescription> matcher)
 Matches a method or constructor that is already declared or inherited by the instrumented type. 
 | 
DynamicType.Builder.MethodDefinition.ImplementationDefinition<U> | 
DynamicType.Builder.AbstractBase.Delegator.invokable(LatentMatcher<? super MethodDescription> matcher)  | 
DynamicType.Builder.MethodDefinition.ImplementationDefinition<U> | 
DynamicType.Builder.AbstractBase.Adapter.invokable(LatentMatcher<? super MethodDescription> matcher)  | 
protected abstract DynamicType.Builder<U> | 
DynamicType.Builder.AbstractBase.Adapter.materialize(InstrumentedType.WithFlexibleName instrumentedType,
           FieldRegistry fieldRegistry,
           MethodRegistry methodRegistry,
           TypeAttributeAppender typeAttributeAppender,
           AsmVisitorWrapper asmVisitorWrapper,
           ClassFileVersion classFileVersion,
           AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
           AnnotationValueFilter.Factory annotationValueFilterFactory,
           AnnotationRetention annotationRetention,
           Implementation.Context.Factory implementationContextFactory,
           MethodGraph.Compiler methodGraphCompiler,
           TypeValidation typeValidation,
           LatentMatcher<? super MethodDescription> ignoredMethods)
Materializes the supplied state of a dynamic type builder. 
 | 
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> | 
DynamicType.Builder.method(ElementMatcher<? super MethodDescription> matcher)
 Matches a method that is already declared or inherited by the instrumented type. 
 | 
DynamicType.Builder.MethodDefinition.ImplementationDefinition<S> | 
DynamicType.Builder.AbstractBase.method(ElementMatcher<? super MethodDescription> matcher)  | 
| Constructor and Description | 
|---|
Adapter(InstrumentedType.WithFlexibleName instrumentedType,
       FieldRegistry fieldRegistry,
       MethodRegistry methodRegistry,
       TypeAttributeAppender typeAttributeAppender,
       AsmVisitorWrapper asmVisitorWrapper,
       ClassFileVersion classFileVersion,
       AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
       AnnotationValueFilter.Factory annotationValueFilterFactory,
       AnnotationRetention annotationRetention,
       Implementation.Context.Factory implementationContextFactory,
       MethodGraph.Compiler methodGraphCompiler,
       TypeValidation typeValidation,
       LatentMatcher<? super MethodDescription> ignoredMethods)
Creates a new default type writer for creating a new type that is not based on an existing class file. 
 | 
MethodMatchAdapter(LatentMatcher<? super MethodDescription> matcher)
Creates a new method match adapter. 
 | 
| Modifier and Type | Class and Description | 
|---|---|
protected static class  | 
TypeWriter.Default.ForInlining.TypeInitializerDelegate
A method containing the original type initializer of a redefined class. 
 | 
protected static class  | 
TypeWriter.MethodPool.Record.AccessBridgeWrapper.AccessorBridge
A method representing an accessor bridge method. 
 | 
protected static class  | 
TypeWriter.MethodPool.Record.AccessBridgeWrapper.BridgeTarget
A method representing a bridge's target method in its defined shape. 
 | 
protected static class  | 
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge.VisibilityBridge
A method describing a visibility bridge. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
MethodDescription | 
InstrumentedType.Default.getEnclosingMethod()  | 
MethodDescription | 
TypeWriter.Default.ForInlining.RedefinitionClassVisitor.TypeInitializerInjection.getInjectorProxyMethod()
Returns the proxy method to which the original type initializer code is written to. 
 | 
MethodDescription | 
TypeWriter.MethodPool.Record.getMethod()
Returns the method that is implemented where the returned method resembles a potential transformation. 
 | 
MethodDescription | 
TypeWriter.MethodPool.Record.ForNonDefinedMethod.getMethod()  | 
MethodDescription | 
TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody.getMethod()  | 
MethodDescription | 
TypeWriter.MethodPool.Record.ForDefinedMethod.WithoutBody.getMethod()  | 
MethodDescription | 
TypeWriter.MethodPool.Record.ForDefinedMethod.WithAnnotationDefaultValue.getMethod()  | 
MethodDescription | 
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge.getMethod()  | 
MethodDescription | 
TypeWriter.MethodPool.Record.AccessBridgeWrapper.getMethod()  | 
protected MethodDescription | 
MethodRegistry.Default.Prepared.Entry.getMethodDescription()
Returns the method description this entry represents. 
 | 
MethodDescription | 
MethodGraph.Node.getRepresentative()
Returns the method that is represented by this node. 
 | 
MethodDescription | 
MethodGraph.Node.Unresolved.getRepresentative()  | 
MethodDescription | 
MethodGraph.Node.Simple.getRepresentative()  | 
MethodDescription | 
MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node.getRepresentative()  | 
MethodDescription | 
MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous.Node.getRepresentative()  | 
MethodDescription | 
MethodGraph.Compiler.Default.Merger.merge(MethodDescription left,
     MethodDescription right)
Merges two ambiguously resolved methods to yield a single representative. 
 | 
MethodDescription | 
MethodGraph.Compiler.Default.Merger.Directional.merge(MethodDescription left,
     MethodDescription right)  | 
| Modifier and Type | Method and Description | 
|---|---|
Set<MethodDescription> | 
MethodGraph.Compiler.Default.Key.Store.Entry.getCandidates()
Returns all candidate methods represented by this entry. 
 | 
Set<MethodDescription> | 
MethodGraph.Compiler.Default.Key.Store.Entry.Initial.getCandidates()  | 
Set<MethodDescription> | 
MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.getCandidates()  | 
Set<MethodDescription> | 
MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous.getCandidates()  | 
ElementMatcher<? super MethodDescription> | 
MethodRegistry.Default.Entry.resolve(TypeDescription typeDescription)  | 
| Modifier and Type | Method and Description | 
|---|---|
ByteCodeAppender.Size | 
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
TypeInitializer.None.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
TypeInitializer.Simple.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
protected MethodRegistry.Default.Prepared.Entry | 
MethodRegistry.Default.Entry.asPreparedEntry(TypeDescription instrumentedType,
               MethodDescription methodDescription)
Transforms this entry into a prepared state. 
 | 
protected MethodRegistry.Default.Prepared.Entry | 
MethodRegistry.Default.Entry.asPreparedEntry(TypeDescription instrumentedType,
               MethodDescription methodDescription,
               Set<MethodDescription.TypeToken> methodTypes)
Transforms this entry into a prepared state. 
 | 
TypeWriter.MethodPool.Record | 
MethodRegistry.Handler.ForAbstractMethod.assemble(MethodDescription methodDescription,
        MethodAttributeAppender attributeAppender)  | 
TypeWriter.MethodPool.Record | 
MethodRegistry.Handler.ForVisibilityBridge.Compiled.assemble(MethodDescription methodDescription,
        MethodAttributeAppender attributeAppender)  | 
TypeWriter.MethodPool.Record | 
MethodRegistry.Handler.Compiled.assemble(MethodDescription methodDescription,
        MethodAttributeAppender attributeAppender)
Assembles this compiled entry with a method attribute appender. 
 | 
TypeWriter.MethodPool.Record | 
MethodRegistry.Handler.ForImplementation.Compiled.assemble(MethodDescription methodDescription,
        MethodAttributeAppender attributeAppender)  | 
TypeWriter.MethodPool.Record | 
MethodRegistry.Handler.ForAnnotationValue.assemble(MethodDescription methodDescription,
        MethodAttributeAppender attributeAppender)  | 
protected MethodRegistry.Default.Prepared.Entry | 
MethodRegistry.Default.Entry.asSupplementaryEntry(MethodDescription methodDescription)
Returns a prepared entry for a supplementary method. 
 | 
MethodGraph.Compiler.Default.Key.Store.Entry<U> | 
MethodGraph.Compiler.Default.Key.Store.Entry.Initial.extendBy(MethodDescription methodDescription,
        MethodGraph.Compiler.Default.Harmonizer<U> harmonizer)  | 
MethodGraph.Compiler.Default.Key.Store.Entry<U> | 
MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.extendBy(MethodDescription methodDescription,
        MethodGraph.Compiler.Default.Harmonizer<U> harmonizer)  | 
MethodGraph.Compiler.Default.Key.Store.Entry<U> | 
MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous.extendBy(MethodDescription methodDescription,
        MethodGraph.Compiler.Default.Harmonizer<U> harmonizer)  | 
MethodGraph.Compiler.Default.Key.Store.Entry<W> | 
MethodGraph.Compiler.Default.Key.Store.Entry.extendBy(MethodDescription methodDescription,
        MethodGraph.Compiler.Default.Harmonizer<W> harmonizer)
Extends this entry by the given method. 
 | 
protected static MethodRegistry.Default.Prepared.Entry | 
MethodRegistry.Default.Prepared.Entry.forVisibilityBridge(MethodDescription bridgeTarget)
Creates an entry for a visibility bridge. 
 | 
MethodDescription | 
MethodGraph.Compiler.Default.Merger.merge(MethodDescription left,
     MethodDescription right)
Merges two ambiguously resolved methods to yield a single representative. 
 | 
MethodDescription | 
MethodGraph.Compiler.Default.Merger.Directional.merge(MethodDescription left,
     MethodDescription right)  | 
protected static <Q> MethodGraph.Compiler.Default.Key.Harmonized<Q> | 
MethodGraph.Compiler.Default.Key.Harmonized.of(MethodDescription methodDescription,
  MethodGraph.Compiler.Default.Harmonizer<Q> harmonizer)
Creates a new harmonized key for the given method description. 
 | 
protected static <Q> MethodGraph.Compiler.Default.Key.Store.Entry<Q> | 
MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous.of(MethodGraph.Compiler.Default.Key.Harmonized<Q> key,
  MethodDescription left,
  MethodDescription right)
Creates a new ambiguous entry if both provided entries are not considered to be a bridge of one another. 
 | 
static TypeWriter.MethodPool.Record | 
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge.of(TypeDescription instrumentedType,
  MethodDescription bridgeTarget,
  MethodAttributeAppender attributeAppender)
Creates a record for a visibility bridge. 
 | 
static TypeWriter.MethodPool.Record | 
TypeWriter.MethodPool.Record.AccessBridgeWrapper.of(TypeWriter.MethodPool.Record delegate,
  TypeDescription instrumentedType,
  MethodDescription bridgeTarget,
  Set<MethodDescription.TypeToken> bridgeTypes,
  MethodAttributeAppender attributeAppender)
Wraps the given record in an accessor bridge wrapper if necessary. 
 | 
protected MethodVisitor | 
TypeWriter.Default.ForInlining.RedefinitionClassVisitor.redefine(MethodDescription methodDescription,
        boolean abstractOrigin)
Redefines a given method if this is required by looking up a potential implementation from the
  
TypeWriter.MethodPool. | 
protected MethodGraph.Compiler.Default.Key.Store<V> | 
MethodGraph.Compiler.Default.Key.Store.registerTopLevel(MethodDescription methodDescription,
                MethodGraph.Compiler.Default.Harmonizer<V> harmonizer)
Registers a new top level method within this store. 
 | 
TypeWriter.MethodPool.Record | 
TypeWriter.MethodPool.target(MethodDescription methodDescription)
Looks up a handler entry for a given method. 
 | 
TypeWriter.MethodPool.Record | 
MethodRegistry.Default.Compiled.target(MethodDescription methodDescription)  | 
| Modifier and Type | Method and Description | 
|---|---|
protected MethodGraph.Compiler.Default.Key.Store<T> | 
MethodGraph.Compiler.Default.analyze(TypeDefinition typeDefinition,
       Map<TypeDefinition,MethodGraph.Compiler.Default.Key.Store<T>> snapshots,
       ElementMatcher<? super MethodDescription> relevanceMatcher)
Analyzes the given type description without checking if the end of the type hierarchy was reached. 
 | 
protected MethodGraph.Compiler.Default.Key.Store<T> | 
MethodGraph.Compiler.Default.analyzeNullable(TypeDefinition typeDefinition,
               Map<TypeDefinition,MethodGraph.Compiler.Default.Key.Store<T>> snapshots,
               ElementMatcher<? super MethodDescription> relevanceMatcher)
Analyzes the given type description. 
 | 
MethodRegistry | 
MethodRegistry.append(LatentMatcher<? super MethodDescription> methodMatcher,
      MethodRegistry.Handler handler,
      MethodAttributeAppender.Factory attributeAppenderFactory,
      MethodTransformer methodTransformer)
Appends the given method definition to this method registry, i.e. this configuration is applied last. 
 | 
MethodRegistry | 
MethodRegistry.Default.append(LatentMatcher<? super MethodDescription> matcher,
      MethodRegistry.Handler handler,
      MethodAttributeAppender.Factory attributeAppenderFactory,
      MethodTransformer methodTransformer)  | 
protected MethodGraph.Compiler.Default.Key.Store<T> | 
MethodGraph.Compiler.Default.doAnalyze(TypeDefinition typeDefinition,
         Map<TypeDefinition,MethodGraph.Compiler.Default.Key.Store<T>> snapshots,
         ElementMatcher<? super MethodDescription> relevanceMatcher)
Analyzes the given type description without checking if it is already presented in the key store. 
 | 
static MethodGraph | 
MethodGraph.Simple.of(List<? extends MethodDescription> methodDescriptions)
Returns a method graph that contains all of the provided methods as simple nodes. 
 | 
MethodRegistry.Prepared | 
MethodRegistry.prepare(InstrumentedType instrumentedType,
       MethodGraph.Compiler methodGraphCompiler,
       TypeValidation typeValidation,
       LatentMatcher<? super MethodDescription> ignoredMethods)
Prepares this method registry. 
 | 
MethodRegistry.Prepared | 
MethodRegistry.Default.prepare(InstrumentedType instrumentedType,
       MethodGraph.Compiler methodGraphCompiler,
       TypeValidation typeValidation,
       LatentMatcher<? super MethodDescription> ignoredMethods)  | 
MethodRegistry | 
MethodRegistry.prepend(LatentMatcher<? super MethodDescription> methodMatcher,
       MethodRegistry.Handler handler,
       MethodAttributeAppender.Factory attributeAppenderFactory,
       MethodTransformer methodTransformer)
Prepends the given method definition to this method registry, i.e. this configuration is applied first. 
 | 
MethodRegistry | 
MethodRegistry.Default.prepend(LatentMatcher<? super MethodDescription> matcher,
       MethodRegistry.Handler handler,
       MethodAttributeAppender.Factory attributeAppenderFactory,
       MethodTransformer methodTransformer)  | 
| Constructor and Description | 
|---|
AccessBridgeWrapper(TypeWriter.MethodPool.Record delegate,
                   TypeDescription instrumentedType,
                   MethodDescription bridgeTarget,
                   Set<MethodDescription.TypeToken> bridgeTypes,
                   MethodAttributeAppender attributeAppender)
Creates a wrapper for adding accessor bridges. 
 | 
AccessorBridge(MethodDescription bridgeTarget,
              MethodDescription.TypeToken bridgeType,
              TypeDescription instrumentedType)
Creates a new accessor bridge method. 
 | 
BridgeTarget(MethodDescription bridgeTarget,
            TypeDescription instrumentedType)
Creates a new bridge target. 
 | 
Default(String name,
       int modifiers,
       TypeDescription.Generic superClass,
       List<? extends TypeVariableToken> typeVariables,
       List<? extends TypeDescription.Generic> interfaceTypes,
       List<? extends FieldDescription.Token> fieldTokens,
       List<? extends MethodDescription.Token> methodTokens,
       List<? extends AnnotationDescription> annotationDescriptions,
       TypeInitializer typeInitializer,
       LoadedTypeInitializer loadedTypeInitializer,
       TypeDescription declaringType,
       MethodDescription enclosingMethod,
       TypeDescription enclosingType,
       List<? extends TypeDescription> declaredTypes,
       boolean memberClass,
       boolean anonymousClass,
       boolean localClass)
Creates a new instrumented type. 
 | 
Entry(MethodRegistry.Handler.Compiled handler,
     MethodAttributeAppender attributeAppender,
     MethodDescription methodDescription,
     Set<MethodDescription.TypeToken> bridgeTypes)
Creates a new entry for a compiled method registry. 
 | 
Entry(MethodRegistry.Handler handler,
     MethodAttributeAppender.Factory attributeAppenderFactory,
     MethodDescription methodDescription,
     Set<MethodDescription.TypeToken> typeTokens)
Creates a new prepared entry. 
 | 
Node(MethodGraph.Compiler.Default.Key.Detached key,
    MethodDescription methodDescription)  | 
Node(MethodGraph.Compiler.Default.Key.Detached key,
    MethodDescription methodDescription,
    boolean visible)
Creates a new node. 
 | 
OfVisibilityBridge(MethodDescription visibilityBridge,
                  MethodDescription bridgeTarget,
                  TypeDescription superClass,
                  MethodAttributeAppender attributeAppender)
Creates a new record for a visibility bridge. 
 | 
Resolved(MethodGraph.Compiler.Default.Key.Harmonized<U> key,
        MethodDescription methodDescription,
        boolean madeVisible)
Creates a new resolved entry. 
 | 
Simple(MethodDescription methodDescription)
Creates a simple node. 
 | 
TypeInitializerInjection(MethodDescription injectorProxyMethod)
Creates a new type initializer injection. 
 | 
VisibilityBridge(TypeDescription instrumentedType,
                MethodDescription bridgeTarget)
Creates a new visibility bridge. 
 | 
WithAnnotationDefaultValue(MethodDescription methodDescription,
                          Object annotationValue,
                          MethodAttributeAppender methodAttributeAppender)
Creates a new entry for defining a method with a default annotation value. 
 | 
WithBody(MethodDescription methodDescription,
        ByteCodeAppender byteCodeAppender)
Creates a new record for an implemented method without attributes or a modifier resolver. 
 | 
WithBody(MethodDescription methodDescription,
        ByteCodeAppender byteCodeAppender,
        MethodAttributeAppender methodAttributeAppender)
Creates a new entry for a method that defines a method as byte code. 
 | 
WithoutBody(MethodDescription methodDescription,
           MethodAttributeAppender methodAttributeAppender)
Creates a new entry for a method that is defines but does not append byte code, i.e. is native or abstract. 
 | 
| Constructor and Description | 
|---|
Ambiguous(MethodGraph.Compiler.Default.Key.Harmonized<U> key,
         LinkedHashSet<MethodDescription> methodDescriptions)
Creates a new ambiguous entry. 
 | 
Compiled(TypeDescription instrumentedType,
        LoadedTypeInitializer loadedTypeInitializer,
        TypeInitializer typeInitializer,
        LinkedHashMap<MethodDescription,MethodRegistry.Default.Compiled.Entry> implementations)
Creates a new compiled version of a default method registry. 
 | 
Entry(LatentMatcher<? super MethodDescription> matcher,
     MethodRegistry.Handler handler,
     MethodAttributeAppender.Factory attributeAppenderFactory,
     MethodTransformer methodTransformer)
Creates a new entry. 
 | 
Prepared(LinkedHashMap<MethodDescription,MethodRegistry.Default.Prepared.Entry> implementations,
        LoadedTypeInitializer loadedTypeInitializer,
        TypeInitializer typeInitializer,
        TypeDescription instrumentedType,
        MethodGraph.Linked methodGraph)
Creates a prepared version of a default method registry. 
 | 
| Modifier and Type | Class and Description | 
|---|---|
protected static class  | 
MethodRebaseResolver.Resolution.ForRebasedConstructor.RebasedConstructor
An description of a rebased constructor. 
 | 
protected static class  | 
MethodRebaseResolver.Resolution.ForRebasedMethod.RebasedMethod
A description of a rebased method. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
MethodDescription | 
RebaseImplementationTarget.RebasedMethodInvocation.getMethodDescription()  | 
| Modifier and Type | Method and Description | 
|---|---|
protected static LatentMatcher<MethodDescription> | 
InliningImplementationMatcher.of(LatentMatcher<? super MethodDescription> ignoredMethods,
  TypeDescription originalType)
Creates a matcher where only overridable or declared methods are matched unless those are ignored. 
 | 
protected static ElementMatcher<MethodDescription> | 
RebaseDynamicTypeBuilder.RebaseableMatcher.of(TypeDescription instrumentedType,
  MethodList<?> instrumentedMethods)
Returns a matcher that filters any method that should not be rebased. 
 | 
ElementMatcher<? super MethodDescription> | 
InliningImplementationMatcher.resolve(TypeDescription typeDescription)  | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
RebaseDynamicTypeBuilder.RebaseableMatcher.matches(MethodDescription target)  | 
protected static Implementation.SpecialMethodInvocation | 
RebaseImplementationTarget.RebasedMethodInvocation.of(MethodDescription resolvedMethod,
  TypeDescription instrumentedType,
  StackManipulation additionalArguments)
Creates a special method invocation for the given method. 
 | 
String | 
MethodNameTransformer.transform(MethodDescription methodDescription)
Transforms a method's name to an alternative name. 
 | 
String | 
MethodNameTransformer.Suffixing.transform(MethodDescription methodDescription)  | 
String | 
MethodNameTransformer.Prefixing.transform(MethodDescription methodDescription)  | 
| Modifier and Type | Method and Description | 
|---|---|
protected DynamicType.Builder<T> | 
RedefinitionDynamicTypeBuilder.materialize(InstrumentedType.WithFlexibleName instrumentedType,
           FieldRegistry fieldRegistry,
           MethodRegistry methodRegistry,
           TypeAttributeAppender typeAttributeAppender,
           AsmVisitorWrapper asmVisitorWrapper,
           ClassFileVersion classFileVersion,
           AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
           AnnotationValueFilter.Factory annotationValueFilterFactory,
           AnnotationRetention annotationRetention,
           Implementation.Context.Factory implementationContextFactory,
           MethodGraph.Compiler methodGraphCompiler,
           TypeValidation typeValidation,
           LatentMatcher<? super MethodDescription> ignoredMethods)  | 
protected DynamicType.Builder<T> | 
RebaseDynamicTypeBuilder.materialize(InstrumentedType.WithFlexibleName instrumentedType,
           FieldRegistry fieldRegistry,
           MethodRegistry methodRegistry,
           TypeAttributeAppender typeAttributeAppender,
           AsmVisitorWrapper asmVisitorWrapper,
           ClassFileVersion classFileVersion,
           AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
           AnnotationValueFilter.Factory annotationValueFilterFactory,
           AnnotationRetention annotationRetention,
           Implementation.Context.Factory implementationContextFactory,
           MethodGraph.Compiler methodGraphCompiler,
           TypeValidation typeValidation,
           LatentMatcher<? super MethodDescription> ignoredMethods)  | 
protected static LatentMatcher<MethodDescription> | 
InliningImplementationMatcher.of(LatentMatcher<? super MethodDescription> ignoredMethods,
  TypeDescription originalType)
Creates a matcher where only overridable or declared methods are matched unless those are ignored. 
 | 
| Constructor and Description | 
|---|
RebasedMethodInvocation(MethodDescription methodDescription,
                       TypeDescription instrumentedType,
                       StackManipulation stackManipulation)
Creates a new rebased method invocation. 
 | 
| Constructor and Description | 
|---|
InliningImplementationMatcher(LatentMatcher<? super MethodDescription> ignoredMethods,
                             ElementMatcher<? super MethodDescription> predefinedMethodSignatures)
Creates a new inline implementation matcher. 
 | 
InliningImplementationMatcher(LatentMatcher<? super MethodDescription> ignoredMethods,
                             ElementMatcher<? super MethodDescription> predefinedMethodSignatures)
Creates a new inline implementation matcher. 
 | 
RebaseDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
                        ClassFileVersion classFileVersion,
                        AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
                        AnnotationValueFilter.Factory annotationValueFilterFactory,
                        AnnotationRetention annotationRetention,
                        Implementation.Context.Factory implementationContextFactory,
                        MethodGraph.Compiler methodGraphCompiler,
                        TypeValidation typeValidation,
                        LatentMatcher<? super MethodDescription> ignoredMethods,
                        TypeDescription originalType,
                        ClassFileLocator classFileLocator,
                        MethodNameTransformer methodNameTransformer)
Creates a rebase dynamic type builder. 
 | 
RebaseDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
                        FieldRegistry fieldRegistry,
                        MethodRegistry methodRegistry,
                        TypeAttributeAppender typeAttributeAppender,
                        AsmVisitorWrapper asmVisitorWrapper,
                        ClassFileVersion classFileVersion,
                        AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
                        AnnotationValueFilter.Factory annotationValueFilterFactory,
                        AnnotationRetention annotationRetention,
                        Implementation.Context.Factory implementationContextFactory,
                        MethodGraph.Compiler methodGraphCompiler,
                        TypeValidation typeValidation,
                        LatentMatcher<? super MethodDescription> ignoredMethods,
                        TypeDescription originalType,
                        ClassFileLocator classFileLocator,
                        MethodNameTransformer methodNameTransformer)
Creates a rebase dynamic type builder. 
 | 
RedefinitionDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
                              ClassFileVersion classFileVersion,
                              AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
                              AnnotationValueFilter.Factory annotationValueFilterFactory,
                              AnnotationRetention annotationRetention,
                              Implementation.Context.Factory implementationContextFactory,
                              MethodGraph.Compiler methodGraphCompiler,
                              TypeValidation typeValidation,
                              LatentMatcher<? super MethodDescription> ignoredMethods,
                              TypeDescription originalType,
                              ClassFileLocator classFileLocator)
Creates a redefinition dynamic type builder. 
 | 
RedefinitionDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
                              FieldRegistry fieldRegistry,
                              MethodRegistry methodRegistry,
                              TypeAttributeAppender typeAttributeAppender,
                              AsmVisitorWrapper asmVisitorWrapper,
                              ClassFileVersion classFileVersion,
                              AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
                              AnnotationValueFilter.Factory annotationValueFilterFactory,
                              AnnotationRetention annotationRetention,
                              Implementation.Context.Factory implementationContextFactory,
                              MethodGraph.Compiler methodGraphCompiler,
                              TypeValidation typeValidation,
                              LatentMatcher<? super MethodDescription> ignoredMethods,
                              TypeDescription originalType,
                              ClassFileLocator classFileLocator)
Creates a redefinition dynamic type builder. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
protected Map<MethodDescription.SignatureToken,MethodDescription> | 
SubclassImplementationTarget.superConstructors
The constructor of the super type, mapped by the constructor's method token. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
ElementMatcher<? super MethodDescription> | 
SubclassDynamicTypeBuilder.InstrumentableMatcher.resolve(TypeDescription typeDescription)  | 
| Modifier and Type | Method and Description | 
|---|---|
protected DynamicType.Builder<T> | 
SubclassDynamicTypeBuilder.materialize(InstrumentedType.WithFlexibleName instrumentedType,
           FieldRegistry fieldRegistry,
           MethodRegistry methodRegistry,
           TypeAttributeAppender typeAttributeAppender,
           AsmVisitorWrapper asmVisitorWrapper,
           ClassFileVersion classFileVersion,
           AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
           AnnotationValueFilter.Factory annotationValueFilterFactory,
           AnnotationRetention annotationRetention,
           Implementation.Context.Factory implementationContextFactory,
           MethodGraph.Compiler methodGraphCompiler,
           TypeValidation typeValidation,
           LatentMatcher<? super MethodDescription> ignoredMethods)  | 
| Constructor and Description | 
|---|
InstrumentableMatcher(LatentMatcher<? super MethodDescription> ignoredMethods)
Creates a latent method matcher that matches all methods that are to be instrumented by a  
SubclassDynamicTypeBuilder. | 
SubclassDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
                          ClassFileVersion classFileVersion,
                          AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
                          AnnotationValueFilter.Factory annotationValueFilterFactory,
                          AnnotationRetention annotationRetention,
                          Implementation.Context.Factory implementationContextFactory,
                          MethodGraph.Compiler methodGraphCompiler,
                          TypeValidation typeValidation,
                          LatentMatcher<? super MethodDescription> ignoredMethods,
                          ConstructorStrategy constructorStrategy)
Creates a new type builder for creating a subclass. 
 | 
SubclassDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
                          FieldRegistry fieldRegistry,
                          MethodRegistry methodRegistry,
                          TypeAttributeAppender typeAttributeAppender,
                          AsmVisitorWrapper asmVisitorWrapper,
                          ClassFileVersion classFileVersion,
                          AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
                          AnnotationValueFilter.Factory annotationValueFilterFactory,
                          AnnotationRetention annotationRetention,
                          Implementation.Context.Factory implementationContextFactory,
                          MethodGraph.Compiler methodGraphCompiler,
                          TypeValidation typeValidation,
                          LatentMatcher<? super MethodDescription> ignoredMethods,
                          ConstructorStrategy constructorStrategy)
Creates a new type builder for creating a subclass. 
 | 
| Modifier and Type | Class and Description | 
|---|---|
protected static class  | 
Implementation.Context.Default.AbstractPropertyAccessorMethod
A base implementation of a method that accesses a property of an instrumented type. 
 | 
protected static class  | 
Implementation.Context.Default.AccessorMethod
A description of an accessor method to access another method from outside the instrumented type. 
 | 
protected static class  | 
Implementation.Context.Default.FieldGetter
A description of a field getter method. 
 | 
protected static class  | 
Implementation.Context.Default.FieldSetter
A description of a field setter method. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
protected MethodDescription | 
Implementation.Context.Default.AbstractDelegationRecord.methodDescription
The delegation method. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
MethodDescription | 
Implementation.Context.Default.AbstractDelegationRecord.getMethod()  | 
MethodDescription | 
Implementation.SpecialMethodInvocation.getMethodDescription()
Returns the method that represents this special method invocation. 
 | 
MethodDescription | 
Implementation.SpecialMethodInvocation.Illegal.getMethodDescription()  | 
MethodDescription | 
Implementation.SpecialMethodInvocation.Simple.getMethodDescription()  | 
MethodDescription | 
MethodCall.MethodLocator.resolve(MethodDescription instrumentedMethod)
Resolves the method to be invoked. 
 | 
MethodDescription | 
MethodCall.MethodLocator.ForInterceptedMethod.resolve(MethodDescription instrumentedMethod)  | 
MethodDescription | 
MethodCall.MethodLocator.ForExplicitMethod.resolve(MethodDescription instrumentedMethod)  | 
| Modifier and Type | Method and Description | 
|---|---|
ByteCodeAppender.Size | 
DefaultMethodCall.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
InvokeDynamic.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
InvocationHandlerAdapter.ForStaticDelegation.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
InvocationHandlerAdapter.ForInstanceDelegation.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
MethodCall.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
ExceptionMethod.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
FieldAccessor.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
Forwarding.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
Implementation.Context.Default.AccessorMethodDelegation.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
Implementation.Context.Default.FieldGetterDelegation.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
Implementation.Context.Default.FieldSetterDelegation.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
SuperMethodCall.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
StubMethod.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
FixedValue.ForOriginType.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
FixedValue.ForNullValue.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
FixedValue.ForPoolValue.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
MethodDelegation.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
protected ByteCodeAppender.Size | 
FixedValue.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod,
     TypeDescription.Generic fixedValueType,
     StackManipulation valueLoadingInstruction)
Blueprint method that for applying the actual implementation. 
 | 
protected ByteCodeAppender.Size | 
InvocationHandlerAdapter.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod,
     TypeDescription instrumentedType,
     StackManipulation preparingManipulation)
Applies an implementation that delegates to a invocation handler. 
 | 
protected ByteCodeAppender.Size | 
FieldAccessor.applyGetter(MethodVisitor methodVisitor,
           Implementation.Context implementationContext,
           FieldDescription fieldDescription,
           MethodDescription methodDescription)
Applies a field getter implementation. 
 | 
protected ByteCodeAppender.Size | 
FieldAccessor.applySetter(MethodVisitor methodVisitor,
           Implementation.Context implementationContext,
           FieldDescription fieldDescription,
           MethodDescription methodDescription)
Applies a field setter implementation. 
 | 
static MethodCall | 
MethodCall.construct(MethodDescription methodDescription)
Invokes the given constructor in order to create an instance. 
 | 
String | 
FieldAccessor.FieldNameExtractor.fieldNameFor(MethodDescription methodDescription)
Extracts a field name to be accessed by a getter or setter method. 
 | 
String | 
FieldAccessor.FieldNameExtractor.ForBeanProperty.fieldNameFor(MethodDescription methodDescription)  | 
protected abstract String | 
FieldAccessor.getFieldName(MethodDescription targetMethod)
Locates a field's name. 
 | 
protected String | 
FieldAccessor.ForUnnamedField.getFieldName(MethodDescription targetMethod)  | 
protected String | 
FieldAccessor.ForNamedField.getFieldName(MethodDescription targetMethod)  | 
static MethodCall.WithoutSpecifiedTarget | 
MethodCall.invoke(MethodDescription methodDescription)
Invokes the given method. 
 | 
StackManipulation | 
MethodCall.MethodInvoker.invoke(MethodDescription invokedMethod,
      Implementation.Target implementationTarget)
Invokes the method. 
 | 
StackManipulation | 
MethodCall.MethodInvoker.ForContextualInvocation.invoke(MethodDescription invokedMethod,
      Implementation.Target implementationTarget)  | 
StackManipulation | 
MethodCall.MethodInvoker.ForVirtualInvocation.invoke(MethodDescription invokedMethod,
      Implementation.Target implementationTarget)  | 
StackManipulation | 
MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType.invoke(MethodDescription invokedMethod,
      Implementation.Target implementationTarget)  | 
StackManipulation | 
MethodCall.MethodInvoker.ForSuperMethodInvocation.invoke(MethodDescription invokedMethod,
      Implementation.Target implementationTarget)  | 
StackManipulation | 
MethodCall.MethodInvoker.ForDefaultMethodInvocation.invoke(MethodDescription invokedMethod,
      Implementation.Target implementationTarget)  | 
InvokeDynamic.InvocationProvider.Target | 
InvokeDynamic.InvocationProvider.make(MethodDescription methodDescription)
Creates a target for the invocation. 
 | 
InvokeDynamic.InvocationProvider.Default.Target | 
InvokeDynamic.InvocationProvider.Default.make(MethodDescription methodDescription)  | 
protected abstract StackManipulation | 
SuperMethodCall.Appender.TerminationHandler.of(MethodDescription methodDescription)
Creates a stack manipulation that represents this handler's behavior. 
 | 
static Implementation.SpecialMethodInvocation | 
Implementation.SpecialMethodInvocation.Simple.of(MethodDescription methodDescription,
  TypeDescription typeDescription)
Creates a special method invocation for a given invocation target. 
 | 
String | 
InvokeDynamic.InvocationProvider.NameProvider.resolve(MethodDescription methodDescription)
Resolves the name given the intercepted method. 
 | 
String | 
InvokeDynamic.InvocationProvider.NameProvider.ForInterceptedMethod.resolve(MethodDescription methodDescription)  | 
String | 
InvokeDynamic.InvocationProvider.NameProvider.ForExplicitName.resolve(MethodDescription methodDescription)  | 
TypeDescription | 
InvokeDynamic.InvocationProvider.ReturnTypeProvider.resolve(MethodDescription methodDescription)
Resolves the return type that is requested from the bootstrap method. 
 | 
TypeDescription | 
InvokeDynamic.InvocationProvider.ReturnTypeProvider.ForInterceptedMethod.resolve(MethodDescription methodDescription)  | 
TypeDescription | 
InvokeDynamic.InvocationProvider.ReturnTypeProvider.ForExplicitType.resolve(MethodDescription methodDescription)  | 
MethodDescription | 
MethodCall.MethodLocator.resolve(MethodDescription instrumentedMethod)
Resolves the method to be invoked. 
 | 
MethodDescription | 
MethodCall.MethodLocator.ForInterceptedMethod.resolve(MethodDescription instrumentedMethod)  | 
MethodDescription | 
MethodCall.MethodLocator.ForExplicitMethod.resolve(MethodDescription instrumentedMethod)  | 
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 | 
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)  | 
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.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,
       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(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForThisReference.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForOwnType.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForMethodParameter.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForStaticField.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForInstanceField.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForExistingField.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForBooleanConstant.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForByteConstant.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForShortConstant.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForCharacterConstant.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForIntegerConstant.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForLongConstant.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForFloatConstant.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForDoubleConstant.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForTextConstant.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForClassConstant.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForEnumerationValue.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
StackManipulation | 
MethodCall.ArgumentLoader.ForJavaInstance.resolve(TypeDescription instrumentedType,
       MethodDescription interceptedMethod,
       ParameterDescription target,
       Assigner assigner,
       Assigner.Typing typing)  | 
| Modifier and Type | Method and Description | 
|---|---|
MethodDelegation | 
MethodDelegation.filter(ElementMatcher<? super MethodDescription> methodMatcher)
Applies a filter to target methods that are eligible for delegation. 
 | 
MethodDelegation.MethodContainer | 
MethodDelegation.MethodContainer.filter(ElementMatcher<? super MethodDescription> matcher)
Appends a filter that is applied to the methods that this container represents. 
 | 
MethodDelegation.MethodContainer | 
MethodDelegation.MethodContainer.ForExplicitMethods.filter(ElementMatcher<? super MethodDescription> matcher)  | 
MethodDelegation.MethodContainer | 
MethodDelegation.MethodContainer.ForVirtualMethods.filter(ElementMatcher<? super MethodDescription> matcher)  | 
| Constructor and Description | 
|---|
AbstractDelegationRecord(MethodDescription methodDescription)
Creates a new delegation record. 
 | 
AccessorMethod(TypeDescription instrumentedType,
              MethodDescription methodDescription,
              String suffix)
Creates a new accessor method. 
 | 
AccessorMethodDelegation(MethodDescription methodDescription,
                        StackManipulation accessorMethodInvocation)
Creates a new accessor method delegation. 
 | 
FieldGetterDelegation(MethodDescription methodDescription,
                     FieldDescription fieldDescription)
Creates a new field getter implementation. 
 | 
FieldSetterDelegation(MethodDescription methodDescription,
                     FieldDescription fieldDescription)
Creates a new field setter. 
 | 
ForExplicitMethod(MethodDescription methodDescription)
Creates a new method locator for a given method. 
 | 
Simple(MethodDescription methodDescription,
      TypeDescription typeDescription,
      StackManipulation stackManipulation)
Creates a new legal special method invocation. 
 | 
Target(String internalName,
      TypeDescription returnType,
      List<InvokeDynamic.InvocationProvider.ArgumentProvider> argumentProviders,
      MethodDescription instrumentedMethod)
Creates a new target. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected abstract AnnotationAppender | 
MethodAttributeAppender.ForInstrumentedMethod.appendReceiver(AnnotationAppender annotationAppender,
              AnnotationValueFilter annotationValueFilter,
              MethodDescription methodDescription)
Appends the annotations of the instrumented method's receiver type if this is enabled and such a type exists. 
 | 
void | 
MethodAttributeAppender.apply(MethodVisitor methodVisitor,
     MethodDescription methodDescription,
     AnnotationValueFilter annotationValueFilter)
Applies this attribute appender to a given method visitor. 
 | 
void | 
MethodAttributeAppender.NoOp.apply(MethodVisitor methodVisitor,
     MethodDescription methodDescription,
     AnnotationValueFilter annotationValueFilter)  | 
void | 
MethodAttributeAppender.ForInstrumentedMethod.apply(MethodVisitor methodVisitor,
     MethodDescription methodDescription,
     AnnotationValueFilter annotationValueFilter)  | 
void | 
MethodAttributeAppender.Explicit.apply(MethodVisitor methodVisitor,
     MethodDescription methodDescription,
     AnnotationValueFilter annotationValueFilter)  | 
void | 
MethodAttributeAppender.ForReceiverType.apply(MethodVisitor methodVisitor,
     MethodDescription methodDescription,
     AnnotationValueFilter annotationValueFilter)  | 
void | 
MethodAttributeAppender.Compound.apply(MethodVisitor methodVisitor,
     MethodDescription methodDescription,
     AnnotationValueFilter annotationValueFilter)  | 
AnnotationAppender.Target | 
MethodAttributeAppender.Explicit.Target.make(MethodVisitor methodVisitor,
    MethodDescription methodDescription)
Materializes the target for a given creation process. 
 | 
AnnotationAppender.Target | 
MethodAttributeAppender.Explicit.Target.OnMethod.make(MethodVisitor methodVisitor,
    MethodDescription methodDescription)  | 
AnnotationAppender.Target | 
MethodAttributeAppender.Explicit.Target.OnMethodParameter.make(MethodVisitor methodVisitor,
    MethodDescription methodDescription)  | 
static MethodAttributeAppender.Factory | 
MethodAttributeAppender.Explicit.of(MethodDescription methodDescription)
Creates a method attribute appender factory that writes all annotations of a given method, both the method
 annotations themselves and all annotations that are defined for every parameter. 
 | 
AnnotationValueFilter | 
AnnotationValueFilter.Factory.on(MethodDescription methodDescription)
Creates an annotation value filter for writing annotations on a method. 
 | 
AnnotationValueFilter | 
AnnotationValueFilter.Default.on(MethodDescription methodDescription)  | 
| Modifier and Type | Method and Description | 
|---|---|
ByteCodeAppender.Size | 
TypeProxy.SilentConstruction.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
TypeProxy.MethodCall.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
MethodCallProxy.ConstructorCall.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
MethodCallProxy.MethodCall.Appender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
Implementation.SpecialMethodInvocation | 
TypeProxy.InvocationFactory.invoke(Implementation.Target implementationTarget,
      TypeDescription proxiedType,
      MethodDescription instrumentedMethod)
Creates a special method invocation to implement for a given method. 
 | 
| Constructor and Description | 
|---|
AccessorMethodInvocation(MethodDescription instrumentedMethod,
                        Implementation.SpecialMethodInvocation specialMethodInvocation)
Creates a new accessor method invocation. 
 | 
MethodCall(MethodDescription accessorMethod,
          Assigner assigner)
Creates a new method call implementation. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
MethodDescription | 
MethodDelegationBinder.MethodBinding.getTarget()
Returns the target method of the method binding attempt. 
 | 
MethodDescription | 
MethodDelegationBinder.MethodBinding.Illegal.getTarget()  | 
MethodDescription | 
MethodDelegationBinder.MethodBinding.Builder.Build.getTarget()  | 
| Constructor and Description | 
|---|
Build(MethodDescription target,
     Map<?,Integer> registeredTargetIndices,
     StackManipulation methodInvocation,
     List<StackManipulation> parameterStackManipulations,
     StackManipulation terminatingStackManipulation)
Creates a new method binding. 
 | 
Builder(MethodDelegationBinder.MethodInvoker methodInvoker,
       MethodDescription target)
Creates a new builder for the binding of a given method. 
 | 
| Constructor and Description | 
|---|
Binder(MethodDescription forwardingMethod)
Creates a new binder. 
 | 
Binder(MethodDescription forwardingMethod)
Creates a new binder. 
 | 
Binder(MethodDescription getterMethod,
      MethodDescription setterMethod)
Creates a new binder for the  
FieldProxy
 annotation. | 
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. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
ByteCodeAppender.Size | 
ByteCodeAppender.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process. 
 | 
ByteCodeAppender.Size | 
ByteCodeAppender.Compound.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
ByteCodeAppender.Size | 
ByteCodeAppender.Simple.apply(MethodVisitor methodVisitor,
     Implementation.Context implementationContext,
     MethodDescription instrumentedMethod)  | 
| Modifier and Type | Method and Description | 
|---|---|
protected abstract MethodDescription | 
MethodConstant.accessorMethod()
Returns the method for loading a declared method or constructor onto the operand stack. 
 | 
protected MethodDescription | 
MethodConstant.ForMethod.accessorMethod()  | 
protected MethodDescription | 
MethodConstant.ForConstructor.accessorMethod()  | 
| Modifier and Type | Method and Description | 
|---|---|
static MethodVariableAccess.MethodLoading | 
MethodVariableAccess.allArgumentsOf(MethodDescription methodDescription)
Loads all arguments of the provided method onto the operand stack. 
 | 
MethodVariableAccess.MethodLoading | 
MethodVariableAccess.MethodLoading.asBridgeOf(MethodDescription bridgeTarget)
Applies a transformation to all loaded arguments of the method being loaded to be casted to the corresponding parameter of
 the provided method. 
 | 
static MethodInvocation.WithImplicitInvocationTargetType | 
MethodInvocation.invoke(MethodDescription methodDescription)
Creates a method invocation with an implicitly determined invocation type. 
 | 
protected static MethodInvocation.WithImplicitInvocationTargetType | 
MethodInvocation.OfGenericMethod.of(MethodDescription methodDescription,
  MethodInvocation.WithImplicitInvocationTargetType invocation)
Creates a generic access dispatcher for a given method. 
 | 
| Constructor and Description | 
|---|
DynamicInvocation(String methodName,
                 TypeDescription returnType,
                 TypeList parameterTypes,
                 MethodDescription bootstrapMethod,
                 List<?> arguments)
Creates a new dynamic method invocation. 
 | 
ForBridgeTarget(MethodDescription bridgeTarget)
Creates a new type casting handler for a bridge target. 
 | 
Invocation(MethodDescription methodDescription)
Creates an invocation of a given method on its declaring type as an invocation target. 
 | 
Invocation(MethodDescription methodDescription,
          TypeDescription typeDescription)
Creates an invocation of a given method on a given invocation target type. 
 | 
MethodLoading(MethodDescription methodDescription,
             MethodVariableAccess.MethodLoading.TypeCastingHandler typeCastingHandler)
Creates a new method loading stack manipulation. 
 | 
| Modifier and Type | Class and Description | 
|---|---|
class  | 
MethodExceptionTypeMatcher<T extends MethodDescription>
An element matcher that matches the exceptions that are declared by a method. 
 | 
class  | 
MethodParametersMatcher<T extends MethodDescription>
An element matcher that matches a method's parameters. 
 | 
class  | 
MethodReturnTypeMatcher<T extends MethodDescription>
An element matcher that matches its argument's return type against a given type matcher. 
 | 
class  | 
MethodSortMatcher<T extends MethodDescription>
Matches a method description by its general characteristics which are represented as a
  
MethodSortMatcher.Sort. | 
| Modifier and Type | Method and Description | 
|---|---|
static <T extends MethodDescription> | 
ElementMatchers.anyOf(Constructor<?>... value)
Creates a matcher that matches any of the given constructors as  
MethodDescriptions
 by the Object.equals(Object) method. | 
static <T extends MethodDescription> | 
ElementMatchers.anyOf(Method... value)
Creates a matcher that matches any of the given methods as  
MethodDescriptions
 by the Object.equals(Object) method. | 
static <T extends MethodDescription> | 
ElementMatchers.canThrow(Class<? extends Throwable> exceptionType)
Matches a  
MethodDescription by its capability to throw a given
 checked exception. | 
static <T extends MethodDescription> | 
ElementMatchers.canThrow(TypeDescription exceptionType)
Matches a  
MethodDescription by its capability to throw a given
 checked exception. | 
static <T extends MethodDescription> | 
ElementMatchers.declaresException(Class<? extends Throwable> exceptionType)
Matches a method that declares the given generic exception type as a (erased) exception type. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.declaresException(TypeDescription exceptionType)
Matches a method that declares the given generic exception type as a (erased) exception type. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.declaresGenericException(ElementMatcher<? super Iterable<? extends TypeDescription.Generic>> exceptionMatcher)
Matches a method's generic exception types against the provided matcher. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.declaresGenericException(Type exceptionType)
Matches a method that declares the given generic exception type. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.declaresGenericException(TypeDescription.Generic exceptionType)
Matches a method that declares the given generic exception type. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.definedMethod(ElementMatcher<? super MethodDescription.InDefinedShape> matcher)
Matches a method in its defined shape. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.hasMethodName(String internalName)
Matches a method against its internal name such that constructors and type initializers are matched appropriately. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.hasParameters(ElementMatcher<? super Iterable<? extends ParameterDescription>> matcher)
Matches a  
MethodDescription by validating that its parameters
 fulfill a given constraint. | 
static <T extends MethodDescription> | 
ElementMatchers.is(Constructor<?> constructor)
Exactly matches a given constructor as a  
MethodDescription. | 
static <T extends MethodDescription> | 
ElementMatchers.is(Method method)
Exactly matches a given method as a  
MethodDescription. | 
static <T extends MethodDescription> | 
ElementMatchers.isBridge()
Matches a  
MethodDescription that is a bridge. | 
static <T extends MethodDescription> | 
ElementMatchers.isClone()
Only matches the  
Object.clone() method, also if it was overridden. | 
static <T extends MethodDescription> | 
ElementMatchers.isConstructor()
Only matches method descriptions that represent a  
Constructor. | 
static <T extends MethodDescription> | 
ElementMatchers.isDefaultConstructor()
Matches a default constructor, i.e. a constructor without arguments. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.isDefaultFinalizer()
Only matches the  
Object.finalize() method if it was not overridden. | 
static <T extends MethodDescription> | 
ElementMatchers.isDefaultMethod()
Only matches Java 8 default methods. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.isEquals()
Only matches the  
Object.equals(Object) method, also if it was overridden. | 
static <T extends MethodDescription> | 
ElementMatchers.isFinalizer()
Only matches the  
Object.finalize() method, even if it was overridden. | 
static <T extends MethodDescription> | 
ElementMatchers.isGetter()
Matches any Java bean getter method. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.isGetter(ElementMatcher<? super TypeDescription.Generic> matcher)
Matches any Java bean getter method which returns an value with a type matches the supplied matcher. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.isGetter(Type type)
Matches any Java bean getter method which returns the given type. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.isGetter(TypeDescription.Generic type)
Matches any Java bean getter method which returns the given type. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.isHashCode()
Only matches the  
Object.toString() method, also if it was overridden. | 
static <T extends MethodDescription> | 
ElementMatchers.isMethod()
Only matches method descriptions that represent a  
Method. | 
static <T extends MethodDescription> | 
ElementMatchers.isNative()
Matches a  
MethodDescription that is native. | 
static <T extends MethodDescription> | 
ElementMatchers.isSetter()
Matches any Java bean setter method. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.isSetter(ElementMatcher<? super TypeDescription.Generic> matcher)
Matches any Java bean setter method which takes an argument that matches the supplied matcher. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.isSetter(Type type)
Matches any Java bean setter method which takes an argument the given type. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.isSetter(TypeDescription.Generic type)
Matches any Java bean setter method which takes an argument the given type. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.isStrict()
Matches a  
MethodDescription that is strictfp. | 
static <T extends MethodDescription> | 
ElementMatchers.isSynchronized()
Matches a  
MethodDescription that is synchronized. | 
static <T extends MethodDescription> | 
ElementMatchers.isToString()
Only matches the  
Object.toString() method, also if it was overridden. | 
static <T extends MethodDescription> | 
ElementMatchers.isTypeInitializer()
Only matches method descriptions that represent a  
Class type initializer. | 
static <T extends MethodDescription> | 
ElementMatchers.isVarArgs()
Matches a  
MethodDescription that is a var-args. | 
static <T extends MethodDescription> | 
ElementMatchers.isVirtual()
Matches any method that is virtual, i.e. non-constructors that are non-static and non-private. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.noneOf(Constructor<?>... value)
Creates a matcher that matches none of the given constructors as  
MethodDescriptions
 by the Object.equals(Object) method. | 
static <T extends MethodDescription> | 
ElementMatchers.noneOf(Method... value)
Creates a matcher that matches none of the given methods as  
MethodDescriptions
 by the Object.equals(Object) method. | 
static <T extends MethodDescription> | 
ElementMatchers.returns(Class<?> type)
Matches  
MethodDescriptions that return a given erasure type. | 
static <T extends MethodDescription> | 
ElementMatchers.returns(ElementMatcher<? super TypeDescription> matcher)
Matches a method's return type's erasure by the given matcher. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.returns(TypeDescription type)
Matches  
MethodDescriptions that return a given erasure type. | 
static <T extends MethodDescription> | 
ElementMatchers.returnsGeneric(ElementMatcher<? super TypeDescription.Generic> matcher)
Matches  
MethodDescriptions that match a matched method's return type. | 
static <T extends MethodDescription> | 
ElementMatchers.returnsGeneric(Type type)
Matches  
MethodDescriptions that return a given generic type. | 
static <T extends MethodDescription> | 
ElementMatchers.returnsGeneric(TypeDescription.Generic type)
Matches  
MethodDescriptions that returns a given
 TypeDescription. | 
static <T extends MethodDescription> | 
ElementMatchers.takesArgument(int index,
             Class<?> type)
Matches  
MethodDescriptions that define a given generic type as a parameter at the given index. | 
static <T extends MethodDescription> | 
ElementMatchers.takesArgument(int index,
             TypeDescription type)
Matches  
MethodDescriptions that define a given generic type as a parameter at the given index. | 
static <T extends MethodDescription> | 
ElementMatchers.takesArguments(Class<?>... type)
Matches a method description that takes the provided raw arguments. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.takesArguments(int length)
Matches a  
MethodDescription by the number of its parameters. | 
static <T extends MethodDescription> | 
ElementMatchers.takesArguments(Iterable<? extends TypeDescription> types)
Matches a method description that takes the provided raw arguments. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.takesArguments(TypeDescription... type)
Matches a method description that takes the provided raw arguments. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.takesGenericArgument(int index,
                    ElementMatcher<? super TypeDescription.Generic> matcher)
Matches  
MethodDescriptions that define a given generic type as a parameter at the given index. | 
static <T extends MethodDescription> | 
ElementMatchers.takesGenericArgument(int index,
                    Type type)
Matches  
MethodDescriptions that define a given generic type as a parameter at the given index. | 
static <T extends MethodDescription> | 
ElementMatchers.takesGenericArgument(int index,
                    TypeDescription.Generic type)
Matches  
MethodDescriptions that define a given generic type as a parameter at the given index. | 
static <T extends MethodDescription> | 
ElementMatchers.takesGenericArguments(ElementMatcher<? super Iterable<? extends TypeDescription.Generic>> matchers)
Matches a  
MethodDescription by applying an iterable collection of element matcher on any parameter's TypeDescription. | 
static <T extends MethodDescription> | 
ElementMatchers.takesGenericArguments(List<? extends TypeDefinition> types)
Matches a method description that takes the provided generic arguments. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.takesGenericArguments(Type... type)
Matches a method description that takes the provided generic arguments. 
 | 
static <T extends MethodDescription> | 
ElementMatchers.takesGenericArguments(TypeDefinition... type)
Matches a method description that takes the provided generic arguments. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
ElementMatcher<? super MethodDescription> | 
LatentMatcher.ForMethodToken.resolve(TypeDescription typeDescription)  | 
| Modifier and Type | Method and Description | 
|---|---|
protected abstract boolean | 
MethodSortMatcher.Sort.isSort(MethodDescription target)
Determines if a method description is of the represented method sort. 
 | 
boolean | 
LatentMatcher.ForMethodToken.ResolvedMatcher.matches(MethodDescription target)  | 
| Modifier and Type | Method and Description | 
|---|---|
static <T extends TypeDefinition> | 
ElementMatchers.declaresMethod(ElementMatcher<? super MethodDescription> methodMatcher)
Matches a type by a another matcher that is applied on any of its declared methods. 
 | 
| Constructor and Description | 
|---|
DeclaringMethodMatcher(ElementMatcher<? super MethodList<? extends MethodDescription>> methodMatcher)
Creates a new matcher for a type's declared methods. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
MethodDescription | 
TypePool.Default.LazyTypeDescription.getEnclosingMethod()  | 
MethodDescription | 
TypePool.LazyFacade.LazyResolution.LazyTypeDescription.getEnclosingMethod()  | 
MethodDescription | 
TypePool.Default.LazyTypeDescription.DeclarationContext.getEnclosingMethod(TypePool typePool)
Returns the enclosing method or  
null if no such method exists. | 
MethodDescription | 
TypePool.Default.LazyTypeDescription.DeclarationContext.SelfDeclared.getEnclosingMethod(TypePool typePool)  | 
MethodDescription | 
TypePool.Default.LazyTypeDescription.DeclarationContext.DeclaredInType.getEnclosingMethod(TypePool typePool)  | 
MethodDescription | 
TypePool.Default.LazyTypeDescription.DeclarationContext.DeclaredInMethod.getEnclosingMethod(TypePool typePool)  | 
| Modifier and Type | Method and Description | 
|---|---|
static JavaInstance.MethodType | 
JavaInstance.MethodType.of(MethodDescription methodDescription)
Returns a method type description of the given method. 
 | 
static JavaInstance.MethodHandle | 
JavaInstance.MethodHandle.of(MethodDescription methodDescription)
Creates a method handle representation of the given method. 
 | 
protected static JavaInstance.MethodHandle.HandleType | 
JavaInstance.MethodHandle.HandleType.of(MethodDescription methodDescription)
Extracts a handle type for invoking the given method. 
 | 
protected static JavaInstance.MethodHandle.HandleType | 
JavaInstance.MethodHandle.HandleType.ofSpecial(MethodDescription methodDescription)
Extracts a handle type for invoking the given method via invokespecial. 
 | 
static JavaInstance.MethodHandle | 
JavaInstance.MethodHandle.ofSpecial(MethodDescription methodDescription,
         TypeDescription typeDescription)
Creates a method handle representation of the given method for an explicit special method invocation of an otherwise virtual method. 
 | 
Copyright © 2014–2016. All rights reserved.