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.annotation |
Contains descriptions of annotations and annotation values.
|
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.
|
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. |
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 ElementMatcher<? super MethodDescription> |
ByteBuddy.ignoredMethods
A matcher for identifying methods that should never be intercepted.
|
Modifier and Type | Method and Description |
---|---|
ElementMatcher<? super MethodDescription> |
ByteBuddy.getIgnoredMethods()
Returns the matcher for the ignored methods for the current configuration.
|
ElementMatcher<? super MethodDescription> |
ByteBuddy.Proxy.getIgnoredMethods() |
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.MatchedMethodInterception |
ByteBuddy.constructor(ElementMatcher<? super MethodDescription> methodMatcher)
Intercepts a given constructor selection.
|
ByteBuddy.MatchedMethodInterception |
ByteBuddy.Proxy.constructor(ElementMatcher<? super MethodDescription> methodMatcher) |
ByteBuddy.MatchedMethodInterception |
ByteBuddy.invokable(ElementMatcher<? super MethodDescription> methodMatcher)
Intercepts a given selection of byte code level methods, i.e.
|
ByteBuddy.MatchedMethodInterception |
ByteBuddy.Proxy.invokable(ElementMatcher<? super MethodDescription> methodMatcher) |
ByteBuddy.MatchedMethodInterception |
ByteBuddy.method(ElementMatcher<? super MethodDescription> methodMatcher)
Intercepts a given method selection.
|
ByteBuddy.MatchedMethodInterception |
ByteBuddy.Proxy.method(ElementMatcher<? super MethodDescription> methodMatcher) |
ByteBuddy |
ByteBuddy.withIgnoredMethods(ElementMatcher<? super MethodDescription> ignoredMethods)
Defines a new method matcher for methods that are ignored by any dynamic type that is created by this
configuration which will replace the current configuration.
|
ByteBuddy |
ByteBuddy.Proxy.withIgnoredMethods(ElementMatcher<? super MethodDescription> ignoredMethods) |
Constructor and Description |
---|
ByteBuddy(ClassFileVersion classFileVersion,
NamingStrategy.Unbound namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
List<TypeDescription> interfaceTypes,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
MethodRegistry methodRegistry,
ByteBuddy.Definable<Integer> modifiers,
TypeAttributeAppender typeAttributeAppender,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory)
Defines a new
ByteBuddy configuration. |
MethodAnnotationTarget(ClassFileVersion classFileVersion,
NamingStrategy.Unbound namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
List<TypeDescription> interfaceTypes,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
MethodRegistry methodRegistry,
ByteBuddy.Definable<Integer> modifiers,
TypeAttributeAppender typeAttributeAppender,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
LatentMethodMatcher methodMatcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory)
Creates a new method annotation target.
|
OptionalMethodInterception(ClassFileVersion classFileVersion,
NamingStrategy.Unbound namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
List<TypeDescription> interfaceTypes,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
MethodRegistry methodRegistry,
ByteBuddy.Definable<Integer> modifiers,
TypeAttributeAppender typeAttributeAppender,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
LatentMethodMatcher methodMatcher)
Creates a new optional method interception.
|
Proxy(ClassFileVersion classFileVersion,
NamingStrategy.Unbound namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
List<TypeDescription> interfaceTypes,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
MethodRegistry methodRegistry,
ByteBuddy.Definable<Integer> modifiers,
TypeAttributeAppender typeAttributeAppender,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory)
Defines a new proxy configuration for
ByteBuddy . |
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
AgentBuilder.Default.InitializationStrategy.SelfInjection.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
Modifier and Type | Method and Description |
---|---|
Object |
AnnotationDescription.getValue(MethodDescription methodDescription)
Returns the value of the given method for this annotation value.
|
Object |
AnnotationDescription.ForLoadedAnnotation.getValue(MethodDescription methodDescription) |
Object |
AnnotationDescription.Latent.getValue(MethodDescription methodDescription) |
Object |
AnnotationDescription.Latent.Loadable.getValue(MethodDescription methodDescription) |
<T> T |
AnnotationDescription.getValue(MethodDescription methodDescription,
Class<T> type)
Returns the value of the given method for this annotation value and performs a casting to the given value.
|
<T> T |
AnnotationDescription.AbstractAnnotationDescription.getValue(MethodDescription methodDescription,
Class<T> type) |
Modifier and Type | Class and Description |
---|---|
static class |
MethodDescription.AbstractMethodDescription
An abstract base implementation of a method description.
|
static class |
MethodDescription.ForLoadedConstructor
An implementation of a method description for a loaded constructor.
|
static class |
MethodDescription.ForLoadedMethod
An implementation of a method description for a loaded method.
|
static class |
MethodDescription.Latent
A latent method description describes a method that is not attached to a declaring
TypeDescription . |
Modifier and Type | Method and Description |
---|---|
MethodDescription |
MethodList.ForLoadedType.get(int index) |
MethodDescription |
MethodList.Explicit.get(int index) |
MethodDescription |
ParameterDescription.getDeclaringMethod()
Returns the method that declares this parameter.
|
MethodDescription |
ParameterDescription.ForLoadedParameter.getDeclaringMethod() |
MethodDescription |
ParameterDescription.ForLoadedParameter.OfLegacyVmMethod.getDeclaringMethod() |
MethodDescription |
ParameterDescription.ForLoadedParameter.OfLegacyVmConstructor.getDeclaringMethod() |
MethodDescription |
ParameterDescription.Latent.getDeclaringMethod() |
static MethodDescription |
MethodDescription.Latent.typeInitializerOf(TypeDescription declaringType)
Creates a latent method description of a type initializer (
<clinit> ) for a given type. |
Modifier and Type | Method and Description |
---|---|
static ParameterList |
ParameterList.Explicit.latent(MethodDescription declaringMethod,
List<? extends TypeDescription> parameterTypes)
Creates a list of method parameters from a list of type descriptions.
|
Modifier and Type | Method and Description |
---|---|
protected MethodList |
MethodList.ForLoadedType.wrap(List<MethodDescription> values) |
protected MethodList |
MethodList.Explicit.wrap(List<MethodDescription> values) |
Constructor and Description |
---|
Latent(MethodDescription declaringMethod,
TypeDescription parameterType,
int index,
int offset)
Creates a latent description of a parameter.
|
Constructor and Description |
---|
Explicit(List<? extends MethodDescription> methodDescriptions)
Creates a new wrapper for a given list of methods.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
TypeDescription.getEnclosingMethod()
Returns a description of the enclosing method of this type.
|
MethodDescription |
TypeDescription.ForLoadedType.getEnclosingMethod() |
MethodDescription |
TypeDescription.ArrayProjection.getEnclosingMethod() |
MethodDescription |
TypeDescription.Latent.getEnclosingMethod() |
Modifier and Type | Field and Description |
---|---|
protected ElementMatcher<? super MethodDescription> |
DynamicType.Builder.AbstractBase.ignoredMethods
The method matcher for ignored method specified for this builder.
|
Modifier and Type | Method and Description |
---|---|
ElementMatcher<? super MethodDescription> |
DynamicType.Builder.AbstractBase.MethodToken.resolve(TypeDescription instrumentedType) |
Modifier and Type | Method and Description |
---|---|
DynamicType.Builder.ExceptionDeclarableMethodInterception<T> |
DynamicType.Builder.define(MethodDescription methodDescription)
Defines a new method or constructor for this type.
|
DynamicType.Builder.ExceptionDeclarableMethodInterception<S> |
DynamicType.Builder.AbstractBase.define(MethodDescription methodDescription) |
DynamicType.Builder.ExceptionDeclarableMethodInterception<U> |
DynamicType.Builder.AbstractBase.AbstractDelegatingBuilder.define(MethodDescription methodDescription) |
DynamicType.Builder.ExceptionDeclarableMethodInterception<T> |
DynamicType.Builder.defineConstructor(MethodDescription methodDescription)
Defines a new constructor for this type.
|
DynamicType.Builder.ExceptionDeclarableMethodInterception<S> |
DynamicType.Builder.AbstractBase.defineConstructor(MethodDescription methodDescription) |
DynamicType.Builder.ExceptionDeclarableMethodInterception<U> |
DynamicType.Builder.AbstractBase.AbstractDelegatingBuilder.defineConstructor(MethodDescription methodDescription) |
DynamicType.Builder.ExceptionDeclarableMethodInterception<T> |
DynamicType.Builder.defineMethod(MethodDescription methodDescription)
Defines a new method for this type.
|
DynamicType.Builder.ExceptionDeclarableMethodInterception<S> |
DynamicType.Builder.AbstractBase.defineMethod(MethodDescription methodDescription) |
DynamicType.Builder.ExceptionDeclarableMethodInterception<U> |
DynamicType.Builder.AbstractBase.AbstractDelegatingBuilder.defineMethod(MethodDescription methodDescription) |
int |
ModifierResolver.transform(MethodDescription methodDescription,
boolean implemented)
Resolves a modifier for a given method.
|
int |
ModifierResolver.Simple.transform(MethodDescription methodDescription,
boolean implemented) |
int |
ModifierResolver.Desynchronizing.transform(MethodDescription methodDescription,
boolean implemented) |
Modifier and Type | Method and Description |
---|---|
DynamicType.Builder.MatchedMethodInterception<T> |
DynamicType.Builder.constructor(ElementMatcher<? super MethodDescription> methodMatcher)
Selects a set of constructors of this type for implementation.
|
DynamicType.Builder.MatchedMethodInterception<S> |
DynamicType.Builder.AbstractBase.constructor(ElementMatcher<? super MethodDescription> methodMatcher) |
DynamicType.Builder.MatchedMethodInterception<U> |
DynamicType.Builder.AbstractBase.AbstractDelegatingBuilder.constructor(ElementMatcher<? super MethodDescription> methodMatcher) |
DynamicType.Builder<T> |
DynamicType.Builder.ignoreMethods(ElementMatcher<? super MethodDescription> ignoredMethods)
Defines a matcher for methods that will be ignored for any interception attempt.
|
DynamicType.Builder<S> |
DynamicType.Builder.AbstractBase.ignoreMethods(ElementMatcher<? super MethodDescription> ignoredMethods) |
DynamicType.Builder<U> |
DynamicType.Builder.AbstractBase.AbstractDelegatingBuilder.ignoreMethods(ElementMatcher<? super MethodDescription> ignoredMethods) |
DynamicType.Builder.MatchedMethodInterception<T> |
DynamicType.Builder.invokable(ElementMatcher<? super MethodDescription> methodMatcher)
Selects a set of byte code level methods, i.e.
|
DynamicType.Builder.MatchedMethodInterception<S> |
DynamicType.Builder.AbstractBase.invokable(ElementMatcher<? super MethodDescription> methodMatcher) |
DynamicType.Builder.MatchedMethodInterception<U> |
DynamicType.Builder.AbstractBase.AbstractDelegatingBuilder.invokable(ElementMatcher<? super MethodDescription> methodMatcher) |
protected abstract DynamicType.Builder<S> |
DynamicType.Builder.AbstractBase.materialize(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription targetType,
List<TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
List<DynamicType.Builder.AbstractBase.FieldToken> fieldTokens,
List<DynamicType.Builder.AbstractBase.MethodToken> methodTokens)
Creates a new immutable type builder which represents the given arguments.
|
DynamicType.Builder.MatchedMethodInterception<T> |
DynamicType.Builder.method(ElementMatcher<? super MethodDescription> methodMatcher)
Selects a set of methods of this type for instrumentation.
|
DynamicType.Builder.MatchedMethodInterception<S> |
DynamicType.Builder.AbstractBase.method(ElementMatcher<? super MethodDescription> methodMatcher) |
DynamicType.Builder.MatchedMethodInterception<U> |
DynamicType.Builder.AbstractBase.AbstractDelegatingBuilder.method(ElementMatcher<? super MethodDescription> methodMatcher) |
Constructor and Description |
---|
AbstractBase(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription targetType,
List<TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
List<DynamicType.Builder.AbstractBase.FieldToken> fieldTokens,
List<DynamicType.Builder.AbstractBase.MethodToken> methodTokens)
Creates a new immutable type builder base implementation.
|
Modifier and Type | Class and Description |
---|---|
protected class |
InstrumentedType.AbstractBase.MethodToken
An implementation of a new method or constructor for the enclosing instrumented type.
|
static class |
MethodLookupEngine.ConflictingInterfaceMethod
This
MethodDescription represents methods that are defined
ambiguously on several interfaces of a common type. |
static class |
MethodLookupEngine.OverriddenClassMethod
This method description represents a method that is defined in a non-interface type and overrides a method
in another class it directly or indirectly extends.
|
Modifier and Type | Field and Description |
---|---|
protected List<MethodDescription> |
InstrumentedType.AbstractBase.methodDescriptions
A list of method descriptions registered for this instrumented type.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.extract()
Extracts the resolved bridge method target or throws an exception if no such target exists.
|
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.Unknown.extract() |
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.Resolved.extract() |
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.Candidate.extract() |
MethodDescription |
InstrumentedType.AbstractBase.MethodToken.ParameterToken.getDeclaringMethod() |
MethodDescription |
InstrumentedType.AbstractBase.getEnclosingMethod() |
MethodDescription |
TypeWriter.Default.ForInlining.RedefinitionClassVisitor.TypeInitializerInjection.getInjectorProxyMethod()
Returns the proxy method to which the original type initializer code is written to.
|
static MethodDescription |
MethodLookupEngine.OverriddenClassMethod.of(MethodDescription overridingMethod,
MethodDescription overriddenMethod)
Creates a new method description of an overriding method to an overridden method.
|
protected static MethodDescription |
MethodLookupEngine.ConflictingInterfaceMethod.of(TypeDescription virtualHost,
MethodDescription conflictingMethod,
MethodDescription discoveredMethod)
Creates a new method description for at least two conflicting interface methods.
|
MethodDescription |
BridgeMethodResolver.resolve(MethodDescription methodDescription)
Resolves a method which is potentially a bridge method.
|
MethodDescription |
BridgeMethodResolver.NoOp.resolve(MethodDescription methodDescription) |
MethodDescription |
BridgeMethodResolver.Simple.resolve(MethodDescription methodDescription) |
Modifier and Type | Method and Description |
---|---|
protected abstract Map<TypeDescription,Set<MethodDescription>> |
MethodLookupEngine.Default.apply(MethodLookupEngine.Default.MethodBucket methodBucket,
Collection<TypeDescription> interfaces,
Collection<TypeDescription> defaultMethodRelevantInterfaces)
Applies default method extraction.
|
Map<TypeDescription,Set<MethodDescription>> |
MethodLookupEngine.Finding.getInvokableDefaultMethods()
Returns a map of interfaces that are eligible for default method invocation on the type this finding
was created for.
|
Map<TypeDescription,Set<MethodDescription>> |
MethodLookupEngine.Finding.Default.getInvokableDefaultMethods() |
protected Map<TypeDescription,Set<MethodDescription>> |
MethodLookupEngine.Default.MethodBucket.DefaultMethodLookup.Enabled.materialize()
Returns a map of all default method interfaces that were extracted by this default method lookup.
|
ElementMatcher<? super MethodDescription> |
MethodRegistry.Default.Entry.resolve(TypeDescription instrumentedType) |
Modifier and Type | Method and Description |
---|---|
void |
TypeWriter.MethodPool.Entry.apply(ClassVisitor classVisitor,
Implementation.Context implementationContext,
MethodDescription methodDescription)
Applies this method entry.
|
void |
TypeWriter.MethodPool.Entry.ForSkippedMethod.apply(ClassVisitor classVisitor,
Implementation.Context implementationContext,
MethodDescription methodDescription) |
void |
TypeWriter.MethodPool.Entry.AbstractDefiningEntry.apply(ClassVisitor classVisitor,
Implementation.Context implementationContext,
MethodDescription methodDescription) |
ByteCodeAppender.Size |
InstrumentedType.TypeInitializer.None.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
InstrumentedType.TypeInitializer.Simple.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
void |
TypeWriter.MethodPool.Entry.applyBody(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription methodDescription)
Applies the body of this entry.
|
void |
TypeWriter.MethodPool.Entry.ForSkippedMethod.applyBody(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription methodDescription) |
void |
TypeWriter.MethodPool.Entry.ForImplementation.applyBody(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription methodDescription) |
void |
TypeWriter.MethodPool.Entry.ForAbstractMethod.applyBody(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription methodDescription) |
void |
TypeWriter.MethodPool.Entry.ForAnnotationDefaultValue.applyBody(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription methodDescription) |
void |
TypeWriter.MethodPool.Entry.applyHead(MethodVisitor methodVisitor,
MethodDescription methodDescription)
Applies the head of this entry.
|
void |
TypeWriter.MethodPool.Entry.ForSkippedMethod.applyHead(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
TypeWriter.MethodPool.Entry.ForImplementation.applyHead(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
TypeWriter.MethodPool.Entry.ForAbstractMethod.applyHead(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
TypeWriter.MethodPool.Entry.ForAnnotationDefaultValue.applyHead(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
BridgeMethodResolver.Simple.BridgeTarget |
BridgeMethodResolver.Simple.ConflictHandler.choose(MethodDescription bridgeMethod,
MethodList targetCandidates)
Returns a target method for the given bridge method out of the given list of candidate methods.
|
static MethodDescription |
MethodLookupEngine.OverriddenClassMethod.of(MethodDescription overridingMethod,
MethodDescription overriddenMethod)
Creates a new method description of an overriding method to an overridden method.
|
protected static MethodDescription |
MethodLookupEngine.ConflictingInterfaceMethod.of(TypeDescription virtualHost,
MethodDescription conflictingMethod,
MethodDescription discoveredMethod)
Creates a new method description for at least two conflicting interface methods.
|
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 . |
void |
MethodLookupEngine.Default.MethodBucket.DefaultMethodLookup.register(MethodDescription methodDescription)
Announces the begin of the analysis of a given type.
|
void |
MethodLookupEngine.Default.MethodBucket.DefaultMethodLookup.Disabled.register(MethodDescription methodDescription) |
void |
MethodLookupEngine.Default.MethodBucket.DefaultMethodLookup.Enabled.register(MethodDescription methodDescription) |
MethodDescription |
BridgeMethodResolver.resolve(MethodDescription methodDescription)
Resolves a method which is potentially a bridge method.
|
MethodDescription |
BridgeMethodResolver.NoOp.resolve(MethodDescription methodDescription) |
MethodDescription |
BridgeMethodResolver.Simple.resolve(MethodDescription methodDescription) |
TypeWriter.MethodPool.Entry |
TypeWriter.MethodPool.target(MethodDescription methodDescription)
Looks up a handler entry for a given method.
|
TypeWriter.MethodPool.Entry |
MethodRegistry.Default.Compiled.target(MethodDescription methodDescription) |
Constructor and Description |
---|
AttributeObtainingMethodVisitor(MethodVisitor actualMethodVisitor,
TypeWriter.MethodPool.Entry entry,
MethodDescription methodDescription)
Creates a new attribute obtaining method visitor.
|
Candidate(MethodDescription target)
Creates a new bridge method target candidate.
|
CodePreservingMethodVisitor(MethodVisitor actualMethodVisitor,
TypeWriter.MethodPool.Entry entry,
MethodDescription methodDescription)
Creates a new code preserving method visitor.
|
Resolved(MethodDescription target)
Creates a new resolved bridge method target.
|
Constructor and Description |
---|
AbstractBase(LoadedTypeInitializer loadedTypeInitializer,
InstrumentedType.TypeInitializer typeInitializer,
String typeName,
List<? extends FieldDescription> fieldDescriptions,
List<? extends MethodDescription> methodDescriptions)
Creates a new instrumented type with the given loaded type initializer and field and methods.
|
Compiled(TypeDescription instrumentedType,
LoadedTypeInitializer loadedTypeInitializer,
InstrumentedType.TypeInitializer typeInitializer,
Map<MethodDescription,TypeWriter.MethodPool.Entry> implementations)
Creates a new compiled version of a default method registry.
|
ConflictingInterfaceMethod(TypeDescription virtualHost,
List<MethodDescription> methodDescriptions)
Creates a new conflicting interface method.
|
Default(TypeDescription lookedUpType,
MethodList invokableMethods,
Map<TypeDescription,Set<MethodDescription>> invokableDefaultMethods)
Creates a default of a
MethodLookupEngine.Finding . |
OverriddenClassMethod(List<MethodDescription> methodChain)
Creates a new overriding class method.
|
Prepared(Map<MethodDescription,MethodRegistry.Default.Entry> implementations,
LoadedTypeInitializer loadedTypeInitializer,
InstrumentedType.TypeInitializer typeInitializer,
MethodLookupEngine.Finding finding)
Creates a prepared version of a default method registry.
|
Modifier and Type | Field and Description |
---|---|
protected Set<? extends MethodDescription> |
MethodRebaseResolver.AbstractBase.instrumentedMethods
A set containing all instrumented methods.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
RebaseImplementationTarget.RebasedMethodSpecialMethodInvocation.getMethodDescription() |
MethodDescription |
MethodRebaseResolver.Resolution.getResolvedMethod()
Returns the resolved method if this resolution represents a rebased method or the original method.
|
MethodDescription |
MethodRebaseResolver.Resolution.Preserved.getResolvedMethod() |
MethodDescription |
MethodRebaseResolver.Resolution.ForRebasedMethod.getResolvedMethod() |
MethodDescription |
MethodRebaseResolver.Resolution.ForRebasedConstructor.getResolvedMethod() |
Modifier and Type | Method and Description |
---|---|
ElementMatcher<? super MethodDescription> |
InliningImplementationMatcher.resolve(TypeDescription instrumentedType) |
Modifier and Type | Method and Description |
---|---|
protected Implementation.SpecialMethodInvocation |
RebaseImplementationTarget.invokeSuper(MethodDescription methodDescription) |
protected abstract MethodRebaseResolver.Resolution |
MethodRebaseResolver.AbstractBase.rebase(MethodDescription methodDescription)
Resolves a method that is instrumented.
|
protected MethodRebaseResolver.Resolution |
MethodRebaseResolver.MethodsOnly.rebase(MethodDescription methodDescription) |
protected MethodRebaseResolver.Resolution |
MethodRebaseResolver.Enabled.rebase(MethodDescription methodDescription) |
MethodRebaseResolver.Resolution |
MethodRebaseResolver.resolve(MethodDescription methodDescription)
Checks if a method is eligible for rebasing and resolves this possibly rebased method.
|
MethodRebaseResolver.Resolution |
MethodRebaseResolver.Disabled.resolve(MethodDescription methodDescription) |
MethodRebaseResolver.Resolution |
MethodRebaseResolver.AbstractBase.resolve(MethodDescription methodDescription) |
String |
MethodRebaseResolver.MethodNameTransformer.transform(MethodDescription methodDescription)
Transforms a method's name to an alternative name.
|
String |
MethodRebaseResolver.MethodNameTransformer.Suffixing.transform(MethodDescription methodDescription) |
String |
MethodRebaseResolver.MethodNameTransformer.Prefixing.transform(MethodDescription methodDescription) |
Modifier and Type | Method and Description |
---|---|
Implementation.Target |
RebaseImplementationTarget.Factory.make(MethodLookupEngine.Finding finding,
List<? extends MethodDescription> instrumentedMethods) |
protected DynamicType.Builder<T> |
RedefinitionDynamicTypeBuilder.materialize(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription levelType,
List<TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
List<DynamicType.Builder.AbstractBase.FieldToken> fieldTokens,
List<DynamicType.Builder.AbstractBase.MethodToken> methodTokens) |
protected DynamicType.Builder<T> |
RebaseDynamicTypeBuilder.materialize(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription levelType,
List<TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
List<DynamicType.Builder.AbstractBase.FieldToken> fieldTokens,
List<DynamicType.Builder.AbstractBase.MethodToken> methodTokens) |
protected static LatentMethodMatcher |
InliningImplementationMatcher.of(ElementMatcher<? super MethodDescription> ignoredMethods,
TypeDescription targetType)
Creates a matcher where only overridable or declared methods are matched unless those are ignored.
|
Constructor and Description |
---|
ForRebasedConstructor(MethodDescription methodDescription,
TypeDescription placeholderType)
Creates a
MethodRebaseResolver.Resolution for a
rebased method. |
ForRebasedMethod(MethodDescription methodDescription,
MethodRebaseResolver.MethodNameTransformer methodNameTransformer)
Creates a
MethodRebaseResolver.Resolution for a
rebased method. |
Preserved(MethodDescription methodDescription)
Creates a new
MethodRebaseResolver.Resolution for
a non-rebased method. |
Constructor and Description |
---|
AbstractBase(Set<? extends MethodDescription> instrumentedMethods)
Creates a method rebase resolver.
|
Enabled(Set<? extends MethodDescription> instrumentedMethods,
DynamicType placeholderType,
MethodRebaseResolver.MethodNameTransformer methodNameTransformer)
Creates a new enabled method rebase resolver.
|
InlineInstrumentedType(TypeDescription levelType,
String name,
List<TypeDescription> interfaces,
int modifiers,
List<? extends FieldDescription> fieldDescriptions,
List<? extends MethodDescription> methodDescriptions,
LoadedTypeInitializer loadedTypeInitializer,
InstrumentedType.TypeInitializer typeInitializer)
Creates a new inlined instrumented type.
|
InliningImplementationMatcher(ElementMatcher<? super MethodDescription> ignoredMethods,
ElementMatcher<? super MethodDescription> predefinedMethodSignatures)
Creates a new inline implementation matcher.
|
InliningImplementationMatcher(ElementMatcher<? super MethodDescription> ignoredMethods,
ElementMatcher<? super MethodDescription> predefinedMethodSignatures)
Creates a new inline implementation matcher.
|
MethodsOnly(Set<? extends MethodDescription> instrumentedMethods,
MethodRebaseResolver.MethodNameTransformer methodNameTransformer)
Creates a new methods-only method rebase resolver.
|
RebaseDynamicTypeBuilder(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription levelType,
List<? extends TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
ClassFileLocator classFileLocator,
MethodRebaseResolver.MethodNameTransformer methodNameTransformer)
Creates a new rebase dynamic type builder.
|
RebaseDynamicTypeBuilder(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription levelType,
List<TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
List<DynamicType.Builder.AbstractBase.FieldToken> fieldTokens,
List<DynamicType.Builder.AbstractBase.MethodToken> methodTokens,
ClassFileLocator classFileLocator,
MethodRebaseResolver.MethodNameTransformer methodNameTransformer)
Creates a new rebase dynamic type builder.
|
RedefinitionDynamicTypeBuilder(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription levelType,
List<? extends TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
ClassFileLocator classFileLocator)
Creates a new redefinition dynamic type builder.
|
RedefinitionDynamicTypeBuilder(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription levelType,
List<? extends TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
List<DynamicType.Builder.AbstractBase.FieldToken> fieldTokens,
List<DynamicType.Builder.AbstractBase.MethodToken> methodTokens,
ClassFileLocator classFileLocator)
Creates a new redefinition dynamic type builder.
|
Modifier and Type | Field and Description |
---|---|
protected Map<TypeList,MethodDescription> |
SubclassImplementationTarget.superConstructors
The constructor of the super type, mapped by the constructor parameters of each constructor which is
sufficient for a constructor's unique identification.
|
Modifier and Type | Method and Description |
---|---|
ElementMatcher<? super MethodDescription> |
SubclassDynamicTypeBuilder.InstrumentableMatcher.resolve(TypeDescription instrumentedType) |
Modifier and Type | Method and Description |
---|---|
protected Implementation.SpecialMethodInvocation |
SubclassImplementationTarget.invokeSuper(MethodDescription methodDescription) |
Modifier and Type | Method and Description |
---|---|
Implementation.Target |
SubclassImplementationTarget.Factory.make(MethodLookupEngine.Finding finding,
List<? extends MethodDescription> instrumentedMethods) |
protected DynamicType.Builder<T> |
SubclassDynamicTypeBuilder.materialize(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription targetType,
List<TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
List<DynamicType.Builder.AbstractBase.FieldToken> fieldTokens,
List<DynamicType.Builder.AbstractBase.MethodToken> methodTokens) |
Constructor and Description |
---|
InstrumentableMatcher(ElementMatcher<? super MethodDescription> ignoredMethods)
Creates a latent method matcher that matches all methods that are to be instrumented by a
SubclassDynamicTypeBuilder . |
SubclassDynamicTypeBuilder(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription superType,
List<? extends TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
ConstructorStrategy constructorStrategy)
Creates a new immutable type builder for a subclassing a given class.
|
SubclassDynamicTypeBuilder(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
TypeDescription superType,
List<TypeDescription> interfaceTypes,
int modifiers,
TypeAttributeAppender attributeAppender,
ElementMatcher<? super MethodDescription> ignoredMethods,
BridgeMethodResolver.Factory bridgeMethodResolverFactory,
ClassVisitorWrapper.Chain classVisitorWrapperChain,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
MethodLookupEngine.Factory methodLookupEngineFactory,
FieldAttributeAppender.Factory defaultFieldAttributeAppenderFactory,
MethodAttributeAppender.Factory defaultMethodAttributeAppenderFactory,
List<DynamicType.Builder.AbstractBase.FieldToken> fieldTokens,
List<DynamicType.Builder.AbstractBase.MethodToken> methodTokens,
ConstructorStrategy constructorStrategy)
Creates a new immutable type builder for a subclassing a given class.
|
SubclassInstrumentedType(ClassFileVersion classFileVersion,
TypeDescription superClass,
List<TypeDescription> interfaces,
int modifiers,
String name,
List<? extends FieldDescription> fieldDescriptions,
List<? extends MethodDescription> methodDescriptions,
LoadedTypeInitializer loadedTypeInitializer,
InstrumentedType.TypeInitializer typeInitializer)
Creates a new immutable type instrumentation for a loaded superclass.
|
Modifier and Type | Field and Description |
---|---|
protected MethodDescription |
InvokeDynamic.bootstrapMethod
The bootstrap method.
|
Modifier and Type | Field and Description |
---|---|
protected Map<TypeDescription,Map<String,MethodDescription>> |
Implementation.Target.AbstractBase.defaultMethods
A map of default methods by their unique signature.
|
protected Map<String,MethodDescription> |
Implementation.Target.AbstractBase.invokableMethods
A map of invokable methods by their unique signature.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
Implementation.SpecialMethodInvocation.getMethodDescription()
Returns the method that represents this special method invocation.
|
MethodDescription |
Implementation.SpecialMethodInvocation.Illegal.getMethodDescription() |
MethodDescription |
Implementation.SpecialMethodInvocation.Simple.getMethodDescription() |
MethodDescription |
Implementation.Context.Default.registerAccessorFor(Implementation.SpecialMethodInvocation specialMethodInvocation) |
MethodDescription |
Implementation.Context.Default.registerGetterFor(FieldDescription fieldDescription) |
MethodDescription |
Implementation.Context.Default.registerSetterFor(FieldDescription fieldDescription) |
MethodDescription |
MethodCall.MethodLocator.resolve(MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
MethodDescription |
MethodCall.MethodLocator.ForInterceptedMethod.resolve(MethodDescription instrumentedMethod) |
MethodDescription |
MethodCall.MethodLocator.ForExplicitMethod.resolve(MethodDescription instrumentedMethod) |
MethodDescription |
Implementation.Target.MethodLookup.resolve(MethodDescription methodDescription,
Map<String,MethodDescription> invokableMethods,
BridgeMethodResolver bridgeMethodResolver)
Resolves the target method that is actually invoked.
|
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.FieldGetter.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Implementation.Context.Default.FieldSetter.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Forwarding.Appender.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 |
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 |
FixedValue.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod,
TypeDescription fixedValueType,
StackManipulation valueLoadingInstruction)
Blueprint method that for applying the actual implementation.
|
void |
Implementation.Context.Default.AbstractDelegationEntry.applyBody(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription methodDescription) |
protected ByteCodeAppender.Size |
FieldAccessor.applyGetter(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
FieldDescription fieldDescription,
MethodDescription methodDescription)
Applies a field getter implementation.
|
void |
Implementation.Context.Default.AbstractDelegationEntry.applyHead(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
protected ByteCodeAppender.Size |
FieldAccessor.applySetter(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
FieldDescription fieldDescription,
MethodDescription methodDescription)
Applies a field setter implementation.
|
static InvokeDynamic.WithImplicitTarget |
InvokeDynamic.bootstrap(MethodDescription bootstrapMethod,
List<?> rawArguments)
Implements the instrumented method with a dynamic method invocation which is linked at runtime using the
specified bootstrap method or constructor.
|
static InvokeDynamic.WithImplicitTarget |
InvokeDynamic.bootstrap(MethodDescription bootstrapMethod,
Object... rawArgument)
Implements the instrumented method with a dynamic method invocation which is linked at runtime using the
specified bootstrap method or constructor.
|
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 methodDescription,
Implementation.Target implementationTarget)
Invokes the method.
|
StackManipulation |
MethodCall.MethodInvoker.ForStandardInvocation.invoke(MethodDescription methodDescription,
Implementation.Target implementationTarget) |
StackManipulation |
MethodCall.MethodInvoker.ForSuperMethodInvocation.invoke(MethodDescription methodDescription,
Implementation.Target implementationTarget) |
StackManipulation |
MethodCall.MethodInvoker.ForDefaultMethodInvocation.invoke(MethodDescription methodDescription,
Implementation.Target implementationTarget) |
protected abstract Implementation.SpecialMethodInvocation |
Implementation.Target.AbstractBase.invokeSuper(MethodDescription methodDescription)
Invokes the fully resolved method to be invoked by a super method call.
|
Implementation.SpecialMethodInvocation |
Implementation.Target.invokeSuper(MethodDescription methodDescription,
Implementation.Target.MethodLookup methodLookup)
Creates a special method invocation for invoking the super method of the given method.
|
Implementation.SpecialMethodInvocation |
Implementation.Target.AbstractBase.invokeSuper(MethodDescription methodDescription,
Implementation.Target.MethodLookup methodLookup) |
InvokeDynamic.InvocationProvider.Target |
InvokeDynamic.InvocationProvider.make(MethodDescription methodDescription)
Creates a target for the invocation.
|
InvokeDynamic.InvocationProvider.Default.Target |
InvokeDynamic.InvocationProvider.Default.make(MethodDescription methodDescription) |
protected abstract StackManipulation |
SuperMethodCall.Appender.TerminationHandler.of(MethodDescription methodDescription)
Creates a stack manipulation that represents this handler's behavior.
|
static Implementation.SpecialMethodInvocation |
Implementation.SpecialMethodInvocation.Simple.of(MethodDescription methodDescription,
TypeDescription typeDescription)
Creates a special method invocation for a given invocation target.
|
MethodDescription |
MethodCall.MethodLocator.resolve(MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
MethodDescription |
MethodCall.MethodLocator.ForInterceptedMethod.resolve(MethodDescription instrumentedMethod) |
MethodDescription |
MethodCall.MethodLocator.ForExplicitMethod.resolve(MethodDescription instrumentedMethod) |
String |
InvokeDynamic.InvocationProvider.NameProvider.resolve(MethodDescription methodDescription)
Resolves the name given the intercepted method.
|
String |
InvokeDynamic.InvocationProvider.NameProvider.ForInterceptedMethod.resolve(MethodDescription methodDescription) |
String |
InvokeDynamic.InvocationProvider.NameProvider.ForExplicitName.resolve(MethodDescription methodDescription) |
TypeDescription |
InvokeDynamic.InvocationProvider.ReturnTypeProvider.resolve(MethodDescription methodDescription)
Resolves the return type that is requested from the bootstrap method.
|
TypeDescription |
InvokeDynamic.InvocationProvider.ReturnTypeProvider.ForInterceptedMethod.resolve(MethodDescription methodDescription) |
TypeDescription |
InvokeDynamic.InvocationProvider.ReturnTypeProvider.ForExplicitType.resolve(MethodDescription methodDescription) |
MethodDescription |
Implementation.Target.MethodLookup.resolve(MethodDescription methodDescription,
Map<String,MethodDescription> invokableMethods,
BridgeMethodResolver bridgeMethodResolver)
Resolves the target method that is actually invoked.
|
StackManipulation |
MethodCall.TerminationHandler.resolve(MethodDescription invokedMethod,
MethodDescription interceptedMethod,
Assigner assigner,
boolean dynamicallyTyped)
Returns a stack manipulation that handles the method return.
|
StackManipulation |
MethodCall.TerminationHandler.ForMethodReturn.resolve(MethodDescription invokedMethod,
MethodDescription interceptedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.TerminationHandler.ForChainedInvocation.resolve(MethodDescription invokedMethod,
MethodDescription interceptedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.TargetHandler.resolve(MethodDescription methodDescription,
TypeDescription instrumentedType)
Creates a stack manipulation that represents the method's invocation.
|
StackManipulation |
MethodCall.TargetHandler.ForSelfOrStaticInvocation.resolve(MethodDescription methodDescription,
TypeDescription instrumentedType) |
StackManipulation |
MethodCall.TargetHandler.ForConstructingInvocation.resolve(MethodDescription methodDescription,
TypeDescription instrumentedType) |
StackManipulation |
MethodCall.TargetHandler.ForStaticField.resolve(MethodDescription methodDescription,
TypeDescription instrumentedType) |
StackManipulation |
MethodCall.TargetHandler.ForInstanceField.resolve(MethodDescription methodDescription,
TypeDescription instrumentedType) |
StackManipulation |
InvokeDynamic.TerminationHandler.resolve(MethodDescription interceptedMethod,
TypeDescription returnType,
Assigner assigner,
boolean dynamicallyTyped)
Returns a stack manipulation that handles the method return.
|
StackManipulation |
InvokeDynamic.TerminationHandler.ForMethodReturn.resolve(MethodDescription interceptedMethod,
TypeDescription returnType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
InvokeDynamic.TerminationHandler.ForChainedInvocation.resolve(MethodDescription interceptedMethod,
TypeDescription returnType,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForInterceptedMethodInstanceAndParameters.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForInterceptedMethodParameters.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ConstantPoolWrapper.WrappingArgumentProvider.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForThisInstance.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForStaticField.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForInstanceField.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForExistingField.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForMethodParameter.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForExplicitTypedMethodParameter.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForBooleanConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForByteConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForShortConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForCharacterConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForIntegerConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForLongConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForFloatConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForDoubleConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForStringConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForClassConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForEnumerationValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForNullValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForJavaInstance.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped)
Loads the argument that is represented by this instance onto the operand stack.
|
StackManipulation |
MethodCall.ArgumentLoader.ForNullConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForThisReference.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForOwnType.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForMethodParameter.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForStaticField.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForInstanceField.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForExistingField.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForBooleanConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForByteConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForShortConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForCharacterConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForIntegerConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForLongConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForFloatConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForDoubleConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForTextConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForClassConstant.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForEnumerationValue.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
StackManipulation |
MethodCall.ArgumentLoader.ForJavaInstance.resolve(TypeDescription instrumentedType,
MethodDescription interceptedMethod,
TypeDescription targetType,
Assigner assigner,
boolean dynamicallyTyped) |
Modifier and Type | Method and Description |
---|---|
MethodDelegation |
MethodDelegation.filter(ElementMatcher<? super MethodDescription> methodMatcher)
Applies a filter to target methods that are eligible for delegation.
|
Implementation.Target |
Implementation.Target.Factory.make(MethodLookupEngine.Finding finding,
List<? extends MethodDescription> instrumentedMethods)
Creates a new implementation target.
|
MethodDescription |
Implementation.Target.MethodLookup.resolve(MethodDescription methodDescription,
Map<String,MethodDescription> invokableMethods,
BridgeMethodResolver bridgeMethodResolver)
Resolves the target method that is actually invoked.
|
Constructor and Description |
---|
AbstractDelegator(MethodDescription bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
boolean dynamicallyTyped)
Creates a new abstract delegator for a dynamic method invocation.
|
ForExplicitMethod(MethodDescription methodDescription)
Creates a new method locator for a given method.
|
ForMethodDescription(MethodDescription methodDescription)
Creates a new target for substituting a given method.
|
InvokeDynamic(MethodDescription bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
boolean dynamicallyTyped)
Creates a new invoke dynamic implementation.
|
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.
|
WithImplicitArguments(MethodDescription bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
boolean dynamicallyTyped)
Creates a new dynamic method invocation with implicit arguments.
|
WithImplicitArgumentType(MethodDescription bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
boolean dynamicallyTyped,
int index)
Creates a new invoke dynamic instance with an implicit field type for the provided value.
|
WithImplicitFieldType(MethodDescription bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
boolean dynamicallyTyped,
Object value)
Creates a new invoke dynamic instance with an implicit field type for the provided value.
|
WithImplicitTarget(MethodDescription bootstrapMethod,
List<?> handleArguments,
InvokeDynamic.InvocationProvider invocationProvider,
InvokeDynamic.TerminationHandler terminationHandler,
Assigner assigner,
boolean dynamicallyTyped)
Creates a new dynamic method invocation with implicit arguments and an implicit invocation target.
|
Constructor and Description |
---|
Appender(StackManipulation preparingStackAssignment,
Implementation.Target implementationTarget,
Iterable<? extends MethodDescription> targetMethods,
MethodDelegationBinder.Processor processor)
Creates a new appender.
|
Modifier and Type | Method and Description |
---|---|
void |
MethodAttributeAppender.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription)
Applies this attribute appender to a given method visitor.
|
void |
MethodAttributeAppender.NoOp.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForInstrumentedMethod.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForAnnotation.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForMethod.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.Compound.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
boolean |
AnnotationAppender.ValueFilter.isRelevant(AnnotationDescription annotationDescription,
MethodDescription methodDescription)
Checks if the given annotation value should be written as the value of the provided annotation property.
|
boolean |
AnnotationAppender.ValueFilter.SkipDefaults.isRelevant(AnnotationDescription annotationDescription,
MethodDescription methodDescription) |
boolean |
AnnotationAppender.ValueFilter.AppendDefaults.isRelevant(AnnotationDescription annotationDescription,
MethodDescription methodDescription) |
AnnotationAppender.Target |
MethodAttributeAppender.ForAnnotation.Target.make(MethodVisitor methodVisitor,
MethodDescription methodDescription)
Materializes the target for a given creation process.
|
AnnotationAppender.Target |
MethodAttributeAppender.ForAnnotation.Target.OnMethod.make(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
AnnotationAppender.Target |
MethodAttributeAppender.ForAnnotation.Target.OnMethodParameter.make(MethodVisitor methodVisitor,
MethodDescription methodDescription) |
Constructor and Description |
---|
ForMethod(MethodDescription methodDescription,
AnnotationAppender.ValueFilter valueFilter)
Creates an that copies the annotations of a given method description to its target.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
AuxiliaryType.MethodAccessorFactory.registerAccessorFor(Implementation.SpecialMethodInvocation specialMethodInvocation)
Registers an accessor method for a
Implementation.SpecialMethodInvocation which cannot itself be
triggered invoked directly from outside a type. |
MethodDescription |
AuxiliaryType.MethodAccessorFactory.Illegal.registerAccessorFor(Implementation.SpecialMethodInvocation specialMethodInvocation) |
MethodDescription |
AuxiliaryType.MethodAccessorFactory.registerGetterFor(FieldDescription fieldDescription)
Registers a getter for the given
FieldDescription which might
itself not be accessible from outside the class. |
MethodDescription |
AuxiliaryType.MethodAccessorFactory.Illegal.registerGetterFor(FieldDescription fieldDescription) |
MethodDescription |
AuxiliaryType.MethodAccessorFactory.registerSetterFor(FieldDescription fieldDescription)
Registers a setter for the given
FieldDescription which might
itself not be accessible from outside the class. |
MethodDescription |
AuxiliaryType.MethodAccessorFactory.Illegal.registerSetterFor(FieldDescription fieldDescription) |
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() |
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.Processor.process(Implementation.Target implementationTarget,
MethodDescription source,
Iterable<? extends MethodDescription> targets) |
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 | Field and Description |
---|---|
protected MethodDescription |
Morph.Binder.RedirectionProxy.StaticFieldConstructor.objectTypeDefaultConstructor
A reference of the
Object type default constructor. |
protected MethodDescription |
FieldProxy.Binder.StaticFieldConstructor.objectTypeDefaultConstructor
A reference of the
Object type default constructor. |
Modifier and Type | Method and Description |
---|---|
Map<TypeDescription,Set<MethodDescription>> |
Pipe.Binder.PrecomputedFinding.getInvokableDefaultMethods() |
Map<TypeDescription,Set<MethodDescription>> |
Morph.Binder.PrecomputedFinding.getInvokableDefaultMethods() |
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.AccessType.Getter.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FieldProxy.Binder.AccessType.Setter.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FieldProxy.Binder.InstanceFieldConstructor.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<?> |
FieldProxy.Binder.bind(AnnotationDescription.Loadable<FieldProxy> 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) |
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) |
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.
|
protected static FieldProxy.Binder.FieldLocator |
FieldProxy.Binder.FieldLocator.Legal.consider(MethodDescription methodDescription)
Considers a given method to expose a field name by following the Java bean naming conventions
for getter and setter methods.
|
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) |
protected static FieldProxy.Binder.FieldLocator |
FieldProxy.Binder.FieldLocator.of(String fieldName,
MethodDescription methodDescription)
Returns a field locator for a given field.
|
protected abstract TypeDescription |
FieldProxy.Binder.AccessType.proxyType(MethodDescription getterMethod,
MethodDescription setterMethod)
Locates the type to be implemented by a field accessor proxy.
|
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.
|
Binder(MethodDescription getterMethod,
MethodDescription setterMethod)
Creates a new binder for the
FieldProxy
annotation. |
MethodCall(MethodDescription accessorMethod,
Assigner assigner)
Creates a new method call implementation for a proxy method.
|
Redirection(TypeDescription forwardingType,
MethodDescription sourceMethod,
Assigner assigner,
boolean serializableProxy,
MethodLookupEngine.Factory methodLookupEngineFactory)
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 | Field and Description |
---|---|
protected MethodDescription |
MethodConstant.methodDescription
A description of the method to be loaded onto the stack.
|
Modifier and Type | Method and Description |
---|---|
static MethodConstant.CanCache |
MethodConstant.forMethod(MethodDescription methodDescription)
Creates a stack manipulation that loads a method constant onto the operand stack.
|
static StackManipulation |
MethodTypeConstant.of(MethodDescription methodDescription)
Transforms the given method into a stack manipulation that loads its type onto the operand stack.
|
static StackManipulation |
MethodHandleConstant.of(MethodDescription methodDescription)
Creates a method handle for a method.
|
Constructor and Description |
---|
ForConstructor(MethodDescription methodDescription)
Creates a new
MethodConstant for
creating a Constructor instance. |
ForMethod(MethodDescription methodDescription)
Creates a new
MethodConstant for
creating a Method instance. |
MethodConstant(MethodDescription methodDescription)
Creates a new method constant.
|
Modifier and Type | Method and Description |
---|---|
static StackManipulation |
MethodVariableAccess.forBridgeMethodInvocation(MethodDescription bridgeMethod,
MethodDescription targetMethod)
Creates a stack manipulation for loading all parameters of a Java bridge method onto the operand stack where
all variables of the bridge method are casted to the parameter types of the target method.
|
static MethodInvocation.WithImplicitInvocationTargetType |
MethodInvocation.invoke(MethodDescription methodDescription)
Creates a method invocation with an implicitly determined invocation type.
|
static StackManipulation |
MethodVariableAccess.loadArguments(MethodDescription methodDescription)
Loads all method arguments for a given method onto the operand stack.
|
static StackManipulation |
MethodVariableAccess.loadThisReferenceAndArguments(MethodDescription methodDescription)
Loads all method arguments for a given method onto the operand stack, including a reference to
this ,
if the method is non-static. |
Constructor and Description |
---|
DynamicInvocation(String methodName,
TypeDescription returnType,
TypeList parameterTypes,
MethodDescription bootstrapMethod,
List<?> arguments)
Creates a new dynamic method invocation.
|
ForBridgeTarget(MethodDescription targetMethod)
Creates a new type casting handler for a bridge method.
|
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.
|
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 |
MethodParameterMatcher<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.hasParameter(ElementMatcher<? super ParameterDescription> matcher)
Matches a
MethodDescription by validating that at least one
parameter fullfils a given constraint. |
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.is(MethodDescription methodDescription)
Exactly matches a given
MethodDescription . |
static <T extends MethodDescription> |
ElementMatchers.isBridge()
Matches a
MethodDescription that is a bridge. |
static <T extends MethodDescription> |
ElementMatchers.isClone()
Only matches the
Object.clone() method, also if it was overridden. |
static <T extends MethodDescription> |
ElementMatchers.isConstructor()
Only matches method descriptions that represent a
Constructor . |
static <T extends MethodDescription> |
ElementMatchers.isDefaultConstructor()
Matches a default constructor, i.e.
|
static <T extends MethodDescription> |
ElementMatchers.isDefaultFinalizer()
Only matches the
Object.finalize() method if it was not overridden. |
static <T extends MethodDescription> |
ElementMatchers.isDefaultMethod()
Only matches Java 8 default methods.
|
static <T extends MethodDescription> |
ElementMatchers.isEquals()
Only matches the
Object.equals(Object) method, also if it was overridden. |
static <T extends MethodDescription> |
ElementMatchers.isFinalizer()
Only matches the
Object.finalize() method, even if it was overridden. |
static <T extends MethodDescription> |
ElementMatchers.isGetter()
Matches any Java bean getter method.
|
static <T extends MethodDescription> |
ElementMatchers.isGetter(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 typeDescription)
Matches any Java bean getter method which returns the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isHashCode()
Only matches the
Object.toString() method, also if it was overridden. |
static <T extends MethodDescription> |
ElementMatchers.isMethod()
Only matches method descriptions that represent a
Method . |
static <T extends MethodDescription> |
ElementMatchers.isNative()
Matches a
MethodDescription that is native . |
static <T extends MethodDescription> |
ElementMatchers.isOverridable()
Only matches methods that are overridable, i.e.
|
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 typeDescription)
Matches any Java bean setter method which takes an argument the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isSpecializationOf(MethodDescription methodDescription)
Matches a specialized version of a given method.
|
static <T extends MethodDescription> |
ElementMatchers.isStrict()
Matches a
MethodDescription that is strictfp . |
static <T extends MethodDescription> |
ElementMatchers.isSynchronized()
Matches a
MethodDescription that is synchronized . |
static <T extends MethodDescription> |
ElementMatchers.isToString()
Only matches the
Object.toString() method, also if it was overridden. |
static <T extends MethodDescription> |
ElementMatchers.isTypeInitializer()
Only matches method descriptions that represent a
Class type initializer. |
static <T extends MethodDescription> |
ElementMatchers.isVarArgs()
Matches a
MethodDescription that is a var-args. |
static <T extends MethodDescription> |
ElementMatchers.isVisibilityBridge()
Only matches method descriptions that represent a visibility bridge.
|
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 returns a given
Class . |
static <T extends MethodDescription> |
ElementMatchers.returns(ElementMatcher<? super TypeDescription> matcher)
Matches
MethodDescription s that matches a matched method's
return type. |
static <T extends MethodDescription> |
ElementMatchers.returns(TypeDescription typeDescription)
Matches
MethodDescription s that returns a given
TypeDescription . |
static <T extends MethodDescription> |
ElementMatchers.takesArguments(Class<?>... type)
Matches a
MethodDescription by its exact parameter types. |
static <T extends MethodDescription> |
ElementMatchers.takesArguments(ElementMatcher<? super Iterable<? extends TypeDescription>> matchers)
Matches a
MethodDescription by applying an iterable collection
of element matcher on any parameter's TypeDescription . |
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> typeDescriptions)
Matches a
MethodDescription by its exact parameter types. |
static <T extends MethodDescription> |
ElementMatchers.takesArguments(TypeDescription... typeDescription)
Matches a
MethodDescription by its exact parameter types. |
static <T extends MethodDescription> |
ElementMatchers.throwing(ElementMatcher<? super List<? extends TypeDescription>> exceptionMatcher)
Matches a
MethodDescription by its declared exceptions. |
Modifier and Type | Method and Description |
---|---|
ElementMatcher<? super MethodDescription> |
LatentMethodMatcher.resolve(TypeDescription instrumentedType)
Resolves the latent method matcher.
|
ElementMatcher<? super MethodDescription> |
LatentMethodMatcher.Resolved.resolve(TypeDescription instrumentedType) |
Modifier and Type | Method and Description |
---|---|
static <T extends MethodDescription> |
ElementMatchers.is(MethodDescription methodDescription)
Exactly matches a given
MethodDescription . |
protected abstract boolean |
MethodSortMatcher.Sort.isSort(MethodDescription target)
Determines if a method description is of the represented method sort.
|
static <T extends MethodDescription> |
ElementMatchers.isSpecializationOf(MethodDescription methodDescription)
Matches a specialized version of a given method.
|
Modifier and Type | Method and Description |
---|---|
static <T extends TypeDescription> |
ElementMatchers.declaresMethod(ElementMatcher<? super MethodDescription> methodMatcher)
Matches a type by a another matcher that is applied on any of its declared methods.
|
Constructor and Description |
---|
Resolved(ElementMatcher<? super MethodDescription> methodMatcher)
Creates a new resolved latent method matcher.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
TypePool.LazyTypeDescription.getEnclosingMethod() |
MethodDescription |
TypePool.LazyTypeDescription.DeclarationContext.getEnclosingMethod(TypePool typePool)
Returns the enclosing method or
null if no such method exists. |
MethodDescription |
TypePool.LazyTypeDescription.DeclarationContext.SelfDeclared.getEnclosingMethod(TypePool typePool) |
MethodDescription |
TypePool.LazyTypeDescription.DeclarationContext.DeclaredInType.getEnclosingMethod(TypePool typePool) |
MethodDescription |
TypePool.LazyTypeDescription.DeclarationContext.DeclaredInMethod.getEnclosingMethod(TypePool typePool) |
Modifier and Type | Method and Description |
---|---|
static JavaInstance.MethodType |
JavaInstance.MethodType.of(MethodDescription methodDescription)
Returns a method type description of the given method.
|
static JavaInstance.MethodHandle |
JavaInstance.MethodHandle.of(MethodDescription methodDescription)
Creates a method handle representation of the given method.
|
protected static JavaInstance.MethodHandle.HandleType |
JavaInstance.MethodHandle.HandleType.of(MethodDescription methodDescription)
Extracts a handle type for invoking the given method.
|
protected static JavaInstance.MethodHandle.HandleType |
JavaInstance.MethodHandle.HandleType.ofSpecial(MethodDescription methodDescription)
Extracts a handle type for invoking the given method via invokespecial.
|
static JavaInstance.MethodHandle |
JavaInstance.MethodHandle.ofSpecial(MethodDescription methodDescription,
TypeDescription typeDescription)
Creates a method handle representation of the given method for an explicit special method invocation of an otherwise virtual method.
|
Copyright © 2014–2015. All rights reserved.