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.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.implementation |
The implementation package contains any logic for intercepting method calls.
|
net.bytebuddy.implementation.auxiliary |
Auxiliary types describe helper types that aid as a supplementary to a given
InstrumentedType . |
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 . |
Modifier and Type | Class and Description |
---|---|
protected static class |
ByteBuddy.EnumerationImplementation.InitializationAppender
A byte code appender for the type initializer of any enumeration type.
|
protected static class |
ByteBuddy.EnumerationImplementation.ValuesMethodAppender
A byte code appender for the
values method of any enumeration type. |
protected static class |
ByteBuddy.RecordConstructorStrategy.Appender
A byte code appender for accessors and the record constructor.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender |
ByteBuddy.EnumerationImplementation.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
ByteBuddy.RecordConstructorStrategy.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
ByteBuddy.RecordObjectMethod.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.BridgeMethodImplementation.Appender
An appender for implementing a bridge method for a lambda expression.
|
protected static class |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.ConstructorImplementation.Appender
An appender to implement the executing transformer.
|
protected static class |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.FactoryImplementation.Appender
An appender for a lambda expression factory.
|
protected static class |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender
An appender for a lambda expression's functional method.
|
protected static class |
AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory
A factory for rewriting the JDK's
java.lang.invoke.LambdaMetafactory methods for use with Byte Buddy. |
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.ConstructorImplementation.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.FactoryImplementation.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.SerializationImplementation.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.BridgeMethodImplementation.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
protected static ByteCodeAppender |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender.of(MethodDescription targetMethod,
JavaConstant.MethodType specializedLambdaMethod,
List<FieldDescription.InDefinedShape> declaredFields,
JavaConstant.MethodHandle.HandleType handleType,
TypeDescription targetType)
Resolves an appropriate appender for this lambda expression.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
Advice.Appender
A byte code appender for implementing
Advice . |
protected static class |
ClassVisitorFactory.AttributeTranslator
A method to wrap an
Attribute . |
protected static class |
ClassVisitorFactory.ConstantArrayTranslator
A method to translate an array of constants from one namespace to another.
|
protected static class |
ClassVisitorFactory.ConstantDynamicTranslator
A method to translate a
ConstantDynamic from one namespace to another. |
protected static class |
ClassVisitorFactory.ConstantTranslator
A method to translate a constant value from one namespace to another.
|
protected static class |
ClassVisitorFactory.FrameTranslator
A method to translate a stack map frame array from one namespace to another.
|
protected static class |
ClassVisitorFactory.HandleTranslator
A method to translate a
Handle from one namespace to another. |
protected static class |
ClassVisitorFactory.LabelArrayTranslator
A method to translate an array of
Label s from one namespace to another. |
protected static class |
ClassVisitorFactory.LabelTranslator
A method to translate a
Label from one namespace to another. |
protected static class |
ClassVisitorFactory.NullCheckedConstruction
An appender that performs a
null -checked construction. |
protected static class |
ClassVisitorFactory.TypePathTranslator
A method to translate a
TypePath type from one namespace to another. |
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender |
Advice.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
Constructor and Description |
---|
Appender(Advice advice,
Implementation.Target implementationTarget,
ByteCodeAppender delegate)
Creates a new appender for an advice component.
|
EmulatingMethodVisitor(MethodVisitor methodVisitor,
ByteCodeAppender delegate)
Creates a new emulating method visitor.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
AccessControllerPlugin.Initializer
A byte code appender to create an initializer segment that determines if
the
java.security.AccessController is available. |
protected static class |
AccessControllerPlugin.Initializer.WithoutProperty
An initializer that always uses the access controller if it is available.
|
protected static class |
AccessControllerPlugin.Initializer.WithProperty
An initializer that uses a property to determine if the access controller should be actually used even if it is available.
|
protected static class |
CachedReturnPlugin.AdviceResolver.ExitAdviceByteCodeAppender
A byte code appender for the exit advice.
|
Modifier and Type | Class and Description |
---|---|
static class |
NexusAccessor.InitializationAppender
An initialization appender that looks up a loaded type initializer from Byte Buddy's
Nexus . |
Modifier and Type | Method and Description |
---|---|
DynamicType.Builder<T> |
DynamicType.Builder.initializer(ByteCodeAppender byteCodeAppender)
Executes the supplied byte code appender within the beginning of the instrumented type's type initializer.
|
DynamicType.Builder<U> |
DynamicType.Builder.AbstractBase.Delegator.initializer(ByteCodeAppender byteCodeAppender)
Executes the supplied byte code appender within the beginning of the instrumented type's type initializer.
|
DynamicType.Builder<U> |
DynamicType.Builder.AbstractBase.Adapter.initializer(ByteCodeAppender byteCodeAppender)
Executes the supplied byte code appender within the beginning of the instrumented type's type initializer.
|
Modifier and Type | Interface and Description |
---|---|
interface |
TypeInitializer
A type initializer is responsible for defining a type's static initialization block.
|
Modifier and Type | Class and Description |
---|---|
static class |
TypeInitializer.None
Canonical implementation of a non-defined type initializer.
|
static class |
TypeInitializer.Simple
A simple, defined type initializer that executes a given
ByteCodeAppender . |
static class |
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge
A record for a visibility bridge.
|
Modifier and Type | Method and Description |
---|---|
TypeInitializer |
TypeInitializer.expandWith(ByteCodeAppender byteCodeAppender)
Expands this type initializer with another byte code appender.
|
TypeInitializer |
TypeInitializer.None.expandWith(ByteCodeAppender byteCodeAppenderFactory)
Expands this type initializer with another byte code appender.
|
TypeInitializer |
TypeInitializer.Simple.expandWith(ByteCodeAppender byteCodeAppender)
Expands this type initializer with another byte code appender.
|
TypeWriter.MethodPool.Record |
TypeWriter.MethodPool.Record.prepend(ByteCodeAppender byteCodeAppender)
Prepends the given method appender to this entry.
|
TypeWriter.MethodPool.Record |
TypeWriter.MethodPool.Record.ForNonImplementedMethod.prepend(ByteCodeAppender byteCodeAppender)
Prepends the given method appender to this entry.
|
TypeWriter.MethodPool.Record |
TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody.prepend(ByteCodeAppender byteCodeAppender)
Prepends the given method appender to this entry.
|
TypeWriter.MethodPool.Record |
TypeWriter.MethodPool.Record.ForDefinedMethod.WithoutBody.prepend(ByteCodeAppender byteCodeAppender)
Prepends the given method appender to this entry.
|
TypeWriter.MethodPool.Record |
TypeWriter.MethodPool.Record.ForDefinedMethod.WithAnnotationDefaultValue.prepend(ByteCodeAppender byteCodeAppender)
Prepends the given method appender to this entry.
|
TypeWriter.MethodPool.Record |
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge.prepend(ByteCodeAppender byteCodeAppender)
Prepends the given method appender to this entry.
|
TypeWriter.MethodPool.Record |
TypeWriter.MethodPool.Record.AccessBridgeWrapper.prepend(ByteCodeAppender byteCodeAppender)
Prepends the given method appender to this entry.
|
InstrumentedType |
InstrumentedType.withInitializer(ByteCodeAppender byteCodeAppender)
Creates a new instrumented type that executes the given initializer in the instrumented type's
type initializer.
|
InstrumentedType.WithFlexibleName |
InstrumentedType.WithFlexibleName.withInitializer(ByteCodeAppender byteCodeAppender)
Creates a new instrumented type that executes the given initializer in the instrumented type's
type initializer.
|
InstrumentedType.WithFlexibleName |
InstrumentedType.Default.withInitializer(ByteCodeAppender byteCodeAppender)
Creates a new instrumented type that executes the given initializer in the instrumented type's
type initializer.
|
InstrumentedType.WithFlexibleName |
InstrumentedType.Frozen.withInitializer(ByteCodeAppender byteCodeAppender)
Creates a new instrumented type that executes the given initializer in the instrumented type's
type initializer.
|
Constructor and Description |
---|
Compiled(ByteCodeAppender byteCodeAppender)
Creates a new compiled handler for a method implementation.
|
Simple(ByteCodeAppender byteCodeAppender)
Creates a new simple type initializer.
|
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.
|
Modifier and Type | Method and Description |
---|---|
DynamicType.Builder<T> |
DecoratingDynamicTypeBuilder.initializer(ByteCodeAppender byteCodeAppender)
Executes the supplied byte code appender within the beginning of the instrumented type's type initializer.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
DefaultMethodCall.Appender
The appender for implementing a
DefaultMethodCall . |
protected static class |
EqualsMethod.Appender
A byte code appender to implement the
EqualsMethod . |
class |
ExceptionMethod
This implementation causes a
Throwable to be thrown when the instrumented method is invoked. |
protected class |
FieldAccessor.ForImplicitProperty.Appender
An byte code appender for an field accessor implementation.
|
protected class |
FieldAccessor.ForSetter.Appender
An appender to implement a field setter.
|
protected static class |
FixedValue.ForArgument
A fixed value implementation that returns a method's argument.
|
protected static class |
FixedValue.ForConstantValue
A fixed value implementation that represents its fixed value as a constant pool value or a byte code instruction.
|
protected static class |
FixedValue.ForNullValue
A fixed value of
null . |
protected class |
FixedValue.ForOriginType.Appender
An appender for writing the origin type.
|
protected static class |
FixedValue.ForThisValue.Appender
A byte code appender for returning
this . |
protected static class |
HashCodeMethod.Appender
A byte code appender to implement a hash code method.
|
protected static class |
Implementation.Context.Default.AccessorMethodDelegation
An implementation of a
TypeWriter.MethodPool.Record for implementing
an accessor method. |
protected static class |
Implementation.Context.Default.DelegationRecord
An abstract method pool entry that delegates the implementation of a method to itself.
|
protected static class |
Implementation.Context.Default.FieldGetterDelegation
An implementation for a field getter.
|
protected static class |
Implementation.Context.Default.FieldSetterDelegation
An implementation for a field setter.
|
protected class |
Implementation.Simple.ForDispatcher.Appender
An appender for a dispatcher-based simple implementation.
|
protected class |
InvocationHandlerAdapter.ForField.Appender
An appender for implementing the
InvocationHandlerAdapter.ForField . |
protected class |
InvocationHandlerAdapter.ForInstance.Appender
An appender for implementing the
InvocationHandlerAdapter.ForInstance . |
protected class |
InvokeDynamic.Appender
The byte code appender to be used by the
InvokeDynamic implementation. |
protected class |
MethodCall.Appender
The appender being used to implement a
MethodCall . |
protected static class |
MethodCall.FieldSetting.Appender
A byte code appender to implement a field-setting method call.
|
protected static class |
MethodDelegation.Appender
The appender for implementing a
MethodDelegation . |
class |
StubMethod
This implementation creates a method stub which does nothing but returning the default value of the return
type of the method.
|
protected static class |
SuperMethodCall.Appender
An appender for implementing a
SuperMethodCall . |
protected static class |
ToStringMethod.Appender
An appender to implement
ToStringMethod . |
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender |
InvokeDynamic.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
InvokeDynamic.AbstractDelegator.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
HashCodeMethod.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
SuperMethodCall.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
SuperMethodCall.WithoutReturn.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
EqualsMethod.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FixedValue.ForNullValue.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FixedValue.ForOriginType.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FixedValue.ForThisValue.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FixedValue.ForArgument.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FixedValue.ForConstantValue.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FixedValue.ForValue.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
StubMethod.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
MethodCall.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
MethodCall.FieldSetting.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
ExceptionMethod.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
MethodDelegation.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
Implementation.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
Implementation.Compound.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
Implementation.Compound.Composable.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
Implementation.Simple.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
Implementation.Simple.ForDispatcher.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
DefaultMethodCall.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
InvocationHandlerAdapter.ForInstance.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
InvocationHandlerAdapter.ForField.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FieldAccessor.ForImplicitProperty.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FieldAccessor.ForSetter.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
protected ByteCodeAppender |
Implementation.Context.Default.FieldCacheEntry.storeIn(FieldDescription fieldDescription)
Returns a stack manipulation where the represented value is stored in the given field.
|
Modifier and Type | Method and Description |
---|---|
TypeWriter.MethodPool.Record |
Implementation.Context.Default.DelegationRecord.prepend(ByteCodeAppender byteCodeAppender)
Prepends the given method appender to this entry.
|
Constructor and Description |
---|
Simple(ByteCodeAppender... byteCodeAppender)
Creates a new simple implementation for the given byte code appenders.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
MethodCallProxy.ConstructorCall.Appender
The appender for implementing the
MethodCallProxy.ConstructorCall . |
protected class |
MethodCallProxy.MethodCall.Appender
The appender for implementing the
MethodCallProxy.MethodCall . |
protected class |
TypeProxy.MethodCall.Appender
Implementation of a byte code appender for a
TypeProxy.MethodCall . |
protected static class |
TypeProxy.SilentConstruction.Appender
The appender for implementing a
TypeProxy.SilentConstruction . |
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender |
MethodCallProxy.ConstructorCall.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
MethodCallProxy.MethodCall.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
TypeProxy.SilentConstruction.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
TypeProxy.MethodCall.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
Modifier and Type | Class and Description |
---|---|
protected class |
FieldProxy.Binder.FieldGetter.Appender
A byte code appender for a getter method.
|
protected class |
FieldProxy.Binder.FieldSetter.Appender
A byte code appender for a setter method.
|
protected static class |
FieldProxy.Binder.InstanceFieldConstructor.Appender
An appender for implementing an
FieldProxy.Binder.InstanceFieldConstructor . |
protected static class |
Morph.Binder.RedirectionProxy.InstanceFieldConstructor.Appender
The byte code appender that implements the constructor.
|
protected class |
Morph.Binder.RedirectionProxy.MethodCall.Appender
The byte code appender to implement the method.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender |
Morph.Binder.RedirectionProxy.StaticFieldConstructor.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
Morph.Binder.RedirectionProxy.InstanceFieldConstructor.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
Morph.Binder.RedirectionProxy.MethodCall.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FieldProxy.Binder.StaticFieldConstructor.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FieldProxy.Binder.InstanceFieldConstructor.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FieldProxy.Binder.FieldGetter.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
FieldProxy.Binder.FieldSetter.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
Pipe.Binder.RedirectionProxy.ConstructorCall.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
ByteCodeAppender |
Pipe.Binder.RedirectionProxy.MethodCall.appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
Modifier and Type | Class and Description |
---|---|
static class |
ByteCodeAppender.Compound
A compound appender that combines a given number of other byte code appenders.
|
static class |
ByteCodeAppender.Simple
A simple byte code appender that only represents a given array of
StackManipulation s. |
Constructor and Description |
---|
Compound(ByteCodeAppender... byteCodeAppender)
Creates a new compound byte code appender.
|
Constructor and Description |
---|
Compound(List<? extends ByteCodeAppender> byteCodeAppenders)
Creates a new compound byte code appender.
|
Copyright © 2014–2025. All rights reserved.