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.
|
ByteCodeAppender.Size |
ByteBuddy.RecordConstructorStrategy.Appender.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.
|
void |
Advice.Delegator.apply(MethodVisitor methodVisitor,
MethodDescription.InDefinedShape adviceMethod,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
boolean exit)
Materializes an invocation.
|
void |
Advice.Delegator.ForStaticInvocation.apply(MethodVisitor methodVisitor,
MethodDescription.InDefinedShape adviceMethod,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
boolean exit)
Materializes an invocation.
|
void |
Advice.Delegator.ForDynamicInvocation.apply(MethodVisitor methodVisitor,
MethodDescription.InDefinedShape adviceMethod,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
boolean exit)
Materializes an invocation.
|
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.
|
StackManipulation |
Advice.PostProcessor.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler)
Resolves this post processor for a given instrumented method.
|
StackManipulation |
Advice.PostProcessor.NoOp.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler)
Resolves this post processor for a given instrumented method.
|
StackManipulation |
Advice.PostProcessor.Compound.resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.ArgumentHandler argumentHandler)
Resolves this post processor for a given instrumented method.
|
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.
|
protected void |
Advice.StackMapFrameHandler.Default.WithPreservedArguments.translateFrame(MethodVisitor methodVisitor,
Advice.StackMapFrameHandler.Default.TranslationMode translationMode,
MethodDescription methodDescription,
List<? extends TypeDescription> additionalTypes,
int type,
int localVariableLength,
Object[] localVariable,
int stackSize,
Object[] stack) |
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.
|
AdviceMethodWriter(MethodDescription.InDefinedShape adviceMethod,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.PostProcessor postProcessor,
List<Advice.OffsetMapping.Target> offsetMappings,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler,
Advice.Delegator delegator)
Creates a new advice method writer.
|
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,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
MethodDescription.InDefinedShape adviceMethod,
Map<Integer,Advice.OffsetMapping.Target> offsetMappings,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler,
Advice.PostProcessor postProcessor,
boolean exit)
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.InDefinedShape adviceMethod,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.PostProcessor postProcessor,
List<Advice.OffsetMapping.Target> offsetMappings,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler,
Advice.Delegator delegator)
Creates a new advice method writer.
|
ForMethodEnter(MethodDescription instrumentedMethod,
MethodDescription adviceMethod,
TypeDefinition exitType,
TreeMap<String,TypeDefinition> namedTypes)
Creates a new argument handler for an enter advice method.
|
ForMethodExit(MethodDescription.InDefinedShape adviceMethod,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Assigner assigner,
Advice.PostProcessor postProcessor,
List<Advice.OffsetMapping.Target> offsetMappings,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Advice.ArgumentHandler.ForAdvice argumentHandler,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler,
Advice.Delegator delegator)
Creates a new advice method writer.
|
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.
|
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,
boolean allowCompactCompletionFrame)
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,
boolean allowCompactCompletionFrame)
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 |
---|---|
MethodDescription |
RecordComponentDescription.getAccessor()
Returns the accessor for this record component.
|
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,
RecordComponentRegistry recordComponentRegistry,
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,
RecordComponentRegistry recordComponentRegistry,
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,
RecordComponentRegistry recordComponentRegistry,
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,
RecordComponentRegistry recordComponentRegistry,
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,
RecordComponentRegistry recordComponentRegistry,
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,
RecordComponentRegistry recordComponentRegistry,
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,
RecordComponentRegistry recordComponentRegistry,
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,
RecordComponentRegistry recordComponentRegistry,
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,
RecordComponentRegistry recordComponentRegistry,
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.
|
static <T extends MethodDescription> |
ElementMatchers.takesNoArguments()
Matches a
MethodDescription with no parameters. |
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–2020. All rights reserved.