public enum GenericTypeAwareAssigner extends Enum<GenericTypeAwareAssigner> implements Assigner
An assigner implementation that considers generic type assignability.
Important: This implementation does not currently support method variables and their type inference.
Modifier and Type | Class and Description |
---|---|
protected static class |
GenericTypeAwareAssigner.IsAssignableToVisitor
A visitor for generic types that determines assignability of such types.
|
Assigner.EqualTypesOnly, Assigner.Refusing, Assigner.Typing
Enum Constant and Description |
---|
INSTANCE
The singleton instance.
|
DEFAULT, GENERICS_AWARE
Modifier and Type | Method and Description |
---|---|
StackManipulation |
assign(TypeDescription.Generic source,
TypeDescription.Generic target,
Assigner.Typing typing) |
static GenericTypeAwareAssigner |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static GenericTypeAwareAssigner[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final GenericTypeAwareAssigner INSTANCE
public static GenericTypeAwareAssigner[] values()
for (GenericTypeAwareAssigner c : GenericTypeAwareAssigner.values()) System.out.println(c);
public static GenericTypeAwareAssigner valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic StackManipulation assign(TypeDescription.Generic source, TypeDescription.Generic target, Assigner.Typing typing)
assign
in interface Assigner
source
- The original type that is to be transformed into the targetType
.target
- The target type into which the sourceType
is to be converted.typing
- A hint whether the assignment should consider the runtime type of the source type,
i.e. if type down or cross castings are allowed. If this hint is set, this is
also an indication that void
to non-void
assignments are permitted.sourceType
into the targetType
if this
is possible. An illegal stack manipulation otherwise.Copyright © 2014–2019. All rights reserved.