Class PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible
java.lang.Object
net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible
- All Implemented Interfaces:
PrimitiveUnboxingDelegate.UnboxingResponsible
- Enclosing class:
- PrimitiveUnboxingDelegate
@Enhance
protected static class PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible
extends Object
implements PrimitiveUnboxingDelegate.UnboxingResponsible
An unboxing responsible for an implicitly typed value. This implementation is applied for source types that
were not found to be of a given wrapper type. Instead, this unboxing responsible tries to assign the
source type to the primitive target type's wrapper type before performing an unboxing operation.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final TypeDescription.Generic
The original type which should be unboxed but is not of any known wrapper type. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ImplicitlyTypedUnboxingResponsible
(TypeDescription.Generic originalType) Creates a new implicitly typed unboxing responsible. -
Method Summary
Modifier and TypeMethodDescriptionassignUnboxedTo
(TypeDescription.Generic target, Assigner assigner, Assigner.Typing typing) Attempts to unbox the represented type in order to assign the unboxed value to the given target type while using the assigner that is provided by the method call.
-
Field Details
-
originalType
The original type which should be unboxed but is not of any known wrapper type.
-
-
Constructor Details
-
ImplicitlyTypedUnboxingResponsible
Creates a new implicitly typed unboxing responsible.- Parameters:
originalType
- The original type which should be unboxed but is not of any known wrapper type.
-
-
Method Details
-
assignUnboxedTo
public StackManipulation assignUnboxedTo(TypeDescription.Generic target, Assigner assigner, Assigner.Typing typing) Attempts to unbox the represented type in order to assign the unboxed value to the given target type while using the assigner that is provided by the method call.- Specified by:
assignUnboxedTo
in interfacePrimitiveUnboxingDelegate.UnboxingResponsible
- Parameters:
target
- The type that is the desired outcome of the assignment.assigner
- The assigner used to assign the unboxed type to the target type.typing
- Determines if a type-casting should be attempted for incompatible types.- Returns:
- A stack manipulation representing this assignment if such an assignment is possible. An illegal assignment otherwise.
-