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 |
StackManipulation s in this package are responsible for
creating compile-time constants and pushing them onto the operand stack. |
net.bytebuddy.implementation.bytecode.member |
StackManipulation s 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
TypeDescription s 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.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,
JavaConstant.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 method that encloses this type.
|
MethodDescription |
TypeDescription.AbstractBase.OfSimpleType.WithDelegation.getEnclosingMethod() |
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 |
Transformer.ForMethod.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.
|
protected Transformer<MethodDescription> |
DynamicType.Builder.MethodDefinition.AbstractBase.Adapter.transformer
The transformer to apply onto the method that is currently being implemented.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
Transformer.ForMethod.TransformedMethod.TransformedParameter.getDeclaringMethod() |
MethodDescription |
Transformer.ForMethod.transform(TypeDescription instrumentedType,
MethodDescription methodDescription) |
Modifier and Type | Method and Description |
---|---|
static Transformer<MethodDescription> |
Transformer.ForMethod.withModifiers(ModifierContributor.ForMethod... modifierTransformer)
Creates a transformer that enforces the supplied modifier contributors.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
NexusAccessor.InitializationAppender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
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 |
Transformer.ForMethod.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.
|
protected abstract DynamicType.Builder.MethodDefinition<V> |
DynamicType.Builder.MethodDefinition.AbstractBase.Adapter.materialize(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer)
Materializes the current builder as a method definition.
|
protected DynamicType.Builder.MethodDefinition<U> |
DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.AnnotationAdapter.materialize(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer) |
protected DynamicType.Builder.MethodDefinition<U> |
DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter.AnnotationAdapter.materialize(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer) |
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) |
DynamicType.Builder.MethodDefinition<S> |
DynamicType.Builder.MethodDefinition.transform(Transformer<MethodDescription> transformer)
Applies the supplied transformer onto the previously defined or matched method.
|
DynamicType.Builder.MethodDefinition<V> |
DynamicType.Builder.MethodDefinition.AbstractBase.Adapter.transform(Transformer<MethodDescription> transformer) |
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.
|
Adapter(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer)
Creates a new adapter for a method definition.
|
AnnotationAdapter(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer)
Creates a new annotation adapter.
|
AnnotationAdapter(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer)
Creates a new annotation adapter.
|
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,
Transformer<MethodDescription> transformer)
Appends the given method definition to this method registry, i.e. this configuration is applied last.
|
MethodRegistry |
MethodRegistry.append(LatentMatcher<? super MethodDescription> methodMatcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
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,
Transformer<MethodDescription> transformer) |
MethodRegistry |
MethodRegistry.Default.append(LatentMatcher<? super MethodDescription> matcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer) |
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,
Transformer<MethodDescription> transformer)
Prepends the given method definition to this method registry, i.e. this configuration is applied first.
|
MethodRegistry |
MethodRegistry.prepend(LatentMatcher<? super MethodDescription> methodMatcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
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,
Transformer<MethodDescription> transformer) |
MethodRegistry |
MethodRegistry.Default.prepend(LatentMatcher<? super MethodDescription> matcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer) |
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,
boolean bridgeMethod)
Creates a new entry for a compiled method registry.
|
Entry(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
MethodDescription methodDescription,
Set<MethodDescription.TypeToken> typeTokens,
boolean bridgeMethod)
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,
boolean supportsBridges)
Creates a new compiled version of a default method registry.
|
Entry(LatentMatcher<? super MethodDescription> matcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Creates a new entry.
|
Entry(LatentMatcher<? super MethodDescription> matcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
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 |
---|
AbstractInliningDynamicTypeBuilder(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 an inlining dynamic type builder.
|
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.ForInstrumentedMethod.resolve(MethodDescription instrumentedMethod) |
MethodDescription |
MethodCall.MethodLocator.ForExplicitMethod.resolve(MethodDescription instrumentedMethod) |
Modifier and Type | Method and Description |
---|---|
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 |
MethodDelegation.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
MethodCall.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 |
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 |
Forwarding.Appender.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 |
FieldAccessor.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
ExceptionMethod.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
DefaultMethodCall.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) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Creates any number of argument loaders for an instrumentation.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForNullConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForThisReference.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForInstrumentedType.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForMethodParameter.OfInstrumentedMethod.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForMethodParameter.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForStaticField.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForInstanceField.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForExistingField.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForBooleanConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForByteConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForShortConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForCharacterConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForIntegerConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForLongConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForFloatConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForDoubleConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForTextConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForClassConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForEnumerationValue.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForJavaConstant.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod) |
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.
|
MethodDescription |
MethodCall.MethodLocator.resolve(MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
MethodDescription |
MethodCall.MethodLocator.ForInstrumentedMethod.resolve(MethodDescription instrumentedMethod) |
MethodDescription |
MethodCall.MethodLocator.ForExplicitMethod.resolve(MethodDescription instrumentedMethod) |
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) |
StackManipulation |
MethodCall.TerminationHandler.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Returns a stack manipulation that handles the method return.
|
StackManipulation |
MethodCall.TerminationHandler.ForMethodReturn.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing) |
StackManipulation |
MethodCall.TerminationHandler.ForChainedInvocation.resolve(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
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.ForJavaConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
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.
|
ForExistingField(FieldDescription fieldDescription,
MethodDescription instrumentedMethod)
Creates a new argument loader for loading an existing field.
|
ForExplicitMethod(MethodDescription methodDescription)
Creates a new method locator for a given method.
|
ForMethodParameter(int index,
MethodDescription instrumentedMethod)
Creates an argument loader for a parameter of the instrumented 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.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
Morph.Binder.RedirectionProxy.InstanceFieldConstructor.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Morph.Binder.RedirectionProxy.MethodCall.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FieldProxy.Binder.InstanceFieldConstructor.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FieldProxy.Binder.FieldGetter.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FieldProxy.Binder.FieldSetter.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
MethodDelegationBinder.ParameterBinding<?> |
AllArguments.Binder.bind(AnnotationDescription.Loadable<AllArguments> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Argument.Binder.bind(AnnotationDescription.Loadable<Argument> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Default.Binder.bind(AnnotationDescription.Loadable<Default> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
DefaultCall.Binder.bind(AnnotationDescription.Loadable<DefaultCall> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Empty.Binder.bind(AnnotationDescription.Loadable<Empty> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
FieldValue.Binder.bind(AnnotationDescription.Loadable<FieldValue> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Morph.Binder.bind(AnnotationDescription.Loadable<Morph> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Origin.Binder.bind(AnnotationDescription.Loadable<Origin> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Pipe.Binder.bind(AnnotationDescription.Loadable<Pipe> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
protected abstract Object |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.bind(AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target)
Resolves a value for the given annotation on a parameter that is processed by a
MethodDelegation . |
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.bind(AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding.bind(AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
StubValue.Binder.bind(AnnotationDescription.Loadable<StubValue> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Super.Binder.bind(AnnotationDescription.Loadable<Super> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
SuperCall.Binder.bind(AnnotationDescription.Loadable<SuperCall> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.bind(AnnotationDescription.Loadable<T> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
This.Binder.bind(AnnotationDescription.Loadable<This> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
protected Object |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.OfConstant.bind(AnnotationDescription.Loadable<U> annotation,
MethodDescription source,
ParameterDescription target) |
protected MethodDelegationBinder.ParameterBinding<?> |
FieldProxy.Binder.bind(FieldDescription fieldDescription,
AnnotationDescription.Loadable<FieldProxy> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
protected MethodDelegationBinder.ParameterBinding<?> |
FieldValue.Binder.Delegate.bind(FieldDescription fieldDescription,
AnnotationDescription.Loadable<FieldValue> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
protected abstract MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding.bind(FieldDescription fieldDescription,
AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.MethodBinding |
TargetMethodAnnotationDrivenBinder.bind(Implementation.Target implementationTarget,
MethodDescription source,
MethodDescription target) |
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.bind(MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner)
Handles a parameter binding.
|
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound.bind(MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound.bind(MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
static boolean |
IgnoreForBinding.Verifier.check(MethodDescription methodDescription)
Validates if a method should be ignored for binding.
|
Iterator<AnnotationDescription> |
TargetMethodAnnotationDrivenBinder.DefaultsProvider.makeIterator(Implementation.Target implementationTarget,
MethodDescription source,
MethodDescription target)
Creates an iterator from which a value is pulled each time no processable annotation is found on a
method parameter.
|
Iterator<AnnotationDescription> |
TargetMethodAnnotationDrivenBinder.DefaultsProvider.Empty.makeIterator(Implementation.Target implementationTarget,
MethodDescription source,
MethodDescription target) |
Iterator<AnnotationDescription> |
Argument.NextUnboundAsDefaultsProvider.makeIterator(Implementation.Target implementationTarget,
MethodDescription source,
MethodDescription target) |
StackManipulation |
TargetMethodAnnotationDrivenBinder.TerminationHandler.resolve(Assigner assigner,
MethodDescription source,
MethodDescription target)
Creates a stack manipulation that is to be applied after the method return.
|
StackManipulation |
TargetMethodAnnotationDrivenBinder.TerminationHandler.Returning.resolve(Assigner assigner,
MethodDescription source,
MethodDescription target) |
StackManipulation |
TargetMethodAnnotationDrivenBinder.TerminationHandler.Dropping.resolve(Assigner assigner,
MethodDescription source,
MethodDescription target) |
Implementation.SpecialMethodInvocation |
Morph.Binder.DefaultMethodLocator.resolve(Implementation.Target implementationTarget,
MethodDescription source)
Locates the correct default method to a given source method.
|
Implementation.SpecialMethodInvocation |
Morph.Binder.DefaultMethodLocator.Implicit.resolve(Implementation.Target implementationTarget,
MethodDescription source) |
Implementation.SpecialMethodInvocation |
Morph.Binder.DefaultMethodLocator.Explicit.resolve(Implementation.Target implementationTarget,
MethodDescription source) |
Implementation.SpecialMethodInvocation |
DefaultCall.Binder.DefaultMethodLocator.resolve(Implementation.Target implementationTarget,
MethodDescription source)
Locates the correct default method to a given source method.
|
Implementation.SpecialMethodInvocation |
DefaultCall.Binder.DefaultMethodLocator.Implicit.resolve(Implementation.Target implementationTarget,
MethodDescription source) |
Implementation.SpecialMethodInvocation |
DefaultCall.Binder.DefaultMethodLocator.Explicit.resolve(Implementation.Target implementationTarget,
MethodDescription source) |
MethodDelegationBinder.AmbiguityResolver.Resolution |
BindingPriority.Resolver.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right) |
Constructor and Description |
---|
Binder(MethodDescription forwardingMethod)
Creates a new binder.
|
Binder(MethodDescription forwardingMethod)
Creates a new binder.
|
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 |
---|
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 |
MethodOverrideMatcher<T extends MethodDescription>
A matcher that checks if any super type of a type declares a method with the same shape of a matched 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
MethodDescription s
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
MethodDescription s
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>> matcher)
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.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.isGenericGetter(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.isGenericGetter(Type type)
Matches any Java bean getter method which returns the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isGenericGetter(TypeDescription.Generic type)
Matches any Java bean getter method which returns the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isGenericSetter(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.isGenericSetter(Type type)
Matches any Java bean setter method which takes an argument the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isGenericSetter(TypeDescription.Generic type)
Matches any Java bean setter method which takes an argument the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isGetter()
Matches any Java bean getter method.
|
static <T extends MethodDescription> |
ElementMatchers.isGetter(Class<?> type)
Matches any Java bean getter method which returns the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isGetter(ElementMatcher<? super TypeDescription> matcher)
Matches any Java bean getter method which returns an value with a type matches the supplied matcher.
|
static <T extends MethodDescription> |
ElementMatchers.isGetter(TypeDescription 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.isOverriddenFrom(Class<?> type)
Matches any virtual method with a signature that is compatible to a method that is declared the supplied type.
|
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFrom(ElementMatcher<? super TypeDescription> matcher)
Matches any virtual method with a signature that is compatible to a method that is declared by a type that matches the supplied matcher.
|
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFrom(TypeDescription type)
Matches any virtual method with a signature that is compatible to a method that is declared the supplied type.
|
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFromGeneric(ElementMatcher<? super TypeDescription.Generic> matcher)
Matches any virtual method with a signature that is compatible to a method that is declared by a type that matches the supplied matcher.
|
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFromGeneric(Type type)
Matches any virtual method with a signature that is compatible to a method that is declared the supplied type.
|
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFromGeneric(TypeDescription.Generic type)
Matches any virtual method with a signature that is compatible to a method that is declared the supplied type.
|
static <T extends MethodDescription> |
ElementMatchers.isSetter()
Matches any Java bean setter method.
|
static <T extends MethodDescription> |
ElementMatchers.isSetter(Class<?> type)
Matches any Java bean setter method which takes an argument the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isSetter(ElementMatcher<? super TypeDescription> matcher)
Matches any Java bean setter method which takes an argument that matches the supplied matcher.
|
static <T extends MethodDescription> |
ElementMatchers.isSetter(TypeDescription type)
Matches any Java bean setter method which takes an argument the given type.
|
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.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
MethodDescription s
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
MethodDescription s
by the Object.equals(Object) method. |
static <T extends MethodDescription> |
ElementMatchers.returns(Class<?> type)
Matches
MethodDescription s 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
MethodDescription s that return a given erasure type. |
static <T extends MethodDescription> |
ElementMatchers.returnsGeneric(ElementMatcher<? super TypeDescription.Generic> matcher)
Matches
MethodDescription s that match a matched method's return type. |
static <T extends MethodDescription> |
ElementMatchers.returnsGeneric(Type type)
Matches
MethodDescription s that return a given generic type. |
static <T extends MethodDescription> |
ElementMatchers.returnsGeneric(TypeDescription.Generic type)
Matches
MethodDescription s that returns a given
TypeDescription . |
static <T extends MethodDescription> |
ElementMatchers.takesArgument(int index,
Class<?> type)
Matches
MethodDescription s that define a given generic type as a parameter at the given index. |
static <T extends MethodDescription> |
ElementMatchers.takesArgument(int index,
TypeDescription type)
Matches
MethodDescription s 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
MethodDescription s that define a given generic type as a parameter at the given index. |
static <T extends MethodDescription> |
ElementMatchers.takesGenericArgument(int index,
Type type)
Matches
MethodDescription s 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
MethodDescription s 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> matcher)
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>> matcher)
Creates a new matcher for a type's declared methods.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
TypePool.Default.LazyTypeDescription.getEnclosingMethod() |
MethodDescription |
TypePool.Default.LazyTypeDescription.TypeContainment.getEnclosingMethod(TypePool typePool)
Returns the enclosing method or
null if no such method exists. |
MethodDescription |
TypePool.Default.LazyTypeDescription.TypeContainment.SelfContained.getEnclosingMethod(TypePool typePool) |
MethodDescription |
TypePool.Default.LazyTypeDescription.TypeContainment.WithinType.getEnclosingMethod(TypePool typePool) |
MethodDescription |
TypePool.Default.LazyTypeDescription.TypeContainment.WithinMethod.getEnclosingMethod(TypePool typePool) |
Modifier and Type | Method and Description |
---|---|
static JavaConstant.MethodType |
JavaConstant.MethodType.of(MethodDescription methodDescription)
Returns a method type description of the given method.
|
Constructor and Description |
---|
StackAwareMethodVisitor(MethodVisitor methodVisitor,
MethodDescription methodDescription)
Creates a new stack aware method visitor.
|
Copyright © 2014–2016. All rights reserved.