Package | Description |
---|---|
net.bytebuddy.dynamic.scaffold |
This package contains helper types and implementations that are responsible for the actual writing of a byte array
representing a Java class.
|
net.bytebuddy.dynamic.scaffold.inline |
All classes and types in this package are related to creating a
DynamicType by
enhancing a given type. |
net.bytebuddy.dynamic.scaffold.subclass |
All classes and types in this package are related to creating a
DynamicType by
creating a subclass of a given type. |
net.bytebuddy.instrumentation |
The instrumentation package contains any logic for intercepting method calls.
|
net.bytebuddy.instrumentation.attribute |
All types and classes in this package are responsible for writing attributes for a given Java byte code element,
i.e.
|
net.bytebuddy.instrumentation.method |
This package contains types and implementations for describing a Java byte code method which can be any byte code
container, i.e.
|
net.bytebuddy.instrumentation.method.bytecode |
Types and classes in this package are responsible for creating Java byte code for a given byte code target
which is represented by a
MethodDescription . |
net.bytebuddy.instrumentation.method.bytecode.bind |
The types and classes of this package are responsible for binding a method call to calling another method.
|
net.bytebuddy.instrumentation.method.bytecode.bind.annotation |
This package contains annotations, types and classes that are responsible for binding a method to calling another
method by interpreting annotations that indicate how a method should be bound to another method.
|
net.bytebuddy.instrumentation.method.bytecode.stack.constant |
StackManipulation s in this package are responsible for
creating compile-time constants and pushing them onto the operand stack. |
net.bytebuddy.instrumentation.method.bytecode.stack.member |
StackManipulation s of this package are responsible for
accessing type or method members, i.e. |
net.bytebuddy.instrumentation.method.matcher |
This package contains types and classes that serve as predicates for
determining if a given
MethodDescription matches a certain criteria. |
net.bytebuddy.instrumentation.type |
This package contains types and implementations for describing a Java type, i.e.
|
net.bytebuddy.instrumentation.type.auxiliary |
Auxiliary types describe helper types that aid as a supplementary to a given
InstrumentedType . |
Modifier and Type | Method and Description |
---|---|
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.extract()
Extracts the resolved bridge method target or throws an exception if no such target exists.
|
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.Unknown.extract() |
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.Resolved.extract() |
MethodDescription |
BridgeMethodResolver.Simple.BridgeTarget.Candidate.extract() |
MethodDescription |
BridgeMethodResolver.resolve(MethodDescription methodDescription)
Resolves a method which is potentially a bridge method.
|
MethodDescription |
BridgeMethodResolver.NoOp.resolve(MethodDescription methodDescription) |
MethodDescription |
BridgeMethodResolver.Simple.resolve(MethodDescription methodDescription) |
Modifier and Type | Method and Description |
---|---|
void |
TypeWriter.MethodPool.Entry.apply(org.objectweb.asm.ClassVisitor classVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription methodDescription)
Writes the method that is represented by this entry to the provided class visitor.
|
void |
TypeWriter.MethodPool.Entry.Skip.apply(org.objectweb.asm.ClassVisitor classVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription methodDescription) |
void |
TypeWriter.MethodPool.Entry.Simple.apply(org.objectweb.asm.ClassVisitor classVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription methodDescription) |
BridgeMethodResolver.Simple.BridgeTarget |
BridgeMethodResolver.Simple.ConflictHandler.choose(MethodDescription bridgeMethod,
MethodList targetCandidates)
Returns a target method for the given bridge method out of the given list of candidate methods.
|
boolean |
MethodRegistry.Default.Compiled.Entry.matches(MethodDescription methodDescription) |
MethodDescription |
BridgeMethodResolver.resolve(MethodDescription methodDescription)
Resolves a method which is potentially a bridge method.
|
MethodDescription |
BridgeMethodResolver.NoOp.resolve(MethodDescription methodDescription) |
MethodDescription |
BridgeMethodResolver.Simple.resolve(MethodDescription methodDescription) |
TypeWriter.MethodPool.Entry |
TypeWriter.MethodPool.target(MethodDescription methodDescription)
Looks up a handler entry for a given method.
|
TypeWriter.MethodPool.Entry |
MethodRegistry.Default.Compiled.target(MethodDescription methodDescription) |
Constructor and Description |
---|
Candidate(MethodDescription target)
Creates a new bridge method target candidate.
|
Resolved(MethodDescription target)
Creates a new resolved bridge method target.
|
Constructor and Description |
---|
ForCreation(TypeDescription instrumentedType,
ClassFileVersion classFileVersion,
List<? extends MethodDescription> invokableMethods,
ClassVisitorWrapper classVisitorWrapper,
TypeAttributeAppender attributeAppender,
TypeWriter.FieldPool fieldPool,
TypeWriter.MethodPool methodPool)
Creates a new type writer engine for redefining an existent class file.
|
ForRedefinition(TypeDescription instrumentedType,
TypeDescription targetType,
ClassFileVersion classFileVersion,
List<? extends MethodDescription> invokableMethods,
ClassVisitorWrapper classVisitorWrapper,
TypeAttributeAppender attributeAppender,
TypeWriter.FieldPool fieldPool,
TypeWriter.MethodPool methodPool,
ClassFileLocator classFileLocator,
MethodRebaseResolver methodRebaseResolver)
Creates a new type writer that reads a class file and weaves in user defined method implementations.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
RebaseInstrumentationTarget.RebasedMethodSpecialMethodInvocation.getMethodDescription() |
MethodDescription |
MethodRebaseResolver.Resolution.getResolvedMethod()
Returns the resolved method if this resolution represents a rebased method or the original method.
|
MethodDescription |
MethodRebaseResolver.Resolution.Preserved.getResolvedMethod() |
MethodDescription |
MethodRebaseResolver.Resolution.ForRebasedMethod.getResolvedMethod() |
MethodDescription |
MethodRebaseResolver.Resolution.ForRebasedConstructor.getResolvedMethod() |
Modifier and Type | Method and Description |
---|---|
protected Instrumentation.SpecialMethodInvocation |
RebaseInstrumentationTarget.invokeSuper(MethodDescription methodDescription) |
MethodRebaseResolver.Resolution |
MethodRebaseResolver.resolve(MethodDescription methodDescription)
Checks if a method is eligible for rebasing and resolves this possibly rebased method.
|
MethodRebaseResolver.Resolution |
MethodRebaseResolver.NoOp.resolve(MethodDescription methodDescription) |
MethodRebaseResolver.Resolution |
MethodRebaseResolver.Default.resolve(MethodDescription methodDescription) |
Constructor and Description |
---|
ForRebasedConstructor(MethodDescription methodDescription,
TypeDescription placeholderType)
Creates a
MethodRebaseResolver.Resolution for a
rebased method. |
ForRebasedMethod(MethodDescription methodDescription,
MethodRebaseResolver.MethodNameTransformer methodNameTransformer)
Creates a
MethodRebaseResolver.Resolution for a
rebased method. |
Preserved(MethodDescription methodDescription)
Creates a new
MethodRebaseResolver.Resolution for
a non-rebased method. |
Constructor and Description |
---|
InlineInstrumentedType(TypeDescription levelType,
String name,
List<TypeDescription> interfaces,
int modifiers,
List<? extends FieldDescription> fieldDescriptions,
List<? extends MethodDescription> methodDescriptions,
LoadedTypeInitializer loadedTypeInitializer)
Creates a new inlined instrumented type.
|
Modifier and Type | Field and Description |
---|---|
protected Map<TypeList,MethodDescription> |
SubclassInstrumentationTarget.superConstructors
The constructor of the super type, mapped by the constructor parameters of each constructor which is
sufficient for a constructor's unique identification.
|
Modifier and Type | Method and Description |
---|---|
protected Instrumentation.SpecialMethodInvocation |
SubclassInstrumentationTarget.invokeSuper(MethodDescription methodDescription) |
Constructor and Description |
---|
SubclassInstrumentedType(ClassFileVersion classFileVersion,
TypeDescription superClass,
List<TypeDescription> interfaces,
int modifiers,
String name,
List<? extends FieldDescription> fieldDescriptions,
List<? extends MethodDescription> methodDescriptions,
LoadedTypeInitializer loadedTypeInitializer)
Creates a new immutable type instrumentation for a loaded superclass.
|
Modifier and Type | Field and Description |
---|---|
protected Map<TypeDescription,Map<String,MethodDescription>> |
Instrumentation.Target.AbstractBase.defaultMethods
A map of default methods by their unique signature.
|
protected Map<String,MethodDescription> |
Instrumentation.Target.AbstractBase.invokableMethods
A map of invokable methods by their unique signature.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
Instrumentation.SpecialMethodInvocation.getMethodDescription()
Returns the method that represents this special method invocation.
|
MethodDescription |
Instrumentation.SpecialMethodInvocation.Illegal.getMethodDescription() |
MethodDescription |
Instrumentation.SpecialMethodInvocation.Simple.getMethodDescription() |
MethodDescription |
Instrumentation.Context.Default.registerAccessorFor(Instrumentation.SpecialMethodInvocation specialMethodInvocation) |
MethodDescription |
Instrumentation.Target.MethodLookup.resolve(MethodDescription methodDescription,
Map<String,MethodDescription> invokableMethods,
BridgeMethodResolver bridgeMethodResolver)
Resolves the target method that is actually invoked.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
StubMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
Instrumentation.ForAbstractMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FixedValue.ForPoolValue.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
FieldAccessor.Appender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
ExceptionMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
protected ByteCodeAppender.Size |
InvocationHandlerAdapter.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod,
TypeDescription instrumentedType,
StackManipulation preparingManipulation)
Applies an instrumentation that delegates to a invocation handler.
|
protected ByteCodeAppender.Size |
FixedValue.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod,
TypeDescription fixedValueType,
StackManipulation valueLoadingInstruction)
Blueprint method that for applying the actual instrumentation.
|
protected ByteCodeAppender.Size |
FieldAccessor.applyGetter(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
FieldDescription fieldDescription,
MethodDescription methodDescription)
Applies a field getter instrumentation.
|
protected ByteCodeAppender.Size |
FieldAccessor.applySetter(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
FieldDescription fieldDescription,
MethodDescription methodDescription)
Applies a field setter instrumentation.
|
protected abstract String |
FieldAccessor.getFieldName(MethodDescription targetMethod)
Locates a field's name.
|
protected String |
FieldAccessor.ForBeanProperty.getFieldName(MethodDescription targetMethod) |
protected String |
FieldAccessor.ForNamedField.getFieldName(MethodDescription targetMethod) |
protected abstract Instrumentation.SpecialMethodInvocation |
Instrumentation.Target.AbstractBase.invokeSuper(MethodDescription methodDescription)
Invokes the fully resolved method to be invoked by a super method call.
|
Instrumentation.SpecialMethodInvocation |
Instrumentation.Target.invokeSuper(MethodDescription methodDescription,
Instrumentation.Target.MethodLookup methodLookup)
Creates a special method invocation for invoking the super method of the given method.
|
Instrumentation.SpecialMethodInvocation |
Instrumentation.Target.AbstractBase.invokeSuper(MethodDescription methodDescription,
Instrumentation.Target.MethodLookup methodLookup) |
static Instrumentation.SpecialMethodInvocation |
Instrumentation.SpecialMethodInvocation.Simple.of(MethodDescription methodDescription,
TypeDescription typeDescription)
Creates a special method invocation for a given invocation target.
|
MethodDescription |
Instrumentation.Target.MethodLookup.resolve(MethodDescription methodDescription,
Map<String,MethodDescription> invokableMethods,
BridgeMethodResolver bridgeMethodResolver)
Resolves the target method that is actually invoked.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
Instrumentation.Target.MethodLookup.resolve(MethodDescription methodDescription,
Map<String,MethodDescription> invokableMethods,
BridgeMethodResolver bridgeMethodResolver)
Resolves the target method that is actually invoked.
|
Modifier and Type | Method and Description |
---|---|
void |
MethodAttributeAppender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription)
Applies this attribute appender to a given method visitor.
|
void |
MethodAttributeAppender.NoOp.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForInstrumentedMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForAnnotation.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForLoadedMethod.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.ForLoadedConstructor.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
void |
MethodAttributeAppender.Compound.apply(org.objectweb.asm.MethodVisitor methodVisitor,
MethodDescription methodDescription) |
Modifier and Type | Class and Description |
---|---|
static class |
MethodDescription.AbstractMethodDescription
An abstract base implementation of a method description.
|
static class |
MethodDescription.ForLoadedConstructor
An implementation of a method description for a loaded constructor.
|
static class |
MethodDescription.ForLoadedMethod
An implementation of a method description for a loaded method.
|
static class |
MethodDescription.Latent
A latent method description describes a method that is not attached to a declaring
TypeDescription . |
static class |
MethodLookupEngine.ConflictingInterfaceMethod
This
MethodDescription represents methods that are defined
ambiguously on several interfaces of a common type. |
static class |
MethodLookupEngine.OverridenClassMethod
This method description represents a method that is defined in a non-interface type and overrides a method
in another class it directly or indirectly extends.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
MethodList.ForLoadedType.get(int index) |
MethodDescription |
MethodList.Explicit.get(int index) |
MethodDescription |
MethodList.Empty.get(int index) |
MethodDescription |
MethodList.getOnly()
Returns the only element in this method list or throws an exception if there is more than or less than
one element in this list.
|
MethodDescription |
MethodList.ForLoadedType.getOnly() |
MethodDescription |
MethodList.Explicit.getOnly() |
MethodDescription |
MethodList.Empty.getOnly() |
static MethodDescription |
MethodLookupEngine.OverridenClassMethod.of(MethodDescription overridingMethod,
MethodDescription overriddenMethod)
Creates a new method description of an overriding method to an overriden method.
|
protected static MethodDescription |
MethodLookupEngine.ConflictingInterfaceMethod.of(TypeDescription virtualHost,
MethodDescription conflictingMethod,
MethodDescription discoveredMethod)
Creates a new method description for at least two conflicting interface methods.
|
static MethodDescription |
MethodDescription.Latent.typeInitializerOf(TypeDescription declaringType)
Creates a latent method description of a type initializer (
<clinit> ) for a given type. |
Modifier and Type | Method and Description |
---|---|
abstract Map<TypeDescription,Set<MethodDescription>> |
MethodLookupEngine.Default.DefaultMethodLookup.apply(net.bytebuddy.instrumentation.method.MethodLookupEngine.Default.MethodBucket methodBucket,
Collection<TypeDescription> interfaces,
Collection<TypeDescription> defaultMethodRelevantInterfaces)
Applies default method extraction.
|
Map<TypeDescription,Set<MethodDescription>> |
MethodLookupEngine.Finding.getInvokableDefaultMethods()
Returns a map of interfaces that are eligible for default method invocation on the type this finding
was created for.
|
Map<TypeDescription,Set<MethodDescription>> |
MethodLookupEngine.Finding.Default.getInvokableDefaultMethods() |
Modifier and Type | Method and Description |
---|---|
static MethodDescription |
MethodLookupEngine.OverridenClassMethod.of(MethodDescription overridingMethod,
MethodDescription overriddenMethod)
Creates a new method description of an overriding method to an overriden method.
|
protected static MethodDescription |
MethodLookupEngine.ConflictingInterfaceMethod.of(TypeDescription virtualHost,
MethodDescription conflictingMethod,
MethodDescription discoveredMethod)
Creates a new method description for at least two conflicting interface methods.
|
Constructor and Description |
---|
ConflictingInterfaceMethod(TypeDescription virtualHost,
List<MethodDescription> methodDescriptions)
Creates a new conflicting interface method.
|
Default(TypeDescription lookedUpType,
MethodList invokableMethods,
Map<TypeDescription,Set<MethodDescription>> invokableDefaultMethods)
Creates a default of a
MethodLookupEngine.Finding . |
Explicit(List<? extends MethodDescription> methodDescriptions)
Creates a new wrapper for a given list of methods.
|
OverridenClassMethod(List<MethodDescription> methodChain)
Creates a new overriding class method.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
ByteCodeAppender.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
ByteCodeAppender.Size |
ByteCodeAppender.Compound.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
ByteCodeAppender.Size |
ByteCodeAppender.Simple.apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod) |
Modifier and Type | Method and Description |
---|---|
MethodDescription |
MethodDelegationBinder.MethodBinding.getTarget()
Returns the target method of the method binding attempt.
|
MethodDescription |
MethodDelegationBinder.MethodBinding.Illegal.getTarget() |
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.MethodBinding |
MethodDelegationBinder.Processor.process(Instrumentation.Target instrumentationTarget,
MethodDescription source,
Iterable<? extends MethodDescription> targets) |
Constructor and Description |
---|
Builder(MethodDelegationBinder.MethodInvoker methodInvoker,
MethodDescription target)
Creates a new builder for the binding of a given method.
|
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.ParameterBinding<?> |
AllArguments.Binder.bind(AllArguments annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Argument.Binder.bind(Argument argument,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
DefaultCall.Binder.bind(DefaultCall annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.MethodBinding |
TargetMethodAnnotationDrivenBinder.bind(Instrumentation.Target instrumentationTarget,
MethodDescription source,
MethodDescription target) |
MethodDelegationBinder.ParameterBinding<?> |
Origin.Binder.bind(Origin annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Pipe.Binder.bind(Pipe annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
SuperCall.Binder.bind(SuperCall annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
Super.Binder.bind(Super annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
This.Binder.bind(This annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner) |
MethodDelegationBinder.ParameterBinding<?> |
TargetMethodAnnotationDrivenBinder.ParameterBinder.bind(T annotation,
int targetParameterIndex,
MethodDescription source,
MethodDescription target,
Instrumentation.Target instrumentationTarget,
Assigner assigner)
Creates a parameter binding for the given target parameter.
|
static boolean |
RuntimeType.Verifier.check(MethodDescription methodDescription)
Checks if method return values should be assigned by considering the run time type.
|
static boolean |
IgnoreForBinding.Verifier.check(MethodDescription methodDescription)
Validates if a method should be ignored for binding.
|
static boolean |
RuntimeType.Verifier.check(MethodDescription methodDescription,
int parameterIndex)
Checks if a method parameter should be assigned by considering the run time type.
|
Iterator<T> |
TargetMethodAnnotationDrivenBinder.DefaultsProvider.makeIterator(Instrumentation.Target instrumentationTarget,
MethodDescription source,
MethodDescription target)
Creates an iterator from which a value is pulled each time no processable annotation is found on a
method parameter.
|
Iterator<Annotation> |
TargetMethodAnnotationDrivenBinder.DefaultsProvider.Empty.makeIterator(Instrumentation.Target instrumentationTarget,
MethodDescription source,
MethodDescription target) |
Iterator<Argument> |
Argument.NextUnboundAsDefaultsProvider.makeIterator(Instrumentation.Target instrumentationTarget,
MethodDescription source,
MethodDescription target) |
MethodDelegationBinder.AmbiguityResolver.Resolution |
BindingPriority.Resolver.resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right) |
Constructor and Description |
---|
Binder(MethodDescription forwardingMethod)
Creates a new binder.
|
Redirection(TypeDescription forwardingType,
MethodDescription sourceMethod,
Assigner assigner,
boolean serializableProxy,
MethodLookupEngine.Factory methodLookupEngineFactory)
Creates a new redirection.
|
Modifier and Type | Field and Description |
---|---|
protected MethodDescription |
MethodConstant.methodDescription
A description of the method to be loaded onto the stack.
|
Modifier and Type | Method and Description |
---|---|
static MethodConstant.CanCache |
MethodConstant.forMethod(MethodDescription methodDescription)
Creates a stack manipulation that loads a method constant onto the operand stack.
|
static StackManipulation |
MethodHandleConstant.of(MethodDescription methodDescription)
Creates a method handle for a method.
|
Constructor and Description |
---|
MethodConstant(MethodDescription methodDescription)
Creates a new method constant.
|
MethodTypeConstant(MethodDescription methodDescription)
Creates a new method type constant.
|
Modifier and Type | Method and Description |
---|---|
static StackManipulation |
MethodVariableAccess.forBridgeMethodInvocation(MethodDescription bridgeMethod,
MethodDescription targetMethod)
Creates a stack manipulation for loading all parameters of a Java bridge method onto the operand stack where
all variables of the bridge method are casted to the parameter types of the target method.
|
static MethodInvocation.WithImplicitInvocationTargetType |
MethodInvocation.invoke(MethodDescription methodDescription)
Creates a method invocation with an implicitly determined invocation type.
|
static StackManipulation |
MethodVariableAccess.loadArguments(MethodDescription methodDescription)
Loads all method arguments for a given method onto the operand stack.
|
static StackManipulation |
MethodVariableAccess.loadThisReferenceAndArguments(MethodDescription methodDescription)
Loads all method arguments for a given method onto the operand stack, including a reference to
this ,
if the method is non-static. |
Modifier and Type | Method and Description |
---|---|
static JunctionMethodMatcher |
MethodMatchers.hasSameByteCodeSignatureAs(MethodDescription methodDescription)
Selects methods with identical signature to the given method description where the return type
is considered to be part of the signature.
|
static JunctionMethodMatcher |
MethodMatchers.hasSameJavaCompilerSignatureAs(MethodDescription methodDescription)
Checks if a method has a Java compiler equal signature to another method which includes the name of the method
and the exact types and order of its parameters.
|
static JunctionMethodMatcher |
MethodMatchers.is(MethodDescription methodDescription)
A method matcher that matches a given method description.
|
static JunctionMethodMatcher |
MethodMatchers.isBridgeMethodCompatibleTo(MethodDescription methodDescription)
Determines if a method could be the target of the given method for a compile time bridge.
|
boolean |
MethodMatcher.matches(MethodDescription methodDescription)
Determines if a method matches for this
MethodMatcher . |
boolean |
JunctionMethodMatcher.Conjunction.matches(MethodDescription methodDescription) |
boolean |
JunctionMethodMatcher.Disjunction.matches(MethodDescription methodDescription) |
Modifier and Type | Class and Description |
---|---|
protected class |
InstrumentedType.AbstractBase.MethodToken
An implementation of a new method or constructor for the enclosing instrumented type.
|
Modifier and Type | Field and Description |
---|---|
protected List<MethodDescription> |
InstrumentedType.AbstractBase.methodDescriptions
A list of method descriptions registered for this instrumented type.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
TypeDescription.getEnclosingMethod()
Returns a description of the enclosing method of this type.
|
MethodDescription |
TypeDescription.ForLoadedType.getEnclosingMethod() |
MethodDescription |
InstrumentedType.AbstractBase.getEnclosingMethod() |
Constructor and Description |
---|
AbstractBase(LoadedTypeInitializer loadedTypeInitializer,
String typeName,
List<? extends FieldDescription> fieldDescriptions,
List<? extends MethodDescription> methodDescriptions)
Creates a new instrumented type with the given loaded type initializer and field and methods.
|
Modifier and Type | Method and Description |
---|---|
MethodDescription |
AuxiliaryType.MethodAccessorFactory.registerAccessorFor(Instrumentation.SpecialMethodInvocation specialMethodInvocation)
Registers an accessor method for a
Instrumentation.SpecialMethodInvocation which cannot be triggered
invoked directly from outside a type. |
MethodDescription |
AuxiliaryType.MethodAccessorFactory.Illegal.registerAccessorFor(Instrumentation.SpecialMethodInvocation specialMethodInvocation) |
Copyright © 2014. All rights reserved.