@HashCodeAndEqualsPlugin.Enhance public static class TypeProxy.ForSuperMethodByConstructor extends java.lang.Object implements StackManipulation
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Size, StackManipulation.Trivial
Modifier and Type | Field and Description |
---|---|
private java.util.List<TypeDescription> |
constructorParameters
The parameter types of the constructor that should be called.
|
private boolean |
ignoreFinalizer
true if any finalizers should be ignored for the delegation. |
private Implementation.Target |
implementationTarget
The implementation target this type proxy is created for.
|
private TypeDescription |
proxiedType
The type for the type proxy to subclass or implement.
|
private boolean |
serializableProxy
Determines if the proxy should be serializable.
|
Constructor and Description |
---|
ForSuperMethodByConstructor(TypeDescription proxiedType,
Implementation.Target implementationTarget,
java.util.List<TypeDescription> constructorParameters,
boolean ignoreFinalizer,
boolean serializableProxy)
Creates a new stack operation for creating a type proxy by calling one of its constructors.
|
Modifier and Type | Method and Description |
---|---|
StackManipulation.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext)
Applies the stack manipulation that is described by this instance.
|
boolean |
isValid()
Determines if this stack manipulation is valid.
|
private final TypeDescription proxiedType
private final Implementation.Target implementationTarget
private final java.util.List<TypeDescription> constructorParameters
private final boolean ignoreFinalizer
true
if any finalizers should be ignored for the delegation.private final boolean serializableProxy
public ForSuperMethodByConstructor(TypeDescription proxiedType, Implementation.Target implementationTarget, java.util.List<TypeDescription> constructorParameters, boolean ignoreFinalizer, boolean serializableProxy)
proxiedType
- The type for the type proxy to subclass or implement.implementationTarget
- The implementation target this type proxy is created for.constructorParameters
- The parameter types of the constructor that should be called.ignoreFinalizer
- true
if any finalizers should be ignored for the delegation.serializableProxy
- Determines if the proxy should be serializable.public boolean isValid()
isValid
in interface StackManipulation
false
, this manipulation cannot be applied and should throw an exception.public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
apply
in interface StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.