This assigner is able to handle non-
void
, primitive types. This means:
- If a primitive type is assigned to a non-primitive type, it will attempt to widen the source type into the
target type.
- If a primitive type is assigned to a non-primitive type, it will attempt to box the source type and then
query the chained assigner for assigning the boxed type to the target type.
- If a non-primitive type is assigned to a primitive type, it will unbox the source type and then attempt a
widening of the unboxed type into the target type. If the source type does not represent a wrapper type, it will
attempt to infer the boxing type from the target type and check if the source type is assignable to this wrapper
type.
- If two non-primitive types are subject of the assignment, it will delegate the assignment to its chained
assigner.