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.asm |
The ASM package contains classes that are meant for direct interaction with the ASM API.
|
net.bytebuddy.build |
A package for types that allow for applying Byte Buddy transformation during a build process.
|
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.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.utility |
This package contains utility classes for common use within any Byte Buddy logic.
|
net.bytebuddy.utility.visitor |
A package containing visitor classes for ASM.
|
Modifier and Type | Field and Description |
---|---|
protected LatentMatcher<? super MethodDescription> |
ByteBuddy.ignoredMethods
A matcher for identifying methods that should be excluded from instrumentation.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
ByteBuddy.EnumerationImplementation.ValuesMethodAppender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
ByteBuddy.EnumerationImplementation.InitializationAppender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
Modifier and Type | Method and Description |
---|---|
ByteBuddy |
ByteBuddy.ignore(ElementMatcher<? super MethodDescription> ignoredMethods)
Creates a new configuration where any
MethodDescription that matches the provided method matcher is excluded
from instrumentation. |
ByteBuddy |
ByteBuddy.ignore(LatentMatcher<? super MethodDescription> ignoredMethods)
Creates a new configuration where any
MethodDescription that matches the provided method matcher is excluded
from instrumentation. |
Constructor and Description |
---|
ByteBuddy(ClassFileVersion classFileVersion,
NamingStrategy namingStrategy,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
InstrumentedType.Factory instrumentedTypeFactory,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods)
Creates a new Byte Buddy instance.
|
Modifier and Type | Method and Description |
---|---|
protected LatentMatcher<? super MethodDescription> |
AgentBuilder.Transformer.ForAdvice.Entry.getMatcher()
Returns the matcher for advised methods.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.ConstructorImplementation.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.FactoryImplementation.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.BridgeMethodImplementation.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
MethodVisitor |
AgentBuilder.LambdaInstrumentationStrategy.MetaFactoryRedirection.wrap(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
TypePool typePool,
int writerFlags,
int readerFlags)
Wraps a method visitor.
|
MethodVisitor |
AgentBuilder.LambdaInstrumentationStrategy.AlternativeMetaFactoryRedirection.wrap(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
TypePool typePool,
int writerFlags,
int readerFlags)
Wraps a method visitor.
|
Modifier and Type | Method and Description |
---|---|
AgentBuilder.Transformer.ForAdvice |
AgentBuilder.Transformer.ForAdvice.advice(ElementMatcher<? super MethodDescription> matcher,
String name)
Applies the given advice class onto all methods that satisfy the supplied matcher.
|
AgentBuilder.Transformer.ForAdvice |
AgentBuilder.Transformer.ForAdvice.advice(ElementMatcher<? super MethodDescription> matcher,
String enter,
String exit)
Applies the given advice class onto all methods that satisfy the supplied matcher.
|
AgentBuilder.Transformer.ForAdvice |
AgentBuilder.Transformer.ForAdvice.advice(LatentMatcher<? super MethodDescription> matcher,
String name)
Applies the given advice class onto all methods that satisfy the supplied matcher.
|
AgentBuilder.Transformer.ForAdvice |
AgentBuilder.Transformer.ForAdvice.advice(LatentMatcher<? super MethodDescription> matcher,
String enter,
String exit)
Applies the given advice class onto all methods that satisfy the supplied matcher.
|
Constructor and Description |
---|
Appender(MethodDescription targetMethod,
JavaConstant.MethodType specializedLambdaMethod,
List<FieldDescription.InDefinedShape> declaredFields)
Creates an appender of a lambda expression's functional method.
|
Constructor and Description |
---|
Entry(LatentMatcher<? super MethodDescription> matcher)
Creates a new entry.
|
ForSplitAdvice(LatentMatcher<? super MethodDescription> matcher,
String enter,
String exit)
Creates a new entry for an advice class with explicit entry and exit advice classes.
|
ForUnifiedAdvice(LatentMatcher<? super MethodDescription> matcher,
String name)
Creates a new entry for an advice class where both the (optional) entry and exit advice methods are declared by the same class.
|
Modifier and Type | Field and Description |
---|---|
protected MethodDescription |
Advice.ArgumentHandler.ForAdvice.Default.adviceMethod
The advice method.
|
protected MethodDescription |
Advice.ArgumentHandler.ForInstrumentedMethod.Default.instrumentedMethod
The instrumented method.
|
protected MethodDescription |
Advice.ArgumentHandler.ForAdvice.Default.instrumentedMethod
The instrumented method.
|
protected MethodDescription |
Advice.MethodSizeHandler.Default.instrumentedMethod
The instrumented method.
|
protected MethodDescription |
Advice.StackMapFrameHandler.Default.instrumentedMethod
The instrumented method.
|
protected MethodDescription |
Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.instrumentedMethod
The instrumented method.
|
protected MethodDescription |
Advice.AdviceVisitor.instrumentedMethod
A description of the instrumented method.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
MemberSubstitution.Substitution.ForMethodInvocation.MethodResolver.resolve(TypeDescription targetType,
ByteCodeElement target,
TypeList.Generic parameters,
TypeDescription.Generic result)
Resolves the method to substitute with.
|
MethodDescription |
MemberSubstitution.Substitution.ForMethodInvocation.MethodResolver.Simple.resolve(TypeDescription targetType,
ByteCodeElement target,
TypeList.Generic parameters,
TypeDescription.Generic result)
Resolves the method to substitute with.
|
MethodDescription |
MemberSubstitution.Substitution.ForMethodInvocation.MethodResolver.Matching.resolve(TypeDescription targetType,
ByteCodeElement target,
TypeList.Generic parameters,
TypeDescription.Generic result)
Resolves the method to substitute with.
|
Modifier and Type | Method and Description |
---|---|
protected abstract MethodVisitor |
Advice.Dispatcher.Inlining.Resolved.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Applies a resolution for a given instrumented method.
|
protected MethodVisitor |
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler) |
protected MethodVisitor |
Advice.Dispatcher.Inlining.Resolved.ForMethodExit.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler) |
ByteCodeAppender.Size |
Advice.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
String |
Advice.OffsetMapping.ForOrigin.Renderer.apply(TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Returns a string representation for this renderer.
|
String |
Advice.OffsetMapping.ForOrigin.Renderer.ForMethodName.apply(TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Returns a string representation for this renderer.
|
String |
Advice.OffsetMapping.ForOrigin.Renderer.ForTypeName.apply(TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Returns a string representation for this renderer.
|
String |
Advice.OffsetMapping.ForOrigin.Renderer.ForDescriptor.apply(TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Returns a string representation for this renderer.
|
String |
Advice.OffsetMapping.ForOrigin.Renderer.ForJavaSignature.apply(TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Returns a string representation for this renderer.
|
String |
Advice.OffsetMapping.ForOrigin.Renderer.ForReturnTypeName.apply(TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Returns a string representation for this renderer.
|
String |
Advice.OffsetMapping.ForOrigin.Renderer.ForStringRepresentation.apply(TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Returns a string representation for this renderer.
|
String |
Advice.OffsetMapping.ForOrigin.Renderer.ForConstantValue.apply(TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Returns a string representation for this renderer.
|
Advice.Dispatcher.RelocationHandler.Bound |
Advice.Dispatcher.RelocationHandler.bind(MethodDescription instrumentedMethod,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this relocation handler to a relocation dispatcher.
|
Advice.Dispatcher.RelocationHandler.Bound |
Advice.Dispatcher.RelocationHandler.Disabled.bind(MethodDescription instrumentedMethod,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this relocation handler to a relocation dispatcher.
|
Advice.Dispatcher.RelocationHandler.Bound |
Advice.Dispatcher.RelocationHandler.ForValue.bind(MethodDescription instrumentedMethod,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this relocation handler to a relocation dispatcher.
|
Advice.Dispatcher.RelocationHandler.Bound |
Advice.Dispatcher.RelocationHandler.ForValue.Inverted.bind(MethodDescription instrumentedMethod,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this relocation handler to a relocation dispatcher.
|
Advice.Dispatcher.RelocationHandler.Bound |
Advice.Dispatcher.RelocationHandler.ForType.bind(MethodDescription instrumentedMethod,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this relocation handler to a relocation dispatcher.
|
MemberSubstitution.Replacement.Binding |
MemberSubstitution.Replacement.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
FieldDescription.InDefinedShape fieldDescription,
boolean writeAccess)
Binds this replacement for a field that was discovered.
|
MemberSubstitution.Replacement.Binding |
MemberSubstitution.Replacement.NoOp.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
FieldDescription.InDefinedShape fieldDescription,
boolean writeAccess)
Binds this replacement for a field that was discovered.
|
MemberSubstitution.Replacement.Binding |
MemberSubstitution.Replacement.ForElementMatchers.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
FieldDescription.InDefinedShape fieldDescription,
boolean writeAccess)
Binds this replacement for a field that was discovered.
|
MemberSubstitution.Replacement.Binding |
MemberSubstitution.Replacement.ForFirstBinding.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
FieldDescription.InDefinedShape fieldDescription,
boolean writeAccess)
Binds this replacement for a field that was discovered.
|
Advice.Dispatcher.Bound |
Advice.Dispatcher.Resolved.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this dispatcher for resolution to a specific method.
|
Advice.Dispatcher.Bound |
Advice.Dispatcher.Inactive.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this dispatcher for resolution to a specific method.
|
Advice.Dispatcher.Bound |
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this dispatcher for resolution to a specific method.
|
Advice.Dispatcher.Bound |
Advice.Dispatcher.Inlining.Resolved.ForMethodExit.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this dispatcher for resolution to a specific method.
|
Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this dispatcher for resolution to a specific method.
|
MemberSubstitution.Replacement.Binding |
MemberSubstitution.Replacement.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypeDescription typeDescription,
MethodDescription methodDescription,
MemberSubstitution.Replacement.InvocationType invocationType)
Binds this replacement for a field that was discovered.
|
MemberSubstitution.Replacement.Binding |
MemberSubstitution.Replacement.NoOp.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypeDescription typeDescription,
MethodDescription methodDescription,
MemberSubstitution.Replacement.InvocationType invocationType)
Binds this replacement for a field that was discovered.
|
MemberSubstitution.Replacement.Binding |
MemberSubstitution.Replacement.ForElementMatchers.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypeDescription typeDescription,
MethodDescription methodDescription,
MemberSubstitution.Replacement.InvocationType invocationType)
Binds this replacement for a field that was discovered.
|
MemberSubstitution.Replacement.Binding |
MemberSubstitution.Replacement.ForFirstBinding.bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypeDescription typeDescription,
MethodDescription methodDescription,
MemberSubstitution.Replacement.InvocationType invocationType)
Binds this replacement for a field that was discovered.
|
Advice.ArgumentHandler.ForAdvice |
Advice.ArgumentHandler.ForInstrumentedMethod.bindEnter(MethodDescription adviceMethod)
Binds an advice method as enter advice for this handler.
|
Advice.ArgumentHandler.ForAdvice |
Advice.ArgumentHandler.ForInstrumentedMethod.Default.bindEnter(MethodDescription adviceMethod)
Binds an advice method as enter advice for this handler.
|
Advice.ArgumentHandler.ForAdvice |
Advice.ArgumentHandler.ForInstrumentedMethod.bindExit(MethodDescription adviceMethod,
boolean skipThrowable)
Binds an advice method as exit advice for this handler.
|
Advice.ArgumentHandler.ForAdvice |
Advice.ArgumentHandler.ForInstrumentedMethod.Default.bindExit(MethodDescription adviceMethod,
boolean skipThrowable)
Binds an advice method as exit advice for this handler.
|
protected abstract int |
Advice.StackMapFrameHandler.Default.TranslationMode.copy(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodDescription methodDescription,
Object[] localVariable,
Object[] translated)
Copies the fixed parameters of the instrumented method onto the operand stack.
|
protected MethodVisitor |
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.doApply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Applies a resolution for a given instrumented method.
|
protected MethodVisitor |
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithDiscardedEnterType.doApply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Applies a resolution for a given instrumented method.
|
protected Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.ForMethodEnter.doResolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Binds this dispatcher for resolution to a specific method.
|
protected Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.ForMethodEnter.WithDiscardedEnterType.doResolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Binds this dispatcher for resolution to a specific method.
|
protected MethodVisitor |
Advice.doWrap(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
int writerFlags,
int readerFlags)
Wraps the method visitor to implement this advice.
|
protected abstract boolean |
Advice.StackMapFrameHandler.Default.TranslationMode.isPossibleThisFrameValue(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Object frame)
Checks if a variable value in a stack map frame is a legal value for describing a
this reference. |
abstract boolean |
Advice.OffsetMapping.Sort.isPremature(MethodDescription methodDescription)
Checks if an advice is executed in a premature state, i.e.
|
protected abstract boolean |
Advice.OffsetMapping.ForInstrumentedMethod.isRepresentable(MethodDescription instrumentedMethod)
Checks if the supplied method is representable for the assigned offset mapping.
|
MemberSubstitution.Substitution.Chain.Step |
MemberSubstitution.Substitution.Chain.Step.Factory.make(Assigner assigner,
Assigner.Typing typing,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Creates a substitution step for an instrumented method.
|
MemberSubstitution.Substitution.Chain.Step |
MemberSubstitution.Substitution.Chain.Step.Simple.make(Assigner assigner,
Assigner.Typing typing,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Creates a substitution step for an instrumented method.
|
MemberSubstitution.Substitution |
MemberSubstitution.Substitution.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a substitution for an instrumented method.
|
MemberSubstitution.Substitution |
MemberSubstitution.Substitution.Stubbing.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a substitution for an instrumented method.
|
MemberSubstitution.Substitution |
MemberSubstitution.Substitution.ForFieldAccess.OfGivenField.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a substitution for an instrumented method.
|
MemberSubstitution.Substitution |
MemberSubstitution.Substitution.ForFieldAccess.OfMatchedField.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a substitution for an instrumented method.
|
MemberSubstitution.Substitution |
MemberSubstitution.Substitution.ForMethodInvocation.OfGivenMethod.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a substitution for an instrumented method.
|
MemberSubstitution.Substitution |
MemberSubstitution.Substitution.ForMethodInvocation.OfMatchedMethod.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a substitution for an instrumented method.
|
MemberSubstitution.Substitution |
MemberSubstitution.Substitution.Chain.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a substitution for an instrumented method.
|
MemberSubstitution.Replacement |
MemberSubstitution.Replacement.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a replacement for an instrumented method.
|
MemberSubstitution.Replacement |
MemberSubstitution.Replacement.Factory.Compound.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a replacement for an instrumented method.
|
MemberSubstitution.Replacement |
MemberSubstitution.Replacement.NoOp.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a replacement for an instrumented method.
|
MemberSubstitution.Replacement |
MemberSubstitution.Replacement.ForElementMatchers.Factory.make(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Creates a replacement for an instrumented method.
|
boolean |
AsmVisitorWrapper.ForDeclaredMethods.Entry.matches(MethodDescription target)
Matches a target against this element matcher.
|
protected static MemberSubstitution.Replacement.InvocationType |
MemberSubstitution.Replacement.InvocationType.of(int opcode,
MethodDescription methodDescription)
Resolves an invocation type.
|
protected static Advice.MethodSizeHandler.ForInstrumentedMethod |
Advice.MethodSizeHandler.Default.of(MethodDescription instrumentedMethod,
List<? extends TypeDescription> initialTypes,
List<? extends TypeDescription> preMethodTypes,
List<? extends TypeDescription> postMethodTypes,
boolean copyArguments,
int writerFlags)
Creates a method size handler applicable for the given instrumented method.
|
protected static Advice.StackMapFrameHandler.ForInstrumentedMethod |
Advice.StackMapFrameHandler.Default.of(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
List<? extends TypeDescription> initialTypes,
List<? extends TypeDescription> preMethodTypes,
List<? extends TypeDescription> postMethodTypes,
boolean exitAdvice,
boolean copyArguments,
ClassFileVersion classFileVersion,
int writerFlags,
int readerFlags)
Creates an appropriate stack map frame handler for an instrumented method.
|
MemberSubstitution |
MemberSubstitution.WithoutSpecification.replaceWith(MethodDescription methodDescription)
Replaces any interaction with a matched byte code element by an invocation of the specified method.
|
protected abstract ParameterDescription |
Advice.OffsetMapping.ForArgument.resolve(MethodDescription instrumentedMethod)
Resolves the bound parameter.
|
protected ParameterDescription |
Advice.OffsetMapping.ForArgument.Unresolved.resolve(MethodDescription instrumentedMethod) |
protected ParameterDescription |
Advice.OffsetMapping.ForArgument.Resolved.resolve(MethodDescription instrumentedMethod) |
protected abstract Advice.ArgumentHandler.ForInstrumentedMethod |
Advice.ArgumentHandler.Factory.resolve(MethodDescription instrumentedMethod,
TypeDefinition enterType,
TypeDefinition exitType,
Map<String,TypeDefinition> namedTypes)
Creates an argument handler.
|
StackManipulation |
Advice.ExceptionHandler.resolve(MethodDescription instrumentedMethod,
TypeDescription instrumentedType)
Resolves a stack manipulation to apply.
|
StackManipulation |
Advice.ExceptionHandler.Simple.resolve(MethodDescription instrumentedMethod,
TypeDescription instrumentedType)
Resolves a stack manipulation to apply.
|
protected ByteCodeAppender.Size |
Advice.Appender.EmulatingMethodVisitor.resolve(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Resolves this this advice emulating method visitor for its delegate.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForArgument.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForArgument.Unresolved.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForThisReference.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForAllArguments.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForInstrumentedType.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForInstrumentedMethod.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForField.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForOrigin.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForUnusedValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForStubValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForEnterValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForExitValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForLocalValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForReturnValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForThrowable.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForStackManipulation.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Advice.OffsetMapping.Target |
Advice.OffsetMapping.ForSerializedValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
protected abstract Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this dispatcher for resolution to a specific method.
|
protected Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.ForMethodEnter.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation) |
protected Advice.Dispatcher.Bound |
Advice.Dispatcher.Delegating.Resolved.ForMethodExit.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation) |
TypePool |
MemberSubstitution.TypePoolResolver.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Resolves a type pool to use for locating substituted members.
|
TypePool |
MemberSubstitution.TypePoolResolver.OfImplicitPool.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Resolves a type pool to use for locating substituted members.
|
TypePool |
MemberSubstitution.TypePoolResolver.ForExplicitPool.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Resolves a type pool to use for locating substituted members.
|
TypePool |
MemberSubstitution.TypePoolResolver.ForClassFileLocator.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypePool typePool)
Resolves a type pool to use for locating substituted members.
|
protected void |
Advice.StackMapFrameHandler.Default.translateFrame(MethodVisitor methodVisitor,
Advice.StackMapFrameHandler.Default.TranslationMode translationMode,
MethodDescription methodDescription,
List<? extends TypeDescription> additionalTypes,
int type,
int localVariableLength,
Object[] localVariable,
int stackSize,
Object[] stack)
Translates a frame.
|
MethodVisitor |
MemberSubstitution.wrap(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
TypePool typePool,
int writerFlags,
int readerFlags)
Wraps a method visitor.
|
MethodVisitor |
MemberAttributeExtension.ForMethod.wrap(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
TypePool typePool,
int writerFlags,
int readerFlags)
Wraps a method visitor.
|
MethodVisitor |
AsmVisitorWrapper.ForDeclaredMethods.MethodVisitorWrapper.wrap(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
TypePool typePool,
int writerFlags,
int readerFlags)
Wraps a method visitor.
|
MethodVisitor |
AsmVisitorWrapper.ForDeclaredMethods.Entry.wrap(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
TypePool typePool,
int writerFlags,
int readerFlags)
Wraps a method visitor.
|
MethodVisitor |
Advice.wrap(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
TypePool typePool,
int writerFlags,
int readerFlags)
Wraps a method visitor.
|
Modifier and Type | Method and Description |
---|---|
MemberSubstitution.WithoutSpecification |
MemberSubstitution.constructor(ElementMatcher<? super MethodDescription> matcher)
Substitutes any constructor invocation that matches the given matcher.
|
AsmVisitorWrapper.ForDeclaredMethods |
AsmVisitorWrapper.ForDeclaredMethods.constructor(ElementMatcher<? super MethodDescription> matcher,
AsmVisitorWrapper.ForDeclaredMethods.MethodVisitorWrapper... methodVisitorWrapper)
Defines a new method visitor wrapper to be applied on any constructor if the given method matcher is matched.
|
AsmVisitorWrapper.ForDeclaredMethods |
AsmVisitorWrapper.ForDeclaredMethods.constructor(ElementMatcher<? super MethodDescription> matcher,
List<? extends AsmVisitorWrapper.ForDeclaredMethods.MethodVisitorWrapper> methodVisitorWrappers)
Defines a new method visitor wrapper to be applied on any constructor if the given method matcher is matched.
|
MemberSubstitution.WithoutSpecification |
MemberSubstitution.invokable(ElementMatcher<? super MethodDescription> matcher)
Substitutes any method or constructor invocation that matches the given matcher.
|
AsmVisitorWrapper.ForDeclaredMethods |
AsmVisitorWrapper.ForDeclaredMethods.invokable(ElementMatcher<? super MethodDescription> matcher,
AsmVisitorWrapper.ForDeclaredMethods.MethodVisitorWrapper... methodVisitorWrapper)
Defines a new method visitor wrapper to be applied on any method or constructor if the given method matcher is matched.
|
AsmVisitorWrapper.ForDeclaredMethods |
AsmVisitorWrapper.ForDeclaredMethods.invokable(ElementMatcher<? super MethodDescription> matcher,
List<? extends AsmVisitorWrapper.ForDeclaredMethods.MethodVisitorWrapper> methodVisitorWrappers)
Defines a new method visitor wrapper to be applied on any method or constructor if the given method matcher is matched.
|
MemberSubstitution.WithoutSpecification.ForMatchedMethod |
MemberSubstitution.method(ElementMatcher<? super MethodDescription> matcher)
Substitutes any method invocation that matches the given matcher.
|
AsmVisitorWrapper.ForDeclaredMethods |
AsmVisitorWrapper.ForDeclaredMethods.method(ElementMatcher<? super MethodDescription> matcher,
AsmVisitorWrapper.ForDeclaredMethods.MethodVisitorWrapper... methodVisitorWrapper)
Defines a new method visitor wrapper to be applied on any method if the given method matcher is matched.
|
AsmVisitorWrapper.ForDeclaredMethods |
AsmVisitorWrapper.ForDeclaredMethods.method(ElementMatcher<? super MethodDescription> matcher,
List<? extends AsmVisitorWrapper.ForDeclaredMethods.MethodVisitorWrapper> methodVisitorWrappers)
Defines a new method visitor wrapper to be applied on any method if the given method matcher is matched.
|
protected static MemberSubstitution.Replacement.Factory |
MemberSubstitution.Replacement.ForElementMatchers.Factory.ofMethod(ElementMatcher<? super MethodDescription> matcher,
boolean includeVirtualCalls,
boolean includeSuperCalls,
MemberSubstitution.Substitution.Factory factory)
Creates a factory that only matches method and constructor invocations for given invocation types.
|
AsmVisitorWrapper.ForDeclaredMethods |
MemberSubstitution.on(ElementMatcher<? super MethodDescription> matcher)
Applies this member substitution to any method that matches the supplied matcher.
|
AsmVisitorWrapper |
MemberAttributeExtension.ForMethod.on(ElementMatcher<? super MethodDescription> matcher)
Applies this attribute extension on any method or constructor that matches the supplied matcher.
|
AsmVisitorWrapper.ForDeclaredMethods |
Advice.on(ElementMatcher<? super MethodDescription> matcher)
Returns an ASM visitor wrapper that matches the given matcher and applies this advice to the matched methods.
|
MemberSubstitution |
MemberSubstitution.WithoutSpecification.replaceWithMethod(ElementMatcher<? super MethodDescription> matcher)
Replaces any interaction with a matched byte code element with a non-static method access on the first
parameter of the matched element.
|
MemberSubstitution |
MemberSubstitution.WithoutSpecification.replaceWithMethod(ElementMatcher<? super MethodDescription> matcher,
MethodGraph.Compiler methodGraphCompiler)
Replaces any interaction with a matched byte code element with a non-static method access on the first
parameter of the matched element.
|
MemberRemoval |
MemberRemoval.stripConstructors(ElementMatcher<? super MethodDescription> matcher)
Specifies that any constructor that matches the specified matcher should be removed.
|
MemberRemoval |
MemberRemoval.stripInvokables(ElementMatcher<? super MethodDescription> matcher)
Specifies that any method or constructor that matches the specified matcher should be removed.
|
MemberRemoval |
MemberRemoval.stripMethods(ElementMatcher<? super MethodDescription> matcher)
Specifies that any method that matches the specified matcher should be removed.
|
ModifierAdjustment |
ModifierAdjustment.withConstructorModifiers(ElementMatcher<? super MethodDescription> matcher,
List<? extends ModifierContributor.ForMethod> modifierContributors)
Adjusts a constructor's modifiers if it fulfills the supplied matcher.
|
ModifierAdjustment |
ModifierAdjustment.withConstructorModifiers(ElementMatcher<? super MethodDescription> matcher,
ModifierContributor.ForMethod... modifierContributor)
Adjusts a constructor's modifiers if it fulfills the supplied matcher.
|
ModifierAdjustment |
ModifierAdjustment.withInvokableModifiers(ElementMatcher<? super MethodDescription> matcher,
List<? extends ModifierContributor.ForMethod> modifierContributors)
Adjusts a method's or constructor's modifiers if it fulfills the supplied matcher.
|
ModifierAdjustment |
ModifierAdjustment.withInvokableModifiers(ElementMatcher<? super MethodDescription> matcher,
ModifierContributor.ForMethod... modifierContributor)
Adjusts a method's or constructor's modifiers if it fulfills the supplied matcher.
|
ModifierAdjustment |
ModifierAdjustment.withMethodModifiers(ElementMatcher<? super MethodDescription> matcher,
List<? extends ModifierContributor.ForMethod> modifierContributors)
Adjusts a method's modifiers if it fulfills the supplied matcher.
|
ModifierAdjustment |
ModifierAdjustment.withMethodModifiers(ElementMatcher<? super MethodDescription> matcher,
ModifierContributor.ForMethod... modifierContributor)
Adjusts a method's modifiers if it fulfills the supplied matcher.
|
Constructor and Description |
---|
AdviceMethodInliner(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler,
ClassReader classReader)
Creates a new advice method inliner.
|
AdviceVisitor(MethodVisitor methodVisitor,
MethodVisitor delegate,
Implementation.Context implementationContext,
Assigner assigner,
StackManipulation exceptionHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.Resolved.ForMethodEnter methodEnter,
Advice.Dispatcher.Resolved.ForMethodExit methodExit,
List<? extends TypeDescription> postMethodTypes,
int writerFlags,
int readerFlags)
Creates a new advice visitor.
|
Bound(MethodDescription instrumentedMethod,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Creates a new bound relocation handler.
|
Bound(MethodDescription instrumentedMethod,
Advice.Dispatcher.RelocationHandler.Relocation relocation,
boolean inverted)
Creates a new bound relocation handler.
|
CodeTranslationVisitor(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
MethodDescription instrumentedMethod,
MethodDescription.InDefinedShape adviceMethod,
Map<Integer,Advice.OffsetMapping.Target> offsetMappings,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Creates a new code translation visitor.
|
Copying(MethodDescription instrumentedMethod,
TypeDefinition exitType,
TreeMap<String,TypeDefinition> namedTypes,
TypeDefinition enterType)
Creates a new copying argument handler for an instrumented method.
|
Default(MethodDescription instrumentedMethod,
List<? extends TypeDescription> initialTypes,
List<? extends TypeDescription> preMethodTypes,
List<? extends TypeDescription> postMethodTypes)
Creates a new default meta data handler that recomputes the space requirements of an instrumented method.
|
Default(MethodDescription instrumentedMethod,
MethodDescription adviceMethod,
TypeDefinition exitType,
TreeMap<String,TypeDefinition> namedTypes)
Creates a new argument handler for an enter advice.
|
Default(MethodDescription instrumentedMethod,
TypeDefinition exitType,
TreeMap<String,TypeDefinition> namedTypes,
TypeDefinition enterType)
Creates a new default argument handler for an instrumented method.
|
Default(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
List<? extends TypeDescription> initialTypes,
List<? extends TypeDescription> preMethodTypes,
List<? extends TypeDescription> postMethodTypes,
boolean expandFrames)
Creates a new default stack map frame handler.
|
ForMethodEnter(MethodDescription instrumentedMethod,
MethodDescription adviceMethod,
TypeDefinition exitType,
TreeMap<String,TypeDefinition> namedTypes)
Creates a new argument handler for an enter advice method.
|
ForMethodEnter(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
MethodDescription instrumentedMethod,
MethodDescription.InDefinedShape adviceMethod,
Map<Integer,Advice.OffsetMapping.Target> offsetMappings,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Creates a code translation visitor for translating exit advice.
|
ForMethodExit(MethodDescription instrumentedMethod,
MethodDescription adviceMethod,
TypeDefinition exitType,
TreeMap<String,TypeDefinition> namedTypes,
TypeDefinition enterType,
StackSize throwableSize)
Creates a new argument handler for an exit advice method.
|
ForMethodExit(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
MethodDescription instrumentedMethod,
MethodDescription.InDefinedShape adviceMethod,
Map<Integer,Advice.OffsetMapping.Target> offsetMappings,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Creates a code translation visitor for translating exit advice.
|
OfGivenMethod(MethodDescription methodDescription)
Creates a new factory for a substitution that invokes a given method.
|
RequiringConsistentShape(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
List<? extends TypeDescription> initialTypes,
List<? extends TypeDescription> preMethodTypes,
List<? extends TypeDescription> postMethodTypes,
boolean expandFrames)
Creates a new stack map frame handler that expects the original frames to be preserved.
|
Resolved(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
TypeDescription targetType,
ByteCodeElement target,
MemberSubstitution.Substitution substitution)
Creates a new resolved binding.
|
Simple(MethodDescription methodDescription)
Creates a new simple method resolver.
|
Simple(MethodDescription instrumentedMethod,
TypeDefinition exitType,
TreeMap<String,TypeDefinition> namedTypes,
TypeDefinition enterType)
Creates a new simple argument handler for an instrumented method.
|
SubstitutingMethodVisitor(MethodVisitor methodVisitor,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodGraph.Compiler methodGraphCompiler,
boolean strict,
MemberSubstitution.Replacement replacement,
Implementation.Context implementationContext,
TypePool typePool,
boolean virtualPrivateCalls)
Creates a new substituting method visitor.
|
Trivial(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
boolean expandFrames)
Creates a new stack map frame handler that applies a trivial translation for the instrumented method's stack map frames.
|
UsingArgumentCopy(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
List<? extends TypeDescription> initialTypes,
List<? extends TypeDescription> preMethodTypes,
List<? extends TypeDescription> postMethodTypes,
boolean expandFrames)
Creates a new stack map frame handler that expects an argument copy.
|
WithCopiedArguments(MethodDescription instrumentedMethod,
List<? extends TypeDescription> initialTypes,
List<? extends TypeDescription> preMethodTypes,
List<? extends TypeDescription> postMethodTypes)
Creates a new default method size handler that expects the original arguments to be copied.
|
WithExceptionHandling(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
StackManipulation exceptionHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.Resolved.ForMethodEnter methodEnter,
Advice.Dispatcher.Resolved.ForMethodExit methodExit,
int writerFlags,
int readerFlags,
TypeDescription throwable)
Creates a new advice visitor that captures exception by weaving try-catch blocks around user code.
|
WithExitAdvice(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
StackManipulation exceptionHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.Resolved.ForMethodEnter methodEnter,
Advice.Dispatcher.Resolved.ForMethodExit methodExit,
List<? extends TypeDescription> postMethodTypes,
int writerFlags,
int readerFlags)
Creates an advice visitor that applies exit advice.
|
WithoutExceptionHandling(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
StackManipulation exceptionHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.Resolved.ForMethodEnter methodEnter,
Advice.Dispatcher.Resolved.ForMethodExit methodExit,
int writerFlags,
int readerFlags)
Creates a new advice visitor that does not capture exceptions.
|
WithoutExitAdvice(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
StackManipulation exceptionHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.Resolved.ForMethodEnter methodEnter,
int writerFlags,
int readerFlags)
Creates an advice visitor that does not apply exit advice.
|
WithPreservedArguments(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
List<? extends TypeDescription> initialTypes,
List<? extends TypeDescription> preMethodTypes,
List<? extends TypeDescription> postMethodTypes,
boolean expandFrames)
Creates a new stack map frame handler that requires the stack map frames of the original arguments to be preserved.
|
WithRetainedArguments(MethodDescription instrumentedMethod,
List<? extends TypeDescription> initialTypes,
List<? extends TypeDescription> preMethodTypes,
List<? extends TypeDescription> postMethodTypes)
Creates a new default method size handler that expects that the original arguments are retained.
|
Constructor and Description |
---|
DispatchingVisitor(ClassVisitor classVisitor,
TypeDescription instrumentedType,
Implementation.Context implementationContext,
TypePool typePool,
Map<String,MethodDescription> methods,
int writerFlags,
int readerFlags)
Creates a new dispatching visitor.
|
Entry(ElementMatcher<? super MethodDescription> matcher,
List<? extends AsmVisitorWrapper.ForDeclaredMethods.MethodVisitorWrapper> methodVisitorWrappers)
Creates a new entry.
|
Factory(ElementMatcher<? super FieldDescription.InDefinedShape> fieldMatcher,
ElementMatcher<? super MethodDescription> methodMatcher,
boolean matchFieldRead,
boolean matchFieldWrite,
boolean includeVirtualCalls,
boolean includeSuperCalls,
MemberSubstitution.Substitution.Factory substitutionFactory)
Creates a new replacement that triggers a substitution based on a row of matchers.
|
ForElementMatchers(ElementMatcher<? super FieldDescription.InDefinedShape> fieldMatcher,
ElementMatcher<? super MethodDescription> methodMatcher,
boolean matchFieldRead,
boolean matchFieldWrite,
boolean includeVirtualCalls,
boolean includeSuperCalls,
MemberSubstitution.Substitution substitution)
Creates a new replacement that triggers a substitution based on a row of matchers.
|
ForMatchedMethod(MethodGraph.Compiler methodGraphCompiler,
MemberSubstitution.TypePoolResolver typePoolResolver,
boolean strict,
MemberSubstitution.Replacement.Factory replacementFactory,
ElementMatcher<? super MethodDescription> matcher)
Creates a new member substitution for a matched method that requires a specification for how to perform a substitution.
|
ForMatchedMethod(MethodGraph.Compiler methodGraphCompiler,
MemberSubstitution.TypePoolResolver typePoolResolver,
boolean strict,
MemberSubstitution.Replacement.Factory replacementFactory,
ElementMatcher<? super MethodDescription> matcher,
boolean includeVirtualCalls,
boolean includeSuperCalls)
Creates a new member substitution for a matched method that requires a specification for how to perform a substitution.
|
Matching(TypeDescription instrumentedType,
MethodGraph.Compiler methodGraphCompiler,
ElementMatcher<? super MethodDescription> matcher)
Creates a new matching method resolver.
|
MemberRemoval(ElementMatcher.Junction<FieldDescription.InDefinedShape> fieldMatcher,
ElementMatcher.Junction<MethodDescription> methodMatcher)
Creates a new member removal instance.
|
MemberRemovingClassVisitor(ClassVisitor classVisitor,
ElementMatcher.Junction<FieldDescription.InDefinedShape> fieldMatcher,
ElementMatcher.Junction<MethodDescription> methodMatcher,
Map<String,FieldDescription.InDefinedShape> fields,
Map<String,MethodDescription> methods)
Creates a new member removing class visitor.
|
MemberRemovingClassVisitor(ClassVisitor classVisitor,
ElementMatcher.Junction<FieldDescription.InDefinedShape> fieldMatcher,
ElementMatcher.Junction<MethodDescription> methodMatcher,
Map<String,FieldDescription.InDefinedShape> fields,
Map<String,MethodDescription> methods)
Creates a new member removing class visitor.
|
ModifierAdjustingClassVisitor(ClassVisitor classVisitor,
List<ModifierAdjustment.Adjustment<TypeDescription>> typeAdjustments,
List<ModifierAdjustment.Adjustment<FieldDescription.InDefinedShape>> fieldAdjustments,
List<ModifierAdjustment.Adjustment<MethodDescription>> methodAdjustments,
TypeDescription instrumentedType,
Map<String,FieldDescription.InDefinedShape> fields,
Map<String,MethodDescription> methods)
Creates a new modifier adjusting visitor.
|
ModifierAdjustingClassVisitor(ClassVisitor classVisitor,
List<ModifierAdjustment.Adjustment<TypeDescription>> typeAdjustments,
List<ModifierAdjustment.Adjustment<FieldDescription.InDefinedShape>> fieldAdjustments,
List<ModifierAdjustment.Adjustment<MethodDescription>> methodAdjustments,
TypeDescription instrumentedType,
Map<String,FieldDescription.InDefinedShape> fields,
Map<String,MethodDescription> methods)
Creates a new modifier adjusting visitor.
|
ModifierAdjustment(List<ModifierAdjustment.Adjustment<TypeDescription>> typeAdjustments,
List<ModifierAdjustment.Adjustment<FieldDescription.InDefinedShape>> fieldAdjustments,
List<ModifierAdjustment.Adjustment<MethodDescription>> methodAdjustments)
Creates a new modifier adjustment.
|
OfMatchedMethod(ElementMatcher<? super MethodDescription> matcher,
MethodGraph.Compiler methodGraphCompiler)
Creates a factory for a substitution that locates a method on the receiver type.
|
Modifier and Type | Method and Description |
---|---|
Advice.OffsetMapping.Target |
CachedReturnPlugin.CacheFieldOffsetMapping.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler,
Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
|
Modifier and Type | Interface and Description |
---|---|
interface |
MethodList<T extends MethodDescription>
Implementations represent a list of method descriptions.
|
static class |
MethodList.AbstractBase<S extends MethodDescription>
A base implementation of a
MethodList . |
static class |
MethodList.Empty<S extends MethodDescription>
An implementation of an empty method list.
|
static class |
MethodList.Explicit<S extends MethodDescription>
A method list that is a wrapper for a given list of method descriptions.
|
Modifier and Type | Interface and Description |
---|---|
static interface |
MethodDescription.InDefinedShape
Represents a method in its defined shape, i.e.
|
static interface |
MethodDescription.InGenericShape
Represents a method description in its generic shape, i.e.
|
Modifier and Type | Class and Description |
---|---|
static class |
MethodDescription.AbstractBase
An abstract base implementation of a method description.
|
static class |
MethodDescription.ForLoadedConstructor
An implementation of a method description for a loaded constructor.
|
static class |
MethodDescription.ForLoadedMethod
An implementation of a method description for a loaded method.
|
static class |
MethodDescription.InDefinedShape.AbstractBase
An abstract base implementation of a method description in its defined shape.
|
static class |
MethodDescription.Latent
A latent method description describes a method that is not attached to a declaring
TypeDescription . |
static class |
MethodDescription.Latent.TypeInitializer
A method description that represents the type initializer.
|
static class |
MethodDescription.TypeSubstituting
A method description that represents a given method but with substituted method types.
|
Modifier and Type | Field and Description |
---|---|
protected List<? extends MethodDescription> |
MethodList.TypeSubstituting.methodDescriptions
The list of method descriptions to represent.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
ParameterDescription.getDeclaringMethod()
Returns the method that declares this parameter.
|
Constructor and Description |
---|
Explicit(S... methodDescription)
Creates a new wrapper for a given list of methods.
|
TypeSubstituting(TypeDescription.Generic declaringType,
MethodDescription methodDescription,
TypeDescription.Generic.Visitor<? extends TypeDescription.Generic> visitor)
Creates a method description with substituted method types.
|
Constructor and Description |
---|
TypeSubstituting(TypeDescription.Generic declaringType,
List<? extends MethodDescription> methodDescriptions,
TypeDescription.Generic.Visitor<? extends TypeDescription.Generic> visitor)
Creates a new type substituting method list.
|
Modifier and Type | Method and Description |
---|---|
static TypeList.Generic |
TypeList.Generic.ForDetachedTypes.attach(MethodDescription methodDescription,
List<? extends TypeDescription.Generic> detachedTypes)
Creates a list of types that are attached to the provided method.
|
static TypeList.Generic |
TypeList.Generic.ForDetachedTypes.attachVariables(MethodDescription methodDescription,
List<? extends TypeVariableToken> detachedTypeVariables)
Creates a list of type variables that are attached to the provided method.
|
static TypeDescription.Generic.Visitor.Substitutor.ForAttachment |
TypeDescription.Generic.Visitor.Substitutor.ForAttachment.of(MethodDescription methodDescription)
Attaches all types to the given method description.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
Transformer.ForMethod.TransformedMethod
The transformed method.
|
Modifier and Type | Field and Description |
---|---|
protected LatentMatcher<? super MethodDescription> |
DynamicType.Builder.AbstractBase.Adapter.ignoredMethods
A matcher for identifying methods that should be excluded from instrumentation.
|
protected Transformer<MethodDescription> |
DynamicType.Builder.MethodDefinition.AbstractBase.Adapter.transformer
The transformer to apply onto the method that is currently being implemented.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
Transformer.ForMethod.TransformedMethod.TransformedParameter.getDeclaringMethod()
Returns the method that declares this parameter.
|
MethodDescription |
Transformer.ForMethod.transform(TypeDescription instrumentedType,
MethodDescription methodDescription)
Transforms the supplied target.
|
Modifier and Type | Method and Description |
---|---|
static Transformer<MethodDescription> |
Transformer.ForMethod.withModifiers(List<? extends ModifierContributor.ForMethod> modifierContributors)
Creates a transformer that enforces the supplied modifier contributors.
|
static Transformer<MethodDescription> |
Transformer.ForMethod.withModifiers(ModifierContributor.ForMethod... modifierContributor)
Creates a transformer that enforces the supplied modifier contributors.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
NexusAccessor.InitializationAppender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> |
DynamicType.Builder.define(MethodDescription methodDescription)
Defines a method or constructor that is similar to the supplied method description but without copying any annotations of
the method/constructor or method/constructor parameters.
|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<S> |
DynamicType.Builder.AbstractBase.define(MethodDescription methodDescription)
Defines a method or constructor that is similar to the supplied method description but without copying any annotations of
the method/constructor or method/constructor parameters.
|
boolean |
VisibilityBridgeStrategy.generateVisibilityBridge(MethodDescription methodDescription)
Determines if a visibility bridge should be generated for a method that is eligable.
|
MethodDescription |
Transformer.ForMethod.transform(TypeDescription instrumentedType,
MethodDescription methodDescription)
Transforms the supplied target.
|
Modifier and Type | Method and Description |
---|---|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> |
DynamicType.Builder.constructor(ElementMatcher<? super MethodDescription> matcher)
Matches a constructor that is already declared by the instrumented type.
|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<S> |
DynamicType.Builder.AbstractBase.constructor(ElementMatcher<? super MethodDescription> matcher)
Matches a constructor that is already declared by the instrumented type.
|
DynamicType.Builder<T> |
DynamicType.Builder.ignoreAlso(ElementMatcher<? super MethodDescription> ignoredMethods)
Specifies to exclude any method that is matched by the supplied matcher from instrumentation.
|
DynamicType.Builder<S> |
DynamicType.Builder.AbstractBase.ignoreAlso(ElementMatcher<? super MethodDescription> ignoredMethods)
Specifies to exclude any method that is matched by the supplied matcher from instrumentation.
|
DynamicType.Builder<U> |
DynamicType.Builder.AbstractBase.Delegator.ignoreAlso(ElementMatcher<? super MethodDescription> ignoredMethods)
Specifies to exclude any method that is matched by the supplied matcher from instrumentation.
|
DynamicType.Builder<T> |
DynamicType.Builder.ignoreAlso(LatentMatcher<? super MethodDescription> ignoredMethods)
Specifies to exclude any method that is matched by the supplied matcher from instrumentation.
|
DynamicType.Builder<U> |
DynamicType.Builder.AbstractBase.Delegator.ignoreAlso(LatentMatcher<? super MethodDescription> ignoredMethods)
Specifies to exclude any method that is matched by the supplied matcher from instrumentation.
|
DynamicType.Builder<U> |
DynamicType.Builder.AbstractBase.Adapter.ignoreAlso(LatentMatcher<? super MethodDescription> ignoredMethods)
Specifies to exclude any method that is matched by the supplied matcher from instrumentation.
|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> |
DynamicType.Builder.invokable(ElementMatcher<? super MethodDescription> matcher)
Matches a method or constructor that is already declared or inherited by the instrumented type.
|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<S> |
DynamicType.Builder.AbstractBase.invokable(ElementMatcher<? super MethodDescription> matcher)
Matches a method or constructor that is already declared or inherited by the instrumented type.
|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> |
DynamicType.Builder.invokable(LatentMatcher<? super MethodDescription> matcher)
Matches a method or constructor that is already declared or inherited by the instrumented type.
|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<U> |
DynamicType.Builder.AbstractBase.Delegator.invokable(LatentMatcher<? super MethodDescription> matcher)
Matches a method or constructor that is already declared or inherited by the instrumented type.
|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<U> |
DynamicType.Builder.AbstractBase.Adapter.invokable(LatentMatcher<? super MethodDescription> matcher)
Matches a method or constructor that is already declared or inherited by the instrumented type.
|
protected abstract DynamicType.Builder<U> |
DynamicType.Builder.AbstractBase.Adapter.materialize(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
List<? extends DynamicType> auxiliaryTypes)
Materializes the supplied state of a dynamic type builder.
|
protected abstract DynamicType.Builder.MethodDefinition<V> |
DynamicType.Builder.MethodDefinition.AbstractBase.Adapter.materialize(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer)
Materializes the current builder as a method definition.
|
protected DynamicType.Builder.MethodDefinition<U> |
DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.AnnotationAdapter.materialize(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer) |
protected DynamicType.Builder.MethodDefinition<U> |
DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter.AnnotationAdapter.materialize(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer) |
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> |
DynamicType.Builder.method(ElementMatcher<? super MethodDescription> matcher)
Matches a method that is already declared or inherited by the instrumented type.
|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<S> |
DynamicType.Builder.AbstractBase.method(ElementMatcher<? super MethodDescription> matcher)
Matches a method that is already declared or inherited by the instrumented type.
|
DynamicType.Builder.MethodDefinition<S> |
DynamicType.Builder.MethodDefinition.transform(Transformer<MethodDescription> transformer)
Applies the supplied transformer onto the previously defined or matched method.
|
DynamicType.Builder.MethodDefinition<V> |
DynamicType.Builder.MethodDefinition.AbstractBase.Adapter.transform(Transformer<MethodDescription> transformer)
Applies the supplied transformer onto the previously defined or matched method.
|
Constructor and Description |
---|
Adapter(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
List<? extends DynamicType> auxiliaryTypes)
Creates a new default type writer for creating a new type that is not based on an existing class file.
|
Adapter(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer)
Creates a new adapter for a method definition.
|
AnnotationAdapter(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer)
Creates a new annotation adapter.
|
AnnotationAdapter(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory methodAttributeAppenderFactory,
Transformer<MethodDescription> transformer)
Creates a new annotation adapter.
|
MethodMatchAdapter(LatentMatcher<? super MethodDescription> matcher)
Creates a new method match adapter.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
TypeWriter.MethodPool.Record.AccessBridgeWrapper.AccessorBridge
A method representing an accessor bridge method.
|
protected static class |
TypeWriter.MethodPool.Record.AccessBridgeWrapper.BridgeTarget
A method representing a bridge's target method in its defined shape.
|
protected static class |
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge.VisibilityBridge
A method describing a visibility bridge.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
TypeWriter.MethodPool.Record.getMethod()
Returns the method that is implemented where the returned method resembles a potential transformation.
|
MethodDescription |
TypeWriter.MethodPool.Record.ForNonImplementedMethod.getMethod()
Returns the method that is implemented where the returned method resembles a potential transformation.
|
MethodDescription |
TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody.getMethod()
Returns the method that is implemented where the returned method resembles a potential transformation.
|
MethodDescription |
TypeWriter.MethodPool.Record.ForDefinedMethod.WithoutBody.getMethod()
Returns the method that is implemented where the returned method resembles a potential transformation.
|
MethodDescription |
TypeWriter.MethodPool.Record.ForDefinedMethod.WithAnnotationDefaultValue.getMethod()
Returns the method that is implemented where the returned method resembles a potential transformation.
|
MethodDescription |
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge.getMethod()
Returns the method that is implemented where the returned method resembles a potential transformation.
|
MethodDescription |
TypeWriter.MethodPool.Record.AccessBridgeWrapper.getMethod()
Returns the method that is implemented where the returned method resembles a potential transformation.
|
protected MethodDescription |
MethodRegistry.Default.Prepared.Entry.getMethodDescription()
Returns the method description this entry represents.
|
MethodDescription |
MethodGraph.Node.getRepresentative()
Returns the method that is represented by this node.
|
MethodDescription |
MethodGraph.Node.Unresolved.getRepresentative()
Returns the method that is represented by this node.
|
MethodDescription |
MethodGraph.Node.Simple.getRepresentative()
Returns the method that is represented by this node.
|
MethodDescription |
MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node.getRepresentative()
Returns the method that is represented by this node.
|
MethodDescription |
MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous.Node.getRepresentative()
Returns the method that is represented by this node.
|
MethodDescription |
MethodGraph.Compiler.Default.Merger.merge(MethodDescription left,
MethodDescription right)
Merges two ambiguously resolved methods to yield a single representative.
|
MethodDescription |
MethodGraph.Compiler.Default.Merger.Directional.merge(MethodDescription left,
MethodDescription right)
Merges two ambiguously resolved methods to yield a single representative.
|
Modifier and Type | Method and Description |
---|---|
Set<MethodDescription> |
MethodGraph.Compiler.Default.Key.Store.Entry.getCandidates()
Returns all candidate methods represented by this entry.
|
Set<MethodDescription> |
MethodGraph.Compiler.Default.Key.Store.Entry.Initial.getCandidates()
Returns all candidate methods represented by this entry.
|
Set<MethodDescription> |
MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.getCandidates()
Returns all candidate methods represented by this entry.
|
Set<MethodDescription> |
MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous.getCandidates()
Returns all candidate methods represented by this entry.
|
ElementMatcher<? super MethodDescription> |
MethodRegistry.Default.Entry.resolve(TypeDescription typeDescription)
Resolves the element matcher this instance represents for the supplied type description.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
TypeInitializer.None.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
TypeInitializer.Simple.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
protected MethodRegistry.Default.Prepared.Entry |
MethodRegistry.Default.Entry.asPreparedEntry(TypeDescription instrumentedType,
MethodDescription methodDescription,
Set<MethodDescription.TypeToken> methodTypes,
Visibility visibility)
Transforms this entry into a prepared state.
|
protected MethodRegistry.Default.Prepared.Entry |
MethodRegistry.Default.Entry.asPreparedEntry(TypeDescription instrumentedType,
MethodDescription methodDescription,
Visibility visibility)
Transforms this entry into a prepared state.
|
TypeWriter.MethodPool.Record |
MethodRegistry.Handler.ForAbstractMethod.assemble(MethodDescription methodDescription,
MethodAttributeAppender attributeAppender,
Visibility visibility)
Assembles this compiled entry with a method attribute appender.
|
TypeWriter.MethodPool.Record |
MethodRegistry.Handler.ForVisibilityBridge.Compiled.assemble(MethodDescription methodDescription,
MethodAttributeAppender attributeAppender,
Visibility visibility)
Assembles this compiled entry with a method attribute appender.
|
TypeWriter.MethodPool.Record |
MethodRegistry.Handler.Compiled.assemble(MethodDescription methodDescription,
MethodAttributeAppender attributeAppender,
Visibility visibility)
Assembles this compiled entry with a method attribute appender.
|
TypeWriter.MethodPool.Record |
MethodRegistry.Handler.ForImplementation.Compiled.assemble(MethodDescription methodDescription,
MethodAttributeAppender attributeAppender,
Visibility visibility)
Assembles this compiled entry with a method attribute appender.
|
TypeWriter.MethodPool.Record |
MethodRegistry.Handler.ForAnnotationValue.assemble(MethodDescription methodDescription,
MethodAttributeAppender attributeAppender,
Visibility visibility)
Assembles this compiled entry with a method attribute appender.
|
protected MethodRegistry.Default.Prepared.Entry |
MethodRegistry.Default.Entry.asSupplementaryEntry(MethodDescription methodDescription)
Returns a prepared entry for a supplementary method.
|
MethodGraph.Compiler.Default.Key.Store.Entry<U> |
MethodGraph.Compiler.Default.Key.Store.Entry.Initial.extendBy(MethodDescription methodDescription,
MethodGraph.Compiler.Default.Harmonizer<U> harmonizer)
Extends this entry by the given method.
|
MethodGraph.Compiler.Default.Key.Store.Entry<U> |
MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.extendBy(MethodDescription methodDescription,
MethodGraph.Compiler.Default.Harmonizer<U> harmonizer)
Extends this entry by the given method.
|
MethodGraph.Compiler.Default.Key.Store.Entry<U> |
MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous.extendBy(MethodDescription methodDescription,
MethodGraph.Compiler.Default.Harmonizer<U> harmonizer)
Extends this entry by the given method.
|
MethodGraph.Compiler.Default.Key.Store.Entry<W> |
MethodGraph.Compiler.Default.Key.Store.Entry.extendBy(MethodDescription methodDescription,
MethodGraph.Compiler.Default.Harmonizer<W> harmonizer)
Extends this entry by the given method.
|
protected static MethodRegistry.Default.Prepared.Entry |
MethodRegistry.Default.Prepared.Entry.forVisibilityBridge(MethodDescription bridgeTarget,
Visibility visibility)
Creates an entry for a visibility bridge.
|
MethodDescription |
MethodGraph.Compiler.Default.Merger.merge(MethodDescription left,
MethodDescription right)
Merges two ambiguously resolved methods to yield a single representative.
|
MethodDescription |
MethodGraph.Compiler.Default.Merger.Directional.merge(MethodDescription left,
MethodDescription right)
Merges two ambiguously resolved methods to yield a single representative.
|
protected static <Q> MethodGraph.Compiler.Default.Key.Harmonized<Q> |
MethodGraph.Compiler.Default.Key.Harmonized.of(MethodDescription methodDescription,
MethodGraph.Compiler.Default.Harmonizer<Q> harmonizer)
Creates a new harmonized key for the given method description.
|
protected static <Q> MethodGraph.Compiler.Default.Key.Store.Entry<Q> |
MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous.of(MethodGraph.Compiler.Default.Key.Harmonized<Q> key,
MethodDescription left,
MethodDescription right,
Visibility visibility)
Creates a new ambiguous entry if both provided entries are not considered to be a bridge of one another.
|
static TypeWriter.MethodPool.Record |
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge.of(TypeDescription instrumentedType,
MethodDescription bridgeTarget,
MethodAttributeAppender attributeAppender)
Creates a record for a visibility bridge.
|
static TypeWriter.MethodPool.Record |
TypeWriter.MethodPool.Record.AccessBridgeWrapper.of(TypeWriter.MethodPool.Record delegate,
TypeDescription instrumentedType,
MethodDescription bridgeTarget,
Set<MethodDescription.TypeToken> bridgeTypes,
MethodAttributeAppender attributeAppender)
Wraps the given record in an accessor bridge wrapper if necessary.
|
protected MethodVisitor |
TypeWriter.Default.ForInlining.WithFullProcessing.RedefinitionClassVisitor.redefine(MethodDescription methodDescription,
boolean abstractOrigin,
int modifiers,
String genericSignature)
Redefines a given method if this is required by looking up a potential implementation from the
TypeWriter.MethodPool . |
TypeWriter.MethodPool.Record |
TypeWriter.MethodPool.target(MethodDescription methodDescription)
Looks up a handler entry for a given method.
|
TypeWriter.MethodPool.Record |
MethodRegistry.Default.Compiled.target(MethodDescription methodDescription)
Looks up a handler entry for a given method.
|
Modifier and Type | Method and Description |
---|---|
protected MethodGraph.Compiler.Default.Key.Store<T> |
MethodGraph.Compiler.Default.analyze(TypeDefinition typeDefinition,
TypeDefinition key,
Map<TypeDefinition,MethodGraph.Compiler.Default.Key.Store<T>> snapshots,
ElementMatcher<? super MethodDescription> relevanceMatcher)
Analyzes the given type description without checking if the end of the type hierarchy was reached.
|
protected MethodGraph.Compiler.Default.Key.Store<T> |
MethodGraph.Compiler.Default.analyzeNullable(TypeDescription.Generic typeDescription,
Map<TypeDefinition,MethodGraph.Compiler.Default.Key.Store<T>> snapshots,
ElementMatcher<? super MethodDescription> relevanceMatcher)
Analyzes the given type description.
|
MethodRegistry |
MethodRegistry.append(LatentMatcher<? super MethodDescription> methodMatcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Appends the given method definition to this method registry, i.e.
|
MethodRegistry |
MethodRegistry.append(LatentMatcher<? super MethodDescription> methodMatcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Appends the given method definition to this method registry, i.e.
|
MethodRegistry |
MethodRegistry.Default.append(LatentMatcher<? super MethodDescription> matcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Appends the given method definition to this method registry, i.e.
|
MethodRegistry |
MethodRegistry.Default.append(LatentMatcher<? super MethodDescription> matcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Appends the given method definition to this method registry, i.e.
|
protected MethodGraph.Compiler.Default.Key.Store<T> |
MethodGraph.Compiler.Default.doAnalyze(TypeDefinition typeDefinition,
Map<TypeDefinition,MethodGraph.Compiler.Default.Key.Store<T>> snapshots,
ElementMatcher<? super MethodDescription> relevanceMatcher)
Analyzes the given type description without checking if it is already presented in the key store.
|
static <U> TypeWriter<U> |
TypeWriter.Default.forDecoration(TypeDescription instrumentedType,
ClassFileVersion classFileVersion,
List<? extends DynamicType> auxiliaryTypes,
List<? extends MethodDescription> methods,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
Implementation.Context.Factory implementationContextFactory,
TypeValidation typeValidation,
ClassWriterStrategy classWriterStrategy,
TypePool typePool,
ClassFileLocator classFileLocator)
Creates a type writer for decorating a type.
|
static MethodGraph |
MethodGraph.Simple.of(List<? extends MethodDescription> methodDescriptions)
Returns a method graph that contains all of the provided methods as simple nodes.
|
MethodRegistry.Prepared |
MethodRegistry.prepare(InstrumentedType instrumentedType,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods)
Prepares this method registry.
|
MethodRegistry.Prepared |
MethodRegistry.Default.prepare(InstrumentedType instrumentedType,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods)
Prepares this method registry.
|
MethodRegistry |
MethodRegistry.prepend(LatentMatcher<? super MethodDescription> methodMatcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Prepends the given method definition to this method registry, i.e.
|
MethodRegistry |
MethodRegistry.prepend(LatentMatcher<? super MethodDescription> methodMatcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Prepends the given method definition to this method registry, i.e.
|
MethodRegistry |
MethodRegistry.Default.prepend(LatentMatcher<? super MethodDescription> matcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Prepends the given method definition to this method registry, i.e.
|
MethodRegistry |
MethodRegistry.Default.prepend(LatentMatcher<? super MethodDescription> matcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Prepends the given method definition to this method registry, i.e.
|
protected MethodGraph.Compiler.Default.Key.Store<V> |
MethodGraph.Compiler.Default.Key.Store.registerTopLevel(List<? extends MethodDescription> methodDescriptions,
MethodGraph.Compiler.Default.Harmonizer<V> harmonizer)
Registers a new top level method within this store.
|
Constructor and Description |
---|
AccessBridgeWrapper(TypeWriter.MethodPool.Record delegate,
TypeDescription instrumentedType,
MethodDescription bridgeTarget,
Set<MethodDescription.TypeToken> bridgeTypes,
MethodAttributeAppender attributeAppender)
Creates a wrapper for adding accessor bridges.
|
AccessorBridge(MethodDescription bridgeTarget,
MethodDescription.TypeToken bridgeType,
TypeDescription instrumentedType)
Creates a new accessor bridge method.
|
BridgeTarget(MethodDescription bridgeTarget,
TypeDescription instrumentedType)
Creates a new bridge target.
|
Entry(MethodRegistry.Handler.Compiled handler,
MethodAttributeAppender attributeAppender,
MethodDescription methodDescription,
Set<MethodDescription.TypeToken> bridgeTypes,
Visibility visibility,
boolean bridgeMethod)
Creates a new entry for a compiled method registry.
|
Entry(MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
MethodDescription methodDescription,
Set<MethodDescription.TypeToken> typeTokens,
Visibility visibility,
boolean bridgeMethod)
Creates a new prepared entry.
|
ForNonImplementedMethod(MethodDescription methodDescription)
Creates a new undefined record.
|
Node(MethodGraph.Compiler.Default.Key.Detached key,
MethodDescription methodDescription,
Visibility visibility) |
Node(MethodGraph.Compiler.Default.Key.Detached key,
MethodDescription methodDescription,
Visibility visibility,
boolean visible)
Creates a new node.
|
OfVisibilityBridge(MethodDescription visibilityBridge,
MethodDescription bridgeTarget,
TypeDescription bridgeType,
MethodAttributeAppender attributeAppender)
Creates a new record for a visibility bridge.
|
Resolved(MethodGraph.Compiler.Default.Key.Harmonized<U> key,
MethodDescription methodDescription,
Visibility visibility,
boolean madeVisible)
Creates a new resolved entry.
|
Simple(MethodDescription methodDescription)
Creates a simple node.
|
VisibilityBridge(TypeDescription instrumentedType,
MethodDescription bridgeTarget)
Creates a new visibility bridge.
|
WithAnnotationDefaultValue(MethodDescription methodDescription,
AnnotationValue<?,?> annotationValue,
MethodAttributeAppender methodAttributeAppender)
Creates a new entry for defining a method with a default annotation value.
|
WithBody(MethodDescription methodDescription,
ByteCodeAppender byteCodeAppender)
Creates a new record for an implemented method without attributes or a modifier resolver.
|
WithBody(MethodDescription methodDescription,
ByteCodeAppender byteCodeAppender,
MethodAttributeAppender methodAttributeAppender,
Visibility visibility)
Creates a new entry for a method that defines a method as byte code.
|
WithoutBody(MethodDescription methodDescription,
MethodAttributeAppender methodAttributeAppender,
Visibility visibility)
Creates a new entry for a method that is defines but does not append byte code, i.e.
|
Constructor and Description |
---|
Ambiguous(MethodGraph.Compiler.Default.Key.Harmonized<U> key,
LinkedHashSet<MethodDescription> methodDescriptions,
Visibility visibility)
Creates a new ambiguous entry.
|
Compiled(TypeDescription instrumentedType,
LoadedTypeInitializer loadedTypeInitializer,
TypeInitializer typeInitializer,
MethodList<?> methods,
LinkedHashMap<MethodDescription,MethodRegistry.Default.Compiled.Entry> implementations,
boolean supportsBridges)
Creates a new compiled version of a default method registry.
|
Entry(LatentMatcher<? super MethodDescription> matcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Creates a new entry.
|
Entry(LatentMatcher<? super MethodDescription> matcher,
MethodRegistry.Handler handler,
MethodAttributeAppender.Factory attributeAppenderFactory,
Transformer<MethodDescription> transformer)
Creates a new entry.
|
Prepared(LinkedHashMap<MethodDescription,MethodRegistry.Default.Prepared.Entry> implementations,
LoadedTypeInitializer loadedTypeInitializer,
TypeInitializer typeInitializer,
TypeDescription instrumentedType,
MethodGraph.Linked methodGraph,
MethodList<?> methods)
Creates a prepared version of a default method registry.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
MethodRebaseResolver.Resolution.ForRebasedConstructor.RebasedConstructor
An description of a rebased constructor.
|
protected static class |
MethodRebaseResolver.Resolution.ForRebasedMethod.RebasedMethod
A description of a rebased method.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
RebaseImplementationTarget.RebasedMethodInvocation.getMethodDescription()
Returns the method that represents this special method invocation.
|
Modifier and Type | Method and Description |
---|---|
protected static LatentMatcher<MethodDescription> |
InliningImplementationMatcher.of(LatentMatcher<? super MethodDescription> ignoredMethods,
TypeDescription originalType)
Creates a matcher where only overridable or declared methods are matched unless those are ignored.
|
ElementMatcher<? super MethodDescription> |
InliningImplementationMatcher.resolve(TypeDescription typeDescription)
Resolves the element matcher this instance represents for the supplied type description.
|
Modifier and Type | Method and Description |
---|---|
protected static Implementation.SpecialMethodInvocation |
RebaseImplementationTarget.RebasedMethodInvocation.of(MethodDescription resolvedMethod,
TypeDescription instrumentedType,
TypeList prependedParameters)
Creates a special method invocation for the given method.
|
String |
MethodNameTransformer.transform(MethodDescription methodDescription)
Transforms a method's name to an alternative name.
|
String |
MethodNameTransformer.Suffixing.transform(MethodDescription methodDescription)
Transforms a method's name to an alternative name.
|
String |
MethodNameTransformer.Prefixing.transform(MethodDescription methodDescription)
Transforms a method's name to an alternative name.
|
Modifier and Type | Method and Description |
---|---|
DynamicType.Builder<T> |
DecoratingDynamicTypeBuilder.ignoreAlso(LatentMatcher<? super MethodDescription> ignoredMethods)
Specifies to exclude any method that is matched by the supplied matcher from instrumentation.
|
DynamicType.Builder.MethodDefinition.ImplementationDefinition<T> |
DecoratingDynamicTypeBuilder.invokable(LatentMatcher<? super MethodDescription> matcher)
Matches a method or constructor that is already declared or inherited by the instrumented type.
|
protected DynamicType.Builder<T> |
RedefinitionDynamicTypeBuilder.materialize(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
List<? extends DynamicType> auxiliaryTypes) |
protected DynamicType.Builder<T> |
RebaseDynamicTypeBuilder.materialize(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
List<? extends DynamicType> auxiliaryTypes) |
protected static LatentMatcher<MethodDescription> |
InliningImplementationMatcher.of(LatentMatcher<? super MethodDescription> ignoredMethods,
TypeDescription originalType)
Creates a matcher where only overridable or declared methods are matched unless those are ignored.
|
Constructor and Description |
---|
RebasedMethodInvocation(MethodDescription methodDescription,
TypeDescription instrumentedType,
StackManipulation stackManipulation,
TypeList prependedParameters)
Creates a new rebased method invocation.
|
Constructor and Description |
---|
AbstractInliningDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
List<? extends DynamicType> auxiliaryTypes,
TypeDescription originalType,
ClassFileLocator classFileLocator)
Creates an inlining dynamic type builder.
|
DecoratingDynamicTypeBuilder(TypeDescription instrumentedType,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
ClassFileLocator classFileLocator)
Creates a new decorating dynamic type builder.
|
DecoratingDynamicTypeBuilder(TypeDescription instrumentedType,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
List<DynamicType> auxiliaryTypes,
ClassFileLocator classFileLocator)
Creates a new decorating dynamic type builder.
|
InliningImplementationMatcher(LatentMatcher<? super MethodDescription> ignoredMethods,
ElementMatcher<? super MethodDescription> predefinedMethodSignatures)
Creates a new inline implementation matcher.
|
InliningImplementationMatcher(LatentMatcher<? super MethodDescription> ignoredMethods,
ElementMatcher<? super MethodDescription> predefinedMethodSignatures)
Creates a new inline implementation matcher.
|
RebaseDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
TypeDescription originalType,
ClassFileLocator classFileLocator,
MethodNameTransformer methodNameTransformer)
Creates a rebase dynamic type builder.
|
RebaseDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
List<? extends DynamicType> auxiliaryTypes,
TypeDescription originalType,
ClassFileLocator classFileLocator,
MethodNameTransformer methodNameTransformer)
Creates a rebase dynamic type builder.
|
RedefinitionDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
TypeDescription originalType,
ClassFileLocator classFileLocator)
Creates a redefinition dynamic type builder.
|
RedefinitionDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
List<? extends DynamicType> auxiliaryTypes,
TypeDescription originalType,
ClassFileLocator classFileLocator)
Creates a redefinition dynamic type builder.
|
Modifier and Type | Method and Description |
---|---|
ElementMatcher<? super MethodDescription> |
SubclassDynamicTypeBuilder.InstrumentableMatcher.resolve(TypeDescription typeDescription)
Resolves the element matcher this instance represents for the supplied type description.
|
Modifier and Type | Method and Description |
---|---|
protected DynamicType.Builder<T> |
SubclassDynamicTypeBuilder.materialize(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
List<? extends DynamicType> auxiliaryTypes) |
Constructor and Description |
---|
ForDefaultConstructor(ElementMatcher<? super MethodDescription> elementMatcher)
Creates a constructor strategy for invoking a super constructor with default arguments.
|
ForDefaultConstructor(ElementMatcher<? super MethodDescription> elementMatcher,
MethodAttributeAppender.Factory methodAttributeAppenderFactory)
Creates a constructor strategy for invoking a super constructor with default arguments.
|
InstrumentableMatcher(LatentMatcher<? super MethodDescription> ignoredMethods)
Creates a latent method matcher that matches all methods that are to be instrumented by a
SubclassDynamicTypeBuilder . |
SubclassDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
ConstructorStrategy constructorStrategy)
Creates a new type builder for creating a subclass.
|
SubclassDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
VisibilityBridgeStrategy visibilityBridgeStrategy,
ClassWriterStrategy classWriterStrategy,
LatentMatcher<? super MethodDescription> ignoredMethods,
List<? extends DynamicType> auxiliaryTypes,
ConstructorStrategy constructorStrategy)
Creates a new type builder for creating a subclass.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
Implementation.Context.Default.AbstractPropertyAccessorMethod
A base implementation of a method that accesses a property of an instrumented type.
|
protected static class |
Implementation.Context.Default.AccessorMethod
A description of an accessor method to access another method from outside the instrumented type.
|
protected static class |
Implementation.Context.Default.FieldGetter
A description of a field getter method.
|
protected static class |
Implementation.Context.Default.FieldSetter
A description of a field setter method.
|
Modifier and Type | Field and Description |
---|---|
protected ElementMatcher<? super MethodDescription> |
MethodDelegation.ImplementationDelegate.ForField.matcher
The matcher to use for filtering methods.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
Implementation.SpecialMethodInvocation.getMethodDescription()
Returns the method that represents this special method invocation.
|
MethodDescription |
Implementation.SpecialMethodInvocation.Illegal.getMethodDescription()
Returns the method that represents this special method invocation.
|
MethodDescription |
Implementation.SpecialMethodInvocation.Simple.getMethodDescription()
Returns the method that represents this special method invocation.
|
MethodDescription |
MethodCall.MethodLocator.resolve(TypeDescription targetType,
MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
MethodDescription |
MethodCall.MethodLocator.ForInstrumentedMethod.resolve(TypeDescription targetType,
MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
MethodDescription |
MethodCall.MethodLocator.ForExplicitMethod.resolve(TypeDescription targetType,
MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
MethodDescription |
MethodCall.MethodLocator.ForElementMatcher.resolve(TypeDescription targetType,
MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
protected MethodDescription |
MethodCall.Appender.toInvokedMethod(MethodDescription instrumentedMethod,
MethodCall.TargetHandler.Resolved targetHandler)
Resolves this appender to the method being invoked.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
ToStringMethod.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
SuperMethodCall.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
StubMethod.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
MethodDelegation.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
MethodCall.FieldSetting.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
MethodCall.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
InvokeDynamic.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
InvocationHandlerAdapter.ForInstance.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
InvocationHandlerAdapter.ForField.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
Implementation.Context.Default.AccessorMethodDelegation.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
Implementation.Context.Default.FieldGetterDelegation.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
Implementation.Context.Default.FieldSetterDelegation.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
HashCodeMethod.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
FixedValue.ForNullValue.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
FixedValue.ForOriginType.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
FixedValue.ForThisValue.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
FixedValue.ForArgument.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
FixedValue.ForPoolValue.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
FieldAccessor.ForImplicitProperty.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
FieldAccessor.ForSetter.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
ExceptionMethod.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
EqualsMethod.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
DefaultMethodCall.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
protected ByteCodeAppender.Size |
InvocationHandlerAdapter.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod,
StackManipulation preparingManipulation,
FieldDescription fieldDescription)
Applies an implementation that delegates to a invocation handler.
|
protected ByteCodeAppender.Size |
FixedValue.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod,
TypeDescription.Generic fixedValueType,
StackManipulation valueLoadingInstruction)
Blueprint method that for applying the actual implementation.
|
static MethodCall |
MethodCall.construct(MethodDescription methodDescription)
Invokes the given constructor in order to create an instance.
|
static MethodCall.WithoutSpecifiedTarget |
MethodCall.invoke(MethodDescription methodDescription)
Invokes the given method.
|
InvokeDynamic.InvocationProvider.Target |
InvokeDynamic.InvocationProvider.make(MethodDescription methodDescription)
Creates a target for the invocation.
|
InvokeDynamic.InvocationProvider.Default.Target |
InvokeDynamic.InvocationProvider.Default.make(MethodDescription methodDescription)
Creates a target for the invocation.
|
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.
|
StackManipulation |
MethodDelegation.ImplementationDelegate.Compiled.prepare(MethodDescription instrumentedMethod)
Resolves a stack manipulation that prepares the delegation invocation.
|
StackManipulation |
MethodDelegation.ImplementationDelegate.Compiled.ForStaticCall.prepare(MethodDescription instrumentedMethod)
Resolves a stack manipulation that prepares the delegation invocation.
|
StackManipulation |
MethodDelegation.ImplementationDelegate.Compiled.ForField.prepare(MethodDescription instrumentedMethod)
Resolves a stack manipulation that prepares the delegation invocation.
|
StackManipulation |
MethodDelegation.ImplementationDelegate.Compiled.ForMethodReturn.prepare(MethodDescription instrumentedMethod)
Resolves a stack manipulation that prepares the delegation invocation.
|
StackManipulation |
MethodDelegation.ImplementationDelegate.Compiled.ForConstruction.prepare(MethodDescription instrumentedMethod)
Resolves a stack manipulation that prepares the delegation invocation.
|
protected StackManipulation |
FieldAccessor.ForSetter.OfFieldValue.resolve(FieldAccessor.FieldLocation.Prepared target,
FieldDescription fieldDescription,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Resolves the stack manipulation to load the value being set.
|
protected StackManipulation |
FieldAccessor.ForSetter.OfReferenceValue.resolve(FieldDescription.InDefinedShape target,
FieldDescription fieldDescription,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Resolves the stack manipulation to load the value being set.
|
MethodCall.TargetHandler.Resolved |
MethodCall.TargetHandler.resolve(MethodDescription instrumentedMethod)
Resolves this target handler.
|
MethodCall.TargetHandler.Resolved |
MethodCall.TargetHandler.Simple.resolve(MethodDescription instrumentedMethod)
Resolves this target handler.
|
MethodCall.TargetHandler.Resolved |
MethodCall.TargetHandler.ForSelfOrStaticInvocation.resolve(MethodDescription instrumentedMethod)
Resolves this target handler.
|
MethodCall.TargetHandler.Resolved |
MethodCall.TargetHandler.ForConstructingInvocation.resolve(MethodDescription instrumentedMethod)
Resolves this target handler.
|
MethodCall.TargetHandler.Resolved |
MethodCall.TargetHandler.ForValue.resolve(MethodDescription instrumentedMethod)
Resolves this target handler.
|
MethodCall.TargetHandler.Resolved |
MethodCall.TargetHandler.ForField.resolve(MethodDescription instrumentedMethod)
Resolves this target handler.
|
MethodCall.TargetHandler.Resolved |
MethodCall.TargetHandler.ForMethodParameter.resolve(MethodDescription instrumentedMethod)
Resolves this target handler.
|
MethodCall.TargetHandler.Resolved |
MethodCall.TargetHandler.ForMethodCall.resolve(MethodDescription instrumentedMethod)
Resolves this target handler.
|
String |
InvokeDynamic.InvocationProvider.NameProvider.resolve(MethodDescription methodDescription)
Resolves the name given the intercepted method.
|
String |
InvokeDynamic.InvocationProvider.NameProvider.ForInterceptedMethod.resolve(MethodDescription methodDescription)
Resolves the name given the intercepted method.
|
String |
InvokeDynamic.InvocationProvider.NameProvider.ForExplicitName.resolve(MethodDescription methodDescription)
Resolves the name given the intercepted method.
|
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)
Resolves the return type that is requested from the bootstrap method.
|
TypeDescription |
InvokeDynamic.InvocationProvider.ReturnTypeProvider.ForExplicitType.resolve(MethodDescription methodDescription)
Resolves the return type that is requested from the bootstrap method.
|
FieldDescription |
FieldAccessor.FieldLocation.Prepared.resolve(MethodDescription instrumentedMethod)
Resolves the field description to use.
|
FieldDescription |
FieldAccessor.FieldLocation.Absolute.resolve(MethodDescription instrumentedMethod)
Resolves the field description to use.
|
FieldDescription |
FieldAccessor.FieldLocation.Relative.Prepared.resolve(MethodDescription instrumentedMethod)
Resolves the field description to use.
|
String |
FieldAccessor.FieldNameExtractor.resolve(MethodDescription methodDescription)
Extracts a field name to be accessed by a getter or setter method.
|
String |
FieldAccessor.FieldNameExtractor.ForBeanProperty.resolve(MethodDescription methodDescription)
Extracts a field name to be accessed by a getter or setter method.
|
String |
FieldAccessor.FieldNameExtractor.ForFixedValue.resolve(MethodDescription methodDescription)
Extracts a field name to be accessed by a getter or setter method.
|
protected abstract StackManipulation |
FieldAccessor.ForSetter.TerminationHandler.resolve(MethodDescription instrumentedMethod)
Resolves the return instruction.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ArgumentProvider.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForNullConstant.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForThisReference.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForInstrumentedType.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForMethodParameter.OfInstrumentedMethod.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForMethodParameter.Factory.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForMethodParameterArray.ForInstrumentedMethod.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForMethodParameterArrayElement.OfParameter.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForMethodParameterArrayElement.OfInvokedMethod.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForInstance.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForField.ArgumentProvider.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForMethodCall.ArgumentProvider.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
List<MethodCall.ArgumentLoader> |
MethodCall.ArgumentLoader.ForStackManipulation.resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
protected abstract StackManipulation |
InvokeDynamic.TerminationHandler.resolve(MethodDescription interceptedMethod,
TypeDescription returnType,
Assigner assigner,
Assigner.Typing typing)
Returns a stack manipulation that handles the method return.
|
protected abstract StackManipulation |
FieldAccessor.ForSetter.resolve(T initialized,
FieldDescription fieldDescription,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Resolves the stack manipulation to load the value being set.
|
MethodDescription |
MethodCall.MethodLocator.resolve(TypeDescription targetType,
MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
MethodDescription |
MethodCall.MethodLocator.ForInstrumentedMethod.resolve(TypeDescription targetType,
MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
MethodDescription |
MethodCall.MethodLocator.ForExplicitMethod.resolve(TypeDescription targetType,
MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
MethodDescription |
MethodCall.MethodLocator.ForElementMatcher.resolve(TypeDescription targetType,
MethodDescription instrumentedMethod)
Resolves the method to be invoked.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForInterceptedMethodInstanceAndParameters.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForInterceptedMethodParameters.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ConstantPoolWrapper.WrappingArgumentProvider.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForThisInstance.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForInstance.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForField.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForMethodParameter.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForBooleanConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForByteConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForShortConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForCharacterConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForIntegerConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForLongConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForFloatConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForDoubleConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForStringConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForClassConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForEnumerationValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForNullValue.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
InvokeDynamic.InvocationProvider.ArgumentProvider.Resolved |
InvokeDynamic.InvocationProvider.ArgumentProvider.ForJavaConstant.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Resolves an argument provider.
|
protected StackManipulation |
FieldAccessor.ForSetter.OfParameterValue.resolve(Void unused,
FieldDescription fieldDescription,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Resolves the stack manipulation to load the value being set.
|
protected StackManipulation |
FieldAccessor.ForSetter.OfDefaultValue.resolve(Void initialized,
FieldDescription fieldDescription,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Resolves the stack manipulation to load the value being set.
|
protected StackManipulation |
FieldAccessor.ForSetter.OfConstantValue.resolve(Void unused,
FieldDescription fieldDescription,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Resolves the stack manipulation to load the value being set.
|
protected MethodDescription |
MethodCall.Appender.toInvokedMethod(MethodDescription instrumentedMethod,
MethodCall.TargetHandler.Resolved targetHandler)
Resolves this appender to the method being invoked.
|
StackManipulation |
MethodCall.TargetHandler.Resolved.toStackManipulation(MethodDescription invokedMethod,
Assigner assigner,
Assigner.Typing typing)
Creates a stack manipulation to represent this resolved target handler.
|
StackManipulation |
MethodCall.TargetHandler.Simple.toStackManipulation(MethodDescription invokedMethod,
Assigner assigner,
Assigner.Typing typing)
Creates a stack manipulation to represent this resolved target handler.
|
StackManipulation |
MethodCall.TargetHandler.ForSelfOrStaticInvocation.Resolved.toStackManipulation(MethodDescription invokedMethod,
Assigner assigner,
Assigner.Typing typing)
Creates a stack manipulation to represent this resolved target handler.
|
StackManipulation |
MethodCall.TargetHandler.ForConstructingInvocation.toStackManipulation(MethodDescription invokedMethod,
Assigner assigner,
Assigner.Typing typing)
Creates a stack manipulation to represent this resolved target handler.
|
StackManipulation |
MethodCall.TargetHandler.ForValue.toStackManipulation(MethodDescription invokedMethod,
Assigner assigner,
Assigner.Typing typing)
Creates a stack manipulation to represent this resolved target handler.
|
StackManipulation |
MethodCall.TargetHandler.ForField.toStackManipulation(MethodDescription invokedMethod,
Assigner assigner,
Assigner.Typing typing)
Creates a stack manipulation to represent this resolved target handler.
|
StackManipulation |
MethodCall.TargetHandler.ForMethodParameter.Resolved.toStackManipulation(MethodDescription invokedMethod,
Assigner assigner,
Assigner.Typing typing)
Creates a stack manipulation to represent this resolved target handler.
|
StackManipulation |
MethodCall.TargetHandler.ForMethodCall.Resolved.toStackManipulation(MethodDescription invokedMethod,
Assigner assigner,
Assigner.Typing typing)
Creates a stack manipulation to represent this resolved target handler.
|
StackManipulation |
MethodCall.MethodInvoker.toStackManipulation(MethodDescription invokedMethod,
Implementation.Target implementationTarget)
Invokes the method.
|
StackManipulation |
MethodCall.MethodInvoker.ForContextualInvocation.toStackManipulation(MethodDescription invokedMethod,
Implementation.Target implementationTarget)
Invokes the method.
|
StackManipulation |
MethodCall.MethodInvoker.ForVirtualInvocation.toStackManipulation(MethodDescription invokedMethod,
Implementation.Target implementationTarget)
Invokes the method.
|
StackManipulation |
MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType.toStackManipulation(MethodDescription invokedMethod,
Implementation.Target implementationTarget)
Invokes the method.
|
StackManipulation |
MethodCall.MethodInvoker.ForSuperMethodInvocation.toStackManipulation(MethodDescription invokedMethod,
Implementation.Target implementationTarget)
Invokes the method.
|
StackManipulation |
MethodCall.MethodInvoker.ForDefaultMethodInvocation.toStackManipulation(MethodDescription invokedMethod,
Implementation.Target implementationTarget)
Invokes the method.
|
StackManipulation |
MethodCall.TerminationHandler.toStackManipulation(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Returns a stack manipulation that handles the method return.
|
StackManipulation |
MethodCall.TerminationHandler.FieldSetting.toStackManipulation(MethodDescription invokedMethod,
MethodDescription instrumentedMethod,
Assigner assigner,
Assigner.Typing typing)
Returns a stack manipulation that handles the method return.
|
protected StackManipulation |
MethodCall.Appender.toStackManipulation(MethodDescription instrumentedMethod,
MethodDescription invokedMethod,
MethodCall.TargetHandler.Resolved targetHandler)
Resolves this appender to a stack manipulation.
|
Modifier and Type | Method and Description |
---|---|
MethodDelegation.WithCustomProperties |
MethodDelegation.WithCustomProperties.filter(ElementMatcher<? super MethodDescription> matcher)
Configures this method delegation to only consider methods or constructors as a delegation target if they match the supplied matcher.
|
static MethodCall.WithoutSpecifiedTarget |
MethodCall.invoke(ElementMatcher<? super MethodDescription> matcher)
Invokes a unique virtual method or constructor of the instrumented type that is matched by the specified matcher.
|
static MethodCall.WithoutSpecifiedTarget |
MethodCall.invoke(ElementMatcher<? super MethodDescription> matcher,
MethodGraph.Compiler methodGraphCompiler)
Invokes a unique virtual method or constructor of the instrumented type that is matched by the specified matcher.
|
Constructor and Description |
---|
AccessorMethod(TypeDescription instrumentedType,
MethodDescription methodDescription,
String suffix)
Creates a new accessor method.
|
ForExplicitMethod(MethodDescription methodDescription)
Creates a new method locator for a given method.
|
ForField(FieldDescription fieldDescription,
MethodDescription instrumentedMethod)
Creates a new argument loader for loading an existing field.
|
ForMethodCall(MethodCall.Appender appender,
MethodDescription methodDescription,
MethodDescription instrumentedMethod,
MethodCall.TargetHandler.Resolved targetHandler)
Creates a new argument loader for loading a method call's return value.
|
ForMethodParameter(int index,
MethodDescription instrumentedMethod)
Creates an argument loader for a parameter of the instrumented method.
|
ForMethodReturn(MethodDescription methodDescription,
List<MethodDelegationBinder.Record> records)
Creates a new compiled implementation delegate for a field delegation.
|
Resolved(MethodCall.Appender appender,
MethodDescription methodDescription,
MethodDescription instrumentedMethod,
MethodCall.TargetHandler.Resolved targetHandler)
Creates a resolved target handler for a method call.
|
Resolved(TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Creates a resolved target handler for a static or self-declared invocation.
|
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.
|
UsingJump(MethodDescription instrumentedMethod)
Creates a new null value guard using a jump instruction for
null values. |
UsingJump(MethodDescription instrumentedMethod)
Creates a new null value guard using a jump instruction for
null values. |
Constructor and Description |
---|
Factory(ElementMatcher<? super MethodDescription> matcher,
MethodGraph.Compiler methodGraphCompiler)
Creates a factory for a method locator that identifies a method using a matcher.
|
ForElementMatcher(TypeDescription instrumentedType,
ElementMatcher<? super MethodDescription> matcher,
MethodGraph.Compiler methodGraphCompiler)
Creates a new method locator for an element matcher.
|
ForField(String fieldName,
MethodGraph.Compiler methodGraphCompiler,
List<? extends TargetMethodAnnotationDrivenBinder.ParameterBinder<?>> parameterBinders,
ElementMatcher<? super MethodDescription> matcher)
Creates a new implementation delegate for a field delegation.
|
ForMethodReturn(String name,
MethodGraph.Compiler methodGraphCompiler,
List<? extends TargetMethodAnnotationDrivenBinder.ParameterBinder<?>> parameterBinders,
ElementMatcher<? super MethodDescription> matcher)
Creates a new implementation delegate for a method return value delegation.
|
WithInstance(String fieldName,
MethodGraph.Compiler methodGraphCompiler,
List<? extends TargetMethodAnnotationDrivenBinder.ParameterBinder<?>> parameterBinders,
ElementMatcher<? super MethodDescription> matcher,
Object target,
TypeDescription.Generic fieldType)
Creates a new implementation delegate for invoking methods on a supplied instance.
|
WithLookup(String fieldName,
MethodGraph.Compiler methodGraphCompiler,
List<? extends TargetMethodAnnotationDrivenBinder.ParameterBinder<?>> parameterBinders,
ElementMatcher<? super MethodDescription> matcher,
FieldLocator.Factory fieldLocatorFactory)
Creates a new implementation delegate for a field that is declared by the instrumented type or any super type.
|
Modifier and Type | Method and Description |
---|---|
protected abstract AnnotationAppender |
MethodAttributeAppender.ForInstrumentedMethod.appendReceiver(AnnotationAppender annotationAppender,
AnnotationValueFilter annotationValueFilter,
MethodDescription methodDescription)
Appends the annotations of the instrumented method's receiver type if this is enabled and such a type exists.
|
void |
MethodAttributeAppender.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription,
AnnotationValueFilter annotationValueFilter)
Applies this attribute appender to a given method visitor.
|
void |
MethodAttributeAppender.NoOp.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription,
AnnotationValueFilter annotationValueFilter)
Applies this attribute appender to a given method visitor.
|
void |
MethodAttributeAppender.ForInstrumentedMethod.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription,
AnnotationValueFilter annotationValueFilter)
Applies this attribute appender to a given method visitor.
|
void |
MethodAttributeAppender.Explicit.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription,
AnnotationValueFilter annotationValueFilter)
Applies this attribute appender to a given method visitor.
|
void |
MethodAttributeAppender.ForReceiverType.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription,
AnnotationValueFilter annotationValueFilter)
Applies this attribute appender to a given method visitor.
|
void |
MethodAttributeAppender.Compound.apply(MethodVisitor methodVisitor,
MethodDescription methodDescription,
AnnotationValueFilter annotationValueFilter)
Applies this attribute appender to a given method visitor.
|
AnnotationAppender.Target |
MethodAttributeAppender.Explicit.Target.make(MethodVisitor methodVisitor,
MethodDescription methodDescription)
Materializes the target for a given creation process.
|
AnnotationAppender.Target |
MethodAttributeAppender.Explicit.Target.OnMethod.make(MethodVisitor methodVisitor,
MethodDescription methodDescription)
Materializes the target for a given creation process.
|
AnnotationAppender.Target |
MethodAttributeAppender.Explicit.Target.OnMethodParameter.make(MethodVisitor methodVisitor,
MethodDescription methodDescription)
Materializes the target for a given creation process.
|
static MethodAttributeAppender.Factory |
MethodAttributeAppender.Explicit.of(MethodDescription methodDescription)
Creates a method attribute appender factory that writes all annotations of a given method, both the method
annotations themselves and all annotations that are defined for every parameter.
|
static MethodAttributeAppender.Factory |
MethodAttributeAppender.Explicit.ofMethodAnnotations(MethodDescription methodDescription)
Creates a method attribute appender factory that writes all method annotations that are defined on the given method.
|
static MethodAttributeAppender.Factory |
MethodAttributeAppender.Explicit.ofParameterAnnotations(MethodDescription methodDescription)
Creates a method attribute appender factory that writes all annotations that are defined for every parameter
of the given method.
|
AnnotationValueFilter |
AnnotationValueFilter.Factory.on(MethodDescription methodDescription)
Creates an annotation value filter for writing annotations on a method.
|
AnnotationValueFilter |
AnnotationValueFilter.Default.on(MethodDescription methodDescription)
Creates an annotation value filter for writing annotations on a method.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
TypeProxy.SilentConstruction.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
TypeProxy.MethodCall.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
MethodCallProxy.ConstructorCall.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
MethodCallProxy.MethodCall.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
Implementation.SpecialMethodInvocation |
TypeProxy.InvocationFactory.invoke(Implementation.Target implementationTarget,
TypeDescription proxiedType,
MethodDescription instrumentedMethod)
Creates a special method invocation to implement for a given method.
|
static AuxiliaryType |
PrivilegedMemberLookupAction.of(MethodDescription methodDescription)
Returns an auxiliary type for loading the supplied method description as a constant.
|
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()
Returns the target method of the method binding attempt.
|
MethodDescription |
MethodDelegationBinder.MethodBinding.Builder.Build.getTarget()
Returns the target method of the method binding attempt.
|
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.Record.bind(Implementation.Target implementationTarget,
MethodDescription source,
MethodDelegationBinder.TerminationHandler terminationHandler,
MethodDelegationBinder.MethodInvoker methodInvoker,
Assigner assigner)
Attempts a binding of a source method to this compiled target.
|
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.Record.Illegal.bind(Implementation.Target implementationTarget,
MethodDescription source,
MethodDelegationBinder.TerminationHandler terminationHandler,
MethodDelegationBinder.MethodInvoker methodInvoker,
Assigner assigner)
Attempts a binding of a source method to this compiled target.
|
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.Processor.bind(Implementation.Target implementationTarget,
MethodDescription source,
MethodDelegationBinder.TerminationHandler terminationHandler,
MethodDelegationBinder.MethodInvoker methodInvoker,
Assigner assigner)
Attempts a binding of a source method to this compiled target.
|
MethodDelegationBinder.Record |
MethodDelegationBinder.compile(MethodDescription candidate)
Compiles this method delegation binder for a target method.
|
StackManipulation |
MethodDelegationBinder.MethodInvoker.invoke(MethodDescription methodDescription)
Creates a method invocation for a given method.
|
StackManipulation |
MethodDelegationBinder.MethodInvoker.Simple.invoke(MethodDescription methodDescription)
Creates a method invocation for a given method.
|
StackManipulation |
MethodDelegationBinder.MethodInvoker.Virtual.invoke(MethodDescription methodDescription)
Creates a method invocation for a given method.
|
StackManipulation |
MethodDelegationBinder.TerminationHandler.resolve(Assigner assigner,
Assigner.Typing typing,
MethodDescription source,
MethodDescription target)
Creates a stack manipulation that is to be applied after the method return.
|
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.BindingResolver.resolve(MethodDelegationBinder.AmbiguityResolver ambiguityResolver,
MethodDescription source,
List<MethodDelegationBinder.MethodBinding> targets)
Resolves a method binding for the
source method. |
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.BindingResolver.Default.resolve(MethodDelegationBinder.AmbiguityResolver ambiguityResolver,
MethodDescription source,
List<MethodDelegationBinder.MethodBinding> targets)
Resolves a method binding for the
source method. |
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.BindingResolver.Unique.resolve(MethodDelegationBinder.AmbiguityResolver ambiguityResolver,
MethodDescription source,
List<MethodDelegationBinder.MethodBinding> targets)
Resolves a method binding for the
source method. |
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.BindingResolver.StreamWriting.resolve(MethodDelegationBinder.AmbiguityResolver ambiguityResolver,
MethodDescription source,
List<MethodDelegationBinder.MethodBinding> targets)
Resolves a method binding for the
source method. |
MethodDelegationBinder.AmbiguityResolver.Resolution |
ParameterLengthResolver.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right)
Attempts to resolve to conflicting bindings.
|
MethodDelegationBinder.AmbiguityResolver.Resolution |
MethodNameEqualityResolver.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right)
Attempts to resolve to conflicting bindings.
|
MethodDelegationBinder.AmbiguityResolver.Resolution |
MethodDelegationBinder.AmbiguityResolver.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right)
Attempts to resolve to conflicting bindings.
|
MethodDelegationBinder.AmbiguityResolver.Resolution |
MethodDelegationBinder.AmbiguityResolver.NoOp.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right)
Attempts to resolve to conflicting bindings.
|
MethodDelegationBinder.AmbiguityResolver.Resolution |
MethodDelegationBinder.AmbiguityResolver.Directional.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right)
Attempts to resolve to conflicting bindings.
|
MethodDelegationBinder.AmbiguityResolver.Resolution |
MethodDelegationBinder.AmbiguityResolver.Compound.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right)
Attempts to resolve to conflicting bindings.
|
MethodDelegationBinder.AmbiguityResolver.Resolution |
DeclaringTypeResolver.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right)
Attempts to resolve to conflicting bindings.
|
MethodDelegationBinder.AmbiguityResolver.Resolution |
ArgumentTypeResolver.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right)
Attempts to resolve to conflicting bindings.
|
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 candidate)
Creates a new builder for the binding of a given method.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
Morph.Binder.RedirectionProxy.InstanceFieldConstructor.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
Morph.Binder.RedirectionProxy.MethodCall.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
FieldProxy.Binder.InstanceFieldConstructor.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
FieldProxy.Binder.FieldGetter.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
FieldProxy.Binder.FieldSetter.Appender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
MethodDelegationBinder.ParameterBinding<?> |
AllArguments.Binder.bind(AnnotationDescription.Loadable<AllArguments> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Argument.Binder.bind(AnnotationDescription.Loadable<Argument> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Default.Binder.bind(AnnotationDescription.Loadable<Default> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
DefaultCall.Binder.bind(AnnotationDescription.Loadable<DefaultCall> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
DefaultMethod.Binder.bind(AnnotationDescription.Loadable<DefaultMethod> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Empty.Binder.bind(AnnotationDescription.Loadable<Empty> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
FieldValue.Binder.bind(AnnotationDescription.Loadable<FieldValue> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Morph.Binder.bind(AnnotationDescription.Loadable<Morph> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Origin.Binder.bind(AnnotationDescription.Loadable<Origin> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Pipe.Binder.bind(AnnotationDescription.Loadable<Pipe> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
protected abstract Object |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.bind(AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target)
Resolves a value for the given annotation on a parameter that is processed by a
MethodDelegation . |
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.bind(AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding.bind(AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
StubValue.Binder.bind(AnnotationDescription.Loadable<StubValue> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
Super.Binder.bind(AnnotationDescription.Loadable<Super> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
SuperCall.Binder.bind(AnnotationDescription.Loadable<SuperCall> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
SuperMethod.Binder.bind(AnnotationDescription.Loadable<SuperMethod> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.bind(AnnotationDescription.Loadable<T> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
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,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
protected Object |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.OfConstant.bind(AnnotationDescription.Loadable<U> annotation,
MethodDescription source,
ParameterDescription target) |
protected MethodDelegationBinder.ParameterBinding<?> |
FieldProxy.Binder.bind(FieldDescription fieldDescription,
AnnotationDescription.Loadable<FieldProxy> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
protected MethodDelegationBinder.ParameterBinding<?> |
FieldValue.Binder.Delegate.bind(FieldDescription fieldDescription,
AnnotationDescription.Loadable<FieldValue> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner) |
protected abstract MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding.bind(FieldDescription fieldDescription,
AnnotationDescription.Loadable<S> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner)
Creates a parameter binding for the given target parameter.
|
MethodDelegationBinder.MethodBinding |
TargetMethodAnnotationDrivenBinder.Record.bind(Implementation.Target implementationTarget,
MethodDescription source,
MethodDelegationBinder.TerminationHandler terminationHandler,
MethodDelegationBinder.MethodInvoker methodInvoker,
Assigner assigner)
Attempts a binding of a source method to this compiled target.
|
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.bind(MethodDescription source,
Implementation.Target implementationTarget,
Assigner assigner)
Handles a parameter binding.
|
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound.bind(MethodDescription source,
Implementation.Target implementationTarget,
Assigner assigner)
Handles a parameter binding.
|
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound.bind(MethodDescription source,
Implementation.Target implementationTarget,
Assigner assigner)
Handles a parameter binding.
|
static boolean |
IgnoreForBinding.Verifier.check(MethodDescription methodDescription)
Validates if a method should be ignored for binding.
|
MethodDelegationBinder.Record |
TargetMethodAnnotationDrivenBinder.compile(MethodDescription candidate)
Compiles this method delegation binder for a target method.
|
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)
Locates the correct default method to a given source method.
|
Implementation.SpecialMethodInvocation |
Morph.Binder.DefaultMethodLocator.Explicit.resolve(Implementation.Target implementationTarget,
MethodDescription source)
Locates the correct default method to a given source method.
|
Implementation.SpecialMethodInvocation |
DefaultMethod.Binder.MethodLocator.resolve(Implementation.Target implementationTarget,
MethodDescription source)
Resolves the special method invocation to this target.
|
Implementation.SpecialMethodInvocation |
DefaultMethod.Binder.MethodLocator.ForImplicitType.resolve(Implementation.Target implementationTarget,
MethodDescription source)
Resolves the special method invocation to this target.
|
Implementation.SpecialMethodInvocation |
DefaultMethod.Binder.MethodLocator.ForExplicitType.resolve(Implementation.Target implementationTarget,
MethodDescription source)
Resolves the special method invocation to this target.
|
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)
Locates the correct default method to a given source method.
|
Implementation.SpecialMethodInvocation |
DefaultCall.Binder.DefaultMethodLocator.Explicit.resolve(Implementation.Target implementationTarget,
MethodDescription source)
Locates the correct default method to a given source method.
|
MethodDelegationBinder.AmbiguityResolver.Resolution |
BindingPriority.Resolver.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right)
Attempts to resolve to conflicting bindings.
|
Constructor and Description |
---|
Binder(MethodDescription forwardingMethod)
Creates a new binder.
|
Binder(MethodDescription forwardingMethod)
Creates a new binder.
|
MethodCall(MethodDescription accessorMethod,
Assigner assigner)
Creates a new method call implementation for a proxy method.
|
Record(MethodDescription candidate,
List<TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler> handlers,
Assigner.Typing typing)
Creates a default compiled method delegation binder.
|
Redirection(TypeDescription forwardingType,
MethodDescription sourceMethod,
Assigner assigner,
boolean serializableProxy)
Creates a new redirection.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
ByteCodeAppender.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
ByteCodeAppender.Compound.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
ByteCodeAppender.Simple.apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
Modifier and Type | Method and Description |
---|---|
static MethodVariableAccess.MethodLoading |
MethodVariableAccess.allArgumentsOf(MethodDescription methodDescription)
Loads all arguments of the provided method onto the operand stack.
|
MethodVariableAccess.MethodLoading |
MethodVariableAccess.MethodLoading.asBridgeOf(MethodDescription bridgeTarget)
Applies a transformation to all loaded arguments of the method being loaded to be casted to the corresponding parameter of
the provided method.
|
static MethodInvocation.WithImplicitInvocationTargetType |
MethodInvocation.invoke(MethodDescription methodDescription)
Creates a method invocation with an implicitly determined invocation type.
|
protected static MethodInvocation.WithImplicitInvocationTargetType |
MethodInvocation.OfGenericMethod.of(MethodDescription methodDescription,
MethodInvocation.WithImplicitInvocationTargetType invocation)
Creates a generic access dispatcher for a given method.
|
Constructor and Description |
---|
ForBridgeTarget(MethodDescription bridgeTarget)
Creates a new type casting handler for a bridge target.
|
MethodLoading(MethodDescription methodDescription,
MethodVariableAccess.MethodLoading.TypeCastingHandler typeCastingHandler)
Creates a new method loading stack manipulation.
|
Modifier and Type | Class and Description |
---|---|
class |
MethodExceptionTypeMatcher<T extends MethodDescription>
An element matcher that matches the exceptions that are declared by a method.
|
class |
MethodOverrideMatcher<T extends MethodDescription>
A matcher that checks if any super type of a type declares a method with the same shape of a matched method.
|
class |
MethodParametersMatcher<T extends MethodDescription>
An element matcher that matches a method's parameters.
|
class |
MethodReturnTypeMatcher<T extends MethodDescription>
An element matcher that matches its argument's return type against a given type matcher.
|
class |
MethodSortMatcher<T extends MethodDescription>
Matches a method description by its general characteristics which are represented as a
MethodSortMatcher.Sort . |
class |
SignatureTokenMatcher<T extends MethodDescription>
Matches a method description's signature token against another matcher.
|
Modifier and Type | Method and Description |
---|---|
static <T extends MethodDescription> |
ElementMatchers.anyOf(Constructor<?>... value)
Creates a matcher that matches any of the given constructors as
MethodDescription s
by the Object.equals(Object) method. |
static <T extends MethodDescription> |
ElementMatchers.anyOf(Method... value)
Creates a matcher that matches any of the given methods as
MethodDescription s
by the Object.equals(Object) method. |
static <T extends MethodDescription> |
ElementMatchers.canThrow(Class<? extends Throwable> exceptionType)
Matches a
MethodDescription by its capability to throw a given
checked exception. |
static <T extends MethodDescription> |
ElementMatchers.canThrow(TypeDescription exceptionType)
Matches a
MethodDescription by its capability to throw a given
checked exception. |
static <T extends MethodDescription> |
ElementMatchers.declaresException(Class<? extends Throwable> exceptionType)
Matches a method that declares the given generic exception type as a (erased) exception type.
|
static <T extends MethodDescription> |
ElementMatchers.declaresException(TypeDescription exceptionType)
Matches a method that declares the given generic exception type as a (erased) exception type.
|
static <T extends MethodDescription> |
ElementMatchers.declaresGenericException(ElementMatcher<? super Iterable<? extends TypeDescription.Generic>> matcher)
Matches a method's generic exception types against the provided matcher.
|
static <T extends MethodDescription> |
ElementMatchers.declaresGenericException(Type exceptionType)
Matches a method that declares the given generic exception type.
|
static <T extends MethodDescription> |
ElementMatchers.declaresGenericException(TypeDescription.Generic exceptionType)
Matches a method that declares the given generic exception type.
|
static <T extends MethodDescription> |
ElementMatchers.definedMethod(ElementMatcher<? super MethodDescription.InDefinedShape> matcher)
Matches a method in its defined shape.
|
static <T extends MethodDescription> |
ElementMatchers.hasMethodName(String internalName)
Matches a method against its internal name such that constructors and type initializers are matched appropriately.
|
static <T extends MethodDescription> |
ElementMatchers.hasParameters(ElementMatcher<? super Iterable<? extends ParameterDescription>> matcher)
Matches a
MethodDescription by validating that its parameters
fulfill a given constraint. |
static <T extends MethodDescription> |
ElementMatchers.hasSignature(MethodDescription.SignatureToken token)
Only matches method descriptions that yield the provided signature token.
|
static <T extends MethodDescription> |
ElementMatchers.is(Constructor<?> constructor)
Exactly matches a given constructor as a
MethodDescription in its defined shape. |
static <T extends MethodDescription> |
ElementMatchers.is(Method method)
Exactly matches a given method as a
MethodDescription in its defined shape. |
static <T extends MethodDescription> |
ElementMatchers.is(MethodDescription.InDefinedShape method)
Exactly matches a given method or constructor as a
MethodDescription in its defined shape. |
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.isGenericGetter(ElementMatcher<? super TypeDescription.Generic> matcher)
Matches any Java bean getter method which returns an value with a type matches the supplied matcher.
|
static <T extends MethodDescription> |
ElementMatchers.isGenericGetter(Type type)
Matches any Java bean getter method which returns the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isGenericGetter(TypeDescription.Generic type)
Matches any Java bean getter method which returns the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isGenericSetter(ElementMatcher<? super TypeDescription.Generic> matcher)
Matches any Java bean setter method which takes an argument that matches the supplied matcher.
|
static <T extends MethodDescription> |
ElementMatchers.isGenericSetter(Type type)
Matches any Java bean setter method which takes an argument the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isGenericSetter(TypeDescription.Generic type)
Matches any Java bean setter method which takes an argument the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isGetter()
Matches any Java bean getter method.
|
static <T extends MethodDescription> |
ElementMatchers.isGetter(Class<?> type)
Matches any Java bean getter method which returns the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isGetter(ElementMatcher<? super TypeDescription> matcher)
Matches any Java bean getter method which returns an value with a type matches the supplied matcher.
|
static <T extends MethodDescription> |
ElementMatchers.isGetter(String property)
An element matcher that matches any getter for the given property.
|
static <T extends MethodDescription> |
ElementMatchers.isGetter(TypeDescription type)
Matches any Java bean getter method which returns the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isHashCode()
Only matches the
Object.toString() method, also if it was overridden. |
static <T extends MethodDescription> |
ElementMatchers.isMethod()
Only matches method descriptions that represent a
Method . |
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFrom(Class<?> type)
Matches any virtual method with a signature that is compatible to a method that is declared the supplied type.
|
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFrom(ElementMatcher<? super TypeDescription> matcher)
Matches any virtual method with a signature that is compatible to a method that is declared by a type that matches the supplied matcher.
|
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFrom(TypeDescription type)
Matches any virtual method with a signature that is compatible to a method that is declared the supplied type.
|
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFromGeneric(ElementMatcher<? super TypeDescription.Generic> matcher)
Matches any virtual method with a signature that is compatible to a method that is declared by a type that matches the supplied matcher.
|
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFromGeneric(Type type)
Matches any virtual method with a signature that is compatible to a method that is declared the supplied type.
|
static <T extends MethodDescription> |
ElementMatchers.isOverriddenFromGeneric(TypeDescription.Generic type)
Matches any virtual method with a signature that is compatible to a method that is declared the supplied type.
|
static <T extends MethodDescription> |
ElementMatchers.isSetter()
Matches any Java bean setter method.
|
static <T extends MethodDescription> |
ElementMatchers.isSetter(Class<?> type)
Matches any Java bean setter method which takes an argument the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isSetter(ElementMatcher<? super TypeDescription> matcher)
Matches any Java bean setter method which takes an argument that matches the supplied matcher.
|
static <T extends MethodDescription> |
ElementMatchers.isSetter(String property)
An element matcher that matches any setter for the given property.
|
static <T extends MethodDescription> |
ElementMatchers.isSetter(TypeDescription type)
Matches any Java bean setter method which takes an argument the given type.
|
static <T extends MethodDescription> |
ElementMatchers.isToString()
Only matches the
Object.toString() method, also if it was overridden. |
static <T extends MethodDescription> |
ElementMatchers.isTypeInitializer()
Only matches method descriptions that represent a
Class type initializer. |
static <T extends MethodDescription> |
ElementMatchers.isVirtual()
Matches any method that is virtual, i.e.
|
static <T extends MethodDescription> |
ElementMatchers.noneOf(Constructor<?>... value)
Creates a matcher that matches none of the given constructors as
MethodDescription s
by the Object.equals(Object) method. |
static <T extends MethodDescription> |
ElementMatchers.noneOf(Method... value)
Creates a matcher that matches none of the given methods as
MethodDescription s
by the Object.equals(Object) method. |
static <T extends MethodDescription> |
ElementMatchers.returns(Class<?> type)
Matches
MethodDescription s that return a given erasure type. |
static <T extends MethodDescription> |
ElementMatchers.returns(ElementMatcher<? super TypeDescription> matcher)
Matches a method's return type's erasure by the given matcher.
|
static <T extends MethodDescription> |
ElementMatchers.returns(TypeDescription type)
Matches
MethodDescription s that return a given erasure type. |
static <T extends MethodDescription> |
ElementMatchers.returnsGeneric(ElementMatcher<? super TypeDescription.Generic> matcher)
Matches
MethodDescription s that match a matched method's return type. |
static <T extends MethodDescription> |
ElementMatchers.returnsGeneric(Type type)
Matches
MethodDescription s that return a given generic type. |
static <T extends MethodDescription> |
ElementMatchers.returnsGeneric(TypeDescription.Generic type)
Matches
MethodDescription s that returns a given
TypeDescription . |
static <T extends MethodDescription> |
ElementMatchers.takesArgument(int index,
Class<?> type)
Matches
MethodDescription s that define a given generic type as a parameter at the given index. |
static <T extends MethodDescription> |
ElementMatchers.takesArgument(int index,
ElementMatcher<? super TypeDescription> matcher)
Matches
MethodDescription s that define a type erasure as a parameter at the given index that matches the supplied matcher. |
static <T extends MethodDescription> |
ElementMatchers.takesArgument(int index,
TypeDescription type)
Matches
MethodDescription s that define a given type erasure as a parameter at the given index. |
static <T extends MethodDescription> |
ElementMatchers.takesArguments(Class<?>... type)
Matches a method description that takes the provided raw arguments.
|
static <T extends MethodDescription> |
ElementMatchers.takesArguments(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> types)
Matches a method description that takes the provided raw arguments.
|
static <T extends MethodDescription> |
ElementMatchers.takesArguments(TypeDescription... type)
Matches a method description that takes the provided raw arguments.
|
static <T extends MethodDescription> |
ElementMatchers.takesGenericArgument(int index,
ElementMatcher<? super TypeDescription.Generic> matcher)
Matches
MethodDescription s that define a given generic type as a parameter at the given index. |
static <T extends MethodDescription> |
ElementMatchers.takesGenericArgument(int index,
Type type)
Matches
MethodDescription s that define a given generic type as a parameter at the given index. |
static <T extends MethodDescription> |
ElementMatchers.takesGenericArgument(int index,
TypeDescription.Generic type)
Matches
MethodDescription s that define a given generic type as a parameter at the given index. |
static <T extends MethodDescription> |
ElementMatchers.takesGenericArguments(ElementMatcher<? super Iterable<? extends TypeDescription.Generic>> matchers)
Matches a
MethodDescription by applying an iterable collection of element matcher on any parameter's TypeDescription.Generic . |
static <T extends MethodDescription> |
ElementMatchers.takesGenericArguments(List<? extends TypeDefinition> types)
Matches a method description that takes the provided generic arguments.
|
static <T extends MethodDescription> |
ElementMatchers.takesGenericArguments(Type... type)
Matches a method description that takes the provided generic arguments.
|
static <T extends MethodDescription> |
ElementMatchers.takesGenericArguments(TypeDefinition... type)
Matches a method description that takes the provided generic arguments.
|
Modifier and Type | Method and Description |
---|---|
ElementMatcher<? super MethodDescription> |
LatentMatcher.ForSelfDeclaredMethod.resolve(TypeDescription typeDescription)
Resolves the element matcher this instance represents for the supplied type description.
|
ElementMatcher<? super MethodDescription> |
LatentMatcher.ForMethodToken.resolve(TypeDescription typeDescription)
Resolves the element matcher this instance represents for the supplied type description.
|
Modifier and Type | Method and Description |
---|---|
protected abstract boolean |
MethodSortMatcher.Sort.isSort(MethodDescription target)
Determines if a method description is of the represented method sort.
|
boolean |
LatentMatcher.ForMethodToken.ResolvedMatcher.matches(MethodDescription target)
Matches a target against this element matcher.
|
Modifier and Type | Method and Description |
---|---|
static <T extends TypeDefinition> |
ElementMatchers.declaresMethod(ElementMatcher<? super MethodDescription> matcher)
Matches a type by a another matcher that is applied on any of its declared methods.
|
Constructor and Description |
---|
DeclaringMethodMatcher(ElementMatcher<? super MethodList<? extends MethodDescription>> matcher)
Creates a new matcher for a type's declared methods.
|
Modifier and Type | Method and Description |
---|---|
static JavaConstant.MethodType |
JavaConstant.MethodType.of(MethodDescription methodDescription)
Returns a method type description of the given method.
|
Constructor and Description |
---|
LocalVariableAwareMethodVisitor(MethodVisitor methodVisitor,
MethodDescription methodDescription)
Creates a local variable aware method visitor.
|
StackAwareMethodVisitor(MethodVisitor methodVisitor,
MethodDescription instrumentedMethod)
Creates a new stack aware method visitor.
|
Copyright © 2014–2019. All rights reserved.