| 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.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.instrumentation |
The instrumentation package contains any logic for intercepting method calls.
|
| net.bytebuddy.instrumentation.attribute |
All types and classes in this package are responsible for writing attributes for a given Java byte code element,
i.e.
|
| net.bytebuddy.instrumentation.attribute.annotation |
Types and classes in this package are responsible for writing Java annotations to a Java type, field or byte code
method.
|
| net.bytebuddy.instrumentation.method |
This package contains types and implementations for describing a Java byte code method which can be any byte code
container, i.e.
|
| net.bytebuddy.instrumentation.method.bytecode |
Types and classes in this package are responsible for creating Java byte code for a given byte code target
which is represented by a
MethodDescription. |
| net.bytebuddy.instrumentation.method.bytecode.bind |
The types and classes of this package are responsible for binding a method call to calling another method.
|
| net.bytebuddy.instrumentation.method.bytecode.bind.annotation |
This package contains annotations, types and classes that are responsible for binding a method to calling another
method by interpreting annotations that indicate how a method should be bound to another method.
|
| net.bytebuddy.instrumentation.method.bytecode.stack.constant |
StackManipulations in this package are responsible for
creating compile-time constants and pushing them onto the operand stack. |
| net.bytebuddy.instrumentation.method.bytecode.stack.member |
StackManipulations of this package are responsible for
accessing type or method members, i.e. |
| net.bytebuddy.instrumentation.type |
This package contains types and implementations for describing a Java type, i.e.
|
| net.bytebuddy.instrumentation.type.auxiliary |
Auxiliary types describe helper types that aid as a supplementary to a given
InstrumentedType. |
| net.bytebuddy.matcher |
Contains an API for matching Java byte code entities.
|
| net.bytebuddy.pool |
Classes of this package allow for the creating
TypeDescriptions without
loading any classes. |
| Modifier and Type | Field and Description |
|---|---|
protected ElementMatcher<? super MethodDescription> |
ByteBuddy.ignoredMethods
A matcher for identifying methods that should never be intercepted.
|
protected ElementMatcher<? super MethodDescription> |
ByteBuddy.MethodAnnotationTarget.methodMatcher
The method matcher representing the current method selection.
|
protected ElementMatcher<? super MethodDescription> |
ByteBuddy.OptionalMethodInterception.methodMatcher
The method matcher that defines the selected that is represented by this instance.
|
protected ElementMatcher<? super MethodDescription> |
ByteBuddy.MatchedMethodInterception.methodMatcher
A method matcher that represents the current method selection.
|
| 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 |
|---|---|
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 methods that can be a method or a constructor.
|
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,
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. |
MatchedMethodInterception(ElementMatcher<? super MethodDescription> methodMatcher)
Creates a new matched method interception.
|
MethodAnnotationTarget(ClassFileVersion classFileVersion,
NamingStrategy.Unbound namingStrategy,
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,
ElementMatcher<? super MethodDescription> methodMatcher,
Instrumentation instrumentation,
MethodAttributeAppender.Factory attributeAppenderFactory)
Creates a new method annotation target.
|
MethodAnnotationTarget(ClassFileVersion classFileVersion,
NamingStrategy.Unbound namingStrategy,
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,
ElementMatcher<? super MethodDescription> methodMatcher,
Instrumentation instrumentation,
MethodAttributeAppender.Factory attributeAppenderFactory)
Creates a new method annotation target.
|
OptionalMethodInterception(ClassFileVersion classFileVersion,
NamingStrategy.Unbound namingStrategy,
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,
ElementMatcher<? super MethodDescription> methodMatcher)
Creates a new optional method interception.
|
OptionalMethodInterception(ClassFileVersion classFileVersion,
NamingStrategy.Unbound namingStrategy,
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,
ElementMatcher<? super MethodDescription> methodMatcher)
Creates a new optional method interception.
|
Proxy(ClassFileVersion classFileVersion,
NamingStrategy.Unbound namingStrategy,
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(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
| 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.manifest(TypeDescription instrumentedType) |
| 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 instrumentation.
|
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 methods of this type for instrumentation.
|
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,
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,
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 | 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 |
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 |
|---|---|
ElementMatcher<? super MethodDescription> |
MethodRegistry.LatentMethodMatcher.manifest(TypeDescription typeDescription)
Manifests a latent method matcher.
|
ElementMatcher<? super MethodDescription> |
MethodRegistry.LatentMethodMatcher.Simple.manifest(TypeDescription instrumentedType) |
ElementMatcher<? super MethodDescription> |
MethodRegistry.Default.ListDifferenceMethodMatcher.manifest(TypeDescription typeDescription) |
| Modifier and Type | Method and Description |
|---|---|
void |
TypeWriter.MethodPool.Entry.apply(org.objectweb.asm.ClassVisitor classVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription methodDescription)
Writes the method that is represented by this entry to the provided class visitor.
|
void |
TypeWriter.MethodPool.Entry.Skip.apply(org.objectweb.asm.ClassVisitor classVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription methodDescription) |
void |
TypeWriter.MethodPool.Entry.Simple.apply(org.objectweb.asm.ClassVisitor classVisitor,
Instrumentation.Context instrumentationContext,
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.
|
boolean |
MethodRegistry.Default.Compiled.Entry.matches(MethodDescription methodDescription) |
boolean |
MethodRegistry.Default.ListDifferenceMethodMatcher.matches(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 |
|---|
Candidate(MethodDescription target)
Creates a new bridge method target candidate.
|
Resolved(MethodDescription target)
Creates a new resolved bridge method target.
|
| Constructor and Description |
|---|
Entry(ElementMatcher<? super MethodDescription> methodMatcher,
ByteCodeAppender byteCodeAppender,
MethodAttributeAppender attributeAppender)
Creates an entry of a compiled default method registry.
|
ForCreation(TypeDescription instrumentedType,
ClassFileVersion classFileVersion,
List<? extends MethodDescription> invokableMethods,
ClassVisitorWrapper classVisitorWrapper,
TypeAttributeAppender attributeAppender,
TypeWriter.FieldPool fieldPool,
TypeWriter.MethodPool methodPool)
Creates a new type writer engine for redefining an existent class file.
|
ForRedefinition(TypeDescription instrumentedType,
TypeDescription targetType,
ClassFileVersion classFileVersion,
List<? extends MethodDescription> invokableMethods,
ClassVisitorWrapper classVisitorWrapper,
TypeAttributeAppender attributeAppender,
TypeWriter.FieldPool fieldPool,
TypeWriter.MethodPool methodPool,
ClassFileLocator classFileLocator,
MethodRebaseResolver methodRebaseResolver)
Creates a new type writer that reads a class file and weaves in user defined method implementations.
|
Simple(ElementMatcher<? super MethodDescription> methodMatcher)
Creates a new wrapper.
|
| Modifier and Type | Method and Description |
|---|---|
MethodDescription |
RebaseInstrumentationTarget.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 |
|---|---|
void |
InlineDynamicTypeBuilder.TargetHandler.Prepared.ForRebaseInstrumentation.MethodRebaseDelegation.apply(org.objectweb.asm.ClassVisitor classVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription methodDescription) |
ByteCodeAppender.Size |
InlineDynamicTypeBuilder.TargetHandler.Prepared.ForRebaseInstrumentation.MethodRebaseDelegation.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
protected Instrumentation.SpecialMethodInvocation |
RebaseInstrumentationTarget.invokeSuper(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.NoOp.resolve(MethodDescription methodDescription) |
MethodRebaseResolver.Resolution |
MethodRebaseResolver.Default.resolve(MethodDescription methodDescription) |
| Modifier and Type | Method and Description |
|---|---|
protected DynamicType.Builder<T> |
InlineDynamicTypeBuilder.materialize(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
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) |
static InlineDynamicTypeBuilder.TargetHandler.Prepared |
InlineDynamicTypeBuilder.TargetHandler.Prepared.ForRebaseInstrumentation.of(ElementMatcher<? super MethodDescription> ignoredMethods,
ClassFileVersion classFileVersion,
TypeDescription instrumentedType,
MethodRebaseResolver.MethodNameTransformer methodNameTransformer)
Creates a target handler for a rebase instrumentation.
|
InlineDynamicTypeBuilder.TargetHandler.Prepared |
InlineDynamicTypeBuilder.TargetHandler.prepare(ElementMatcher<? super MethodDescription> ignoredMethods,
ClassFileVersion classFileVersion,
TypeDescription instrumentedType)
Prepares this target handler to a given set of type creation properties.
|
InlineDynamicTypeBuilder.TargetHandler.Prepared |
InlineDynamicTypeBuilder.TargetHandler.ForRedefinitionInstrumentation.prepare(ElementMatcher<? super MethodDescription> ignoredMethods,
ClassFileVersion classFileVersion,
TypeDescription instrumentedType) |
InlineDynamicTypeBuilder.TargetHandler.Prepared |
InlineDynamicTypeBuilder.TargetHandler.ForRebaseInstrumentation.prepare(ElementMatcher<? super MethodDescription> ignoredMethods,
ClassFileVersion classFileVersion,
TypeDescription instrumentedType) |
| 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 |
|---|
Default(ElementMatcher<? super MethodDescription> ignoredMethods,
TypeDescription placeholderType,
MethodRebaseResolver.MethodNameTransformer methodNameTransformer)
Creates a default method rebase resolver.
|
ForRebaseInstrumentation(DynamicType placeholderType,
ElementMatcher<? super MethodDescription> ignoredMethods,
MethodRebaseResolver.MethodNameTransformer methodNameTransformer)
Creates a new prepared target handler for a rebase instrumentation.
|
InlineDynamicTypeBuilder(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
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,
InlineDynamicTypeBuilder.TargetHandler targetHandler)
Creates a new immutable type builder for enhancing a given class.
|
InlineDynamicTypeBuilder(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
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,
InlineDynamicTypeBuilder.TargetHandler targetHandler)
Creates a new immutable type builder for enhancing a given class.
|
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.
|
| Modifier and Type | Field and Description |
|---|---|
protected Map<TypeList,MethodDescription> |
SubclassInstrumentationTarget.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 |
|---|---|
protected Instrumentation.SpecialMethodInvocation |
SubclassInstrumentationTarget.invokeSuper(MethodDescription methodDescription) |
| Modifier and Type | Method and Description |
|---|---|
protected DynamicType.Builder<T> |
SubclassDynamicTypeBuilder.materialize(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
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 |
|---|
SubclassDynamicTypeBuilder(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
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,
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>> |
Instrumentation.Target.AbstractBase.defaultMethods
A map of default methods by their unique signature.
|
protected Map<String,MethodDescription> |
Instrumentation.Target.AbstractBase.invokableMethods
A map of invokable methods by their unique signature.
|
| Modifier and Type | Method and Description |
|---|---|
MethodDescription |
Instrumentation.SpecialMethodInvocation.getMethodDescription()
Returns the method that represents this special method invocation.
|
MethodDescription |
Instrumentation.SpecialMethodInvocation.Illegal.getMethodDescription() |
MethodDescription |
Instrumentation.SpecialMethodInvocation.Simple.getMethodDescription() |
MethodDescription |
Instrumentation.Context.Default.registerAccessorFor(Instrumentation.SpecialMethodInvocation specialMethodInvocation) |
MethodDescription |
Instrumentation.Context.Default.registerGetterFor(FieldDescription fieldDescription) |
MethodDescription |
Instrumentation.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 |
Instrumentation.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 |
|---|---|
void |
Instrumentation.Context.Default.AccessorMethodDelegation.apply(org.objectweb.asm.ClassVisitor classVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription methodDescription) |
void |
Instrumentation.Context.Default.FieldGetter.apply(org.objectweb.asm.ClassVisitor classVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription methodDescription) |
void |
Instrumentation.Context.Default.FieldSetter.apply(org.objectweb.asm.ClassVisitor classVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription methodDescription) |
ByteCodeAppender.Size |
SuperMethodCall.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
StubMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
MethodDelegation.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
MethodCall.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
InvokeDynamic.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
InvocationHandlerAdapter.ForStaticDelegation.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
InvocationHandlerAdapter.ForInstanceDelegation.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Instrumentation.ForAbstractMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Instrumentation.Context.Default.FieldCacheAppender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Instrumentation.Context.Default.AccessorMethodDelegation.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Instrumentation.Context.Default.FieldGetter.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Instrumentation.Context.Default.FieldSetter.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Forwarding.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FixedValue.ForPoolValue.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FieldAccessor.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
ExceptionMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
DefaultMethodCall.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
protected ByteCodeAppender.Size |
InvocationHandlerAdapter.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod,
TypeDescription instrumentedType,
StackManipulation preparingManipulation)
Applies an instrumentation that delegates to a invocation handler.
|
protected ByteCodeAppender.Size |
FixedValue.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod,
TypeDescription fixedValueType,
StackManipulation valueLoadingInstruction)
Blueprint method that for applying the actual instrumentation.
|
protected ByteCodeAppender.Size |
FieldAccessor.applyGetter(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
FieldDescription fieldDescription,
MethodDescription methodDescription)
Applies a field getter instrumentation.
|
protected ByteCodeAppender.Size |
FieldAccessor.applySetter(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
FieldDescription fieldDescription,
MethodDescription methodDescription)
Applies a field setter instrumentation.
|
static InvokeDynamic.WithImplicitTarget |
InvokeDynamic.bootstrap(MethodDescription bootstrapMethod,
Object... argument)
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,
Instrumentation.Target instrumentationTarget)
Invokes the method.
|
StackManipulation |
MethodCall.MethodInvoker.ForStandardInvocation.invoke(MethodDescription methodDescription,
Instrumentation.Target instrumentationTarget) |
StackManipulation |
MethodCall.MethodInvoker.ForSuperMethodInvocation.invoke(MethodDescription methodDescription,
Instrumentation.Target instrumentationTarget) |
StackManipulation |
MethodCall.MethodInvoker.ForDefaultMethodInvocation.invoke(MethodDescription methodDescription,
Instrumentation.Target instrumentationTarget) |
protected abstract Instrumentation.SpecialMethodInvocation |
Instrumentation.Target.AbstractBase.invokeSuper(MethodDescription methodDescription)
Invokes the fully resolved method to be invoked by a super method call.
|
Instrumentation.SpecialMethodInvocation |
Instrumentation.Target.invokeSuper(MethodDescription methodDescription,
Instrumentation.Target.MethodLookup methodLookup)
Creates a special method invocation for invoking the super method of the given method.
|
Instrumentation.SpecialMethodInvocation |
Instrumentation.Target.AbstractBase.invokeSuper(MethodDescription methodDescription,
Instrumentation.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 Instrumentation.SpecialMethodInvocation |
Instrumentation.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 |
Instrumentation.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.ForBooleanValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForByteValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForShortValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForCharacterValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForIntegerValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForLongValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForFloatValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForDoubleValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
boolean dynamicallyTyped) |
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForStringValue.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) |
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.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) |
| Modifier and Type | Method and Description |
|---|---|
MethodDelegation |
MethodDelegation.filter(ElementMatcher<? super MethodDescription> methodMatcher)
Applies a filter to target methods that are eligible for delegation.
|
MethodDescription |
Instrumentation.Target.MethodLookup.resolve(MethodDescription methodDescription,
Map<String,MethodDescription> invokableMethods,
BridgeMethodResolver bridgeMethodResolver)
Resolves the target method that is actually invoked.
|
| Constructor and Description |
|---|
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 instrumentation.
|
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.
|
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,
Instrumentation.Target instrumentationTarget,
Iterable<? extends MethodDescription> targetMethods,
MethodDelegationBinder.Processor processor)
Creates a new appender.
|
| Modifier and Type | Method and Description |
|---|---|
void |
MethodAttributeAppender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription)
Applies this attribute appender to a given method visitor.
|
void |
MethodAttributeAppender.NoOp.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForInstrumentedMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForAnnotation.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForLoadedMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForLoadedConstructor.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.Compound.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
AnnotationAppender.Target |
MethodAttributeAppender.ForAnnotation.Target.make(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription)
Materializes the target for a given creation process.
|
AnnotationAppender.Target |
MethodAttributeAppender.ForAnnotation.Target.OnMethod.make(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
AnnotationAppender.Target |
MethodAttributeAppender.ForAnnotation.Target.OnMethodParameter.make(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
| 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) |
<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. |
static class |
MethodLookupEngine.ConflictingInterfaceMethod
This
MethodDescription represents methods that are defined
ambiguously on several interfaces of a common type. |
static class |
MethodLookupEngine.OverridenClassMethod
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 | Method and Description |
|---|---|
MethodDescription |
MethodList.ForLoadedType.get(int index) |
MethodDescription |
MethodList.Explicit.get(int index) |
static MethodDescription |
MethodLookupEngine.OverridenClassMethod.of(MethodDescription overridingMethod,
MethodDescription overriddenMethod)
Creates a new method description of an overriding method to an overriden 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.
|
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 |
|---|---|
abstract Map<TypeDescription,Set<MethodDescription>> |
MethodLookupEngine.Default.DefaultMethodLookup.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() |
| Modifier and Type | Method and Description |
|---|---|
static MethodDescription |
MethodLookupEngine.OverridenClassMethod.of(MethodDescription overridingMethod,
MethodDescription overriddenMethod)
Creates a new method description of an overriding method to an overriden 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.
|
| 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 |
|---|
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. |
Explicit(List<? extends MethodDescription> methodDescriptions)
Creates a new wrapper for a given list of methods.
|
OverridenClassMethod(List<MethodDescription> methodChain)
Creates a new overriding class method.
|
| Modifier and Type | Method and Description |
|---|---|
ByteCodeAppender.Size |
ByteCodeAppender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
ByteCodeAppender.Compound.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
ByteCodeAppender.Simple.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
| Modifier and Type | Method and Description |
|---|---|
MethodDescription |
MethodDelegationBinder.MethodBinding.getTarget()
Returns the target method of the method binding attempt.
|
MethodDescription |
MethodDelegationBinder.MethodBinding.Illegal.getTarget() |
| Modifier and Type | Method and Description |
|---|---|
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.Processor.process(Instrumentation.Target instrumentationTarget,
MethodDescription source,
Iterable<? extends MethodDescription> targets) |
| Constructor and Description |
|---|
Builder(MethodDelegationBinder.MethodInvoker methodInvoker,
MethodDescription target)
Creates a new builder for the binding of a given method.
|
| Modifier and Type | Field and Description |
|---|---|
protected MethodDescription |
Morph.Binder.RedirectionProxy.StaticFieldConstructor.objectTypeDefaultConstructor
A reference of the
Object type default constructor. |
protected MethodDescription |
Field.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(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Morph.Binder.RedirectionProxy.MethodCall.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Field.Binder.AccessType.Getter.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Field.Binder.AccessType.Setter.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Field.Binder.InstanceFieldConstructor.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
MethodDelegationBinder.ParameterBinding<?> |
AllArguments.Binder.bind(AnnotationDescription.Loadable<AllArguments> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Argument.Binder.bind(AnnotationDescription.Loadable<Argument> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Default.Binder.bind(AnnotationDescription.Loadable<Default> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
DefaultCall.Binder.bind(AnnotationDescription.Loadable<DefaultCall> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Empty.Binder.bind(AnnotationDescription.Loadable<Empty> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Field.Binder.bind(AnnotationDescription.Loadable<Field> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Morph.Binder.bind(AnnotationDescription.Loadable<Morph> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Origin.Binder.bind(AnnotationDescription.Loadable<Origin> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Pipe.Binder.bind(AnnotationDescription.Loadable<Pipe> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Super.Binder.bind(AnnotationDescription.Loadable<Super> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
SuperCall.Binder.bind(AnnotationDescription.Loadable<SuperCall> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.bind(AnnotationDescription.Loadable<T> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
This.Binder.bind(AnnotationDescription.Loadable<This> annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.MethodBinding |
TargetMethodAnnotationDrivenBinder.bind(Instrumentation.Target instrumentationTarget,
MethodDescription source,
MethodDescription target) |
static boolean |
RuntimeType.Verifier.check(MethodDescription methodDescription)
Checks if method return values should be assigned by considering the run time type.
|
static boolean |
IgnoreForBinding.Verifier.check(MethodDescription methodDescription)
Validates if a method should be ignored for binding.
|
static boolean |
RuntimeType.Verifier.check(MethodDescription methodDescription,
int parameterIndex)
Checks if a method parameter should be assigned by considering the run time type.
|
protected static Field.Binder.FieldLocator |
Field.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(Instrumentation.Target instrumentationTarget,
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(Instrumentation.Target instrumentationTarget,
MethodDescription source,
MethodDescription target) |
Iterator<AnnotationDescription> |
Argument.NextUnboundAsDefaultsProvider.makeIterator(Instrumentation.Target instrumentationTarget,
MethodDescription source,
MethodDescription target) |
protected static Field.Binder.FieldLocator |
Field.Binder.FieldLocator.of(String fieldName,
MethodDescription methodDescription)
Returns a field locator for a given field.
|
protected abstract TypeDescription |
Field.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) |
Instrumentation.SpecialMethodInvocation |
Morph.Binder.DefaultMethodLocator.resolve(Instrumentation.Target instrumentationTarget,
MethodDescription source)
Locates the correct default method to a given source method.
|
Instrumentation.SpecialMethodInvocation |
Morph.Binder.DefaultMethodLocator.Implicit.resolve(Instrumentation.Target instrumentationTarget,
MethodDescription source) |
Instrumentation.SpecialMethodInvocation |
Morph.Binder.DefaultMethodLocator.Explicit.resolve(Instrumentation.Target instrumentationTarget,
MethodDescription source) |
Instrumentation.SpecialMethodInvocation |
DefaultCall.Binder.DefaultMethodLocator.resolve(Instrumentation.Target instrumentationTarget,
MethodDescription source)
Locates the correct default method to a given source method.
|
Instrumentation.SpecialMethodInvocation |
DefaultCall.Binder.DefaultMethodLocator.Implicit.resolve(Instrumentation.Target instrumentationTarget,
MethodDescription source) |
Instrumentation.SpecialMethodInvocation |
DefaultCall.Binder.DefaultMethodLocator.Explicit.resolve(Instrumentation.Target instrumentationTarget,
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
Field
annotation. |
MethodCall(MethodDescription accessorMethod,
Assigner assigner)
Creates a new method call instrumentation for a proxy method.
|
Redirection(TypeDescription forwardingType,
MethodDescription sourceMethod,
Assigner assigner,
boolean serializableProxy,
MethodLookupEngine.Factory methodLookupEngineFactory)
Creates a new redirection.
|
| 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 |
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.
|
MethodTypeConstant(MethodDescription methodDescription)
Creates a new method type 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 |
|---|---|
protected class |
InstrumentedType.AbstractBase.MethodToken
An implementation of a new method or constructor for the enclosing instrumented type.
|
| Modifier and Type | Field and Description |
|---|---|
protected List<MethodDescription> |
InstrumentedType.AbstractBase.methodDescriptions
A list of method descriptions registered for this instrumented type.
|
| Modifier and Type | Method and Description |
|---|---|
MethodDescription |
TypeDescription.getEnclosingMethod()
Returns a description of the enclosing method of this type.
|
MethodDescription |
TypeDescription.ForLoadedType.getEnclosingMethod() |
MethodDescription |
TypeDescription.ArrayProjection.getEnclosingMethod() |
MethodDescription |
InstrumentedType.AbstractBase.getEnclosingMethod() |
| 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.
|
| Modifier and Type | Method and Description |
|---|---|
MethodDescription |
AuxiliaryType.MethodAccessorFactory.registerAccessorFor(Instrumentation.SpecialMethodInvocation specialMethodInvocation)
Registers an accessor method for a
Instrumentation.SpecialMethodInvocation which cannot itself be
triggered invoked directly from outside a type. |
MethodDescription |
AuxiliaryType.MethodAccessorFactory.Illegal.registerAccessorFor(Instrumentation.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(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
TypeProxy.MethodCall.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
MethodCallProxy.ConstructorCall.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
MethodCallProxy.MethodCall.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
Instrumentation.SpecialMethodInvocation |
TypeProxy.InvocationFactory.invoke(Instrumentation.Target instrumentationTarget,
TypeDescription proxiedType,
MethodDescription instrumentedMethod)
Creates a special method invocation to implement for a given method.
|
| Constructor and Description |
|---|
AccessorMethodInvocation(MethodDescription instrumentedMethod,
Instrumentation.SpecialMethodInvocation specialMethodInvocation)
Creates a new accessor method invocation.
|
| 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 |
MethodParameterTypesMatcher<T extends MethodDescription>
An element matcher that matches a method' parameter types.
|
class |
MethodReturnTypeMatcher<T extends MethodDescription>
An element matcher that matches its argument's return type against a given type matcher.
|
class |
MethodSortMatcher<T extends MethodDescription>
Matches a method description by its general characteristics which are represented as a
MethodSortMatcher.Sort. |
| Modifier and Type | Method and Description |
|---|---|
static <T extends MethodDescription> |
ElementMatchers.anyOf(Constructor<?>... value)
Creates a matcher that matches any of the given constructors as
MethodDescriptions
by the Object.equals(Object) method. |
static <T extends MethodDescription> |
ElementMatchers.anyOf(Method... value)
Creates a matcher that matches any of the given methods as
MethodDescriptions
by the Object.equals(Object) method. |
static <T extends MethodDescription> |
ElementMatchers.canThrow(Class<? extends Throwable> exceptionType)
Matches a
MethodDescription by its capability to throw a given
checked exception. |
static <T extends MethodDescription> |
ElementMatchers.canThrow(TypeDescription exceptionType)
Matches a
MethodDescription by its capability to throw a given
checked exception. |
static <T extends MethodDescription> |
ElementMatchers.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
MethodDescriptions
by the Object.equals(Object) method. |
static <T extends MethodDescription> |
ElementMatchers.noneOf(Method... value)
Creates a matcher that matches none of the given methods as
MethodDescriptions
by the Object.equals(Object) method. |
static <T extends MethodDescription> |
ElementMatchers.returns(Class<?> type)
Matches
MethodDescriptions that returns a given
Class. |
static <T extends MethodDescription> |
ElementMatchers.returns(ElementMatcher<? super TypeDescription> matcher)
Matches
MethodDescriptions that matches a matched method's
return type. |
static <T extends MethodDescription> |
ElementMatchers.returns(TypeDescription typeDescription)
Matches
MethodDescriptions 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 |
|---|---|
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.
|
| 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) |
Copyright © 2014–2015. All rights reserved.