Package gw.lang.parser.coercers
Class BasePrimitiveCoercer
java.lang.Object
gw.lang.parser.coercers.BaseCoercer
gw.lang.parser.coercers.StandardCoercer
gw.lang.parser.coercers.BasePrimitiveCoercer
- All Implemented Interfaces:
ICoercer
,IResolvingCoercer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ICoercer
private final IType
private final IType
static final LockingLazyVar<BasePrimitiveCoercer>
static final LockingLazyVar<BasePrimitiveCoercer>
static final LockingLazyVar<BasePrimitiveCoercer>
static final LockingLazyVar<BasePrimitiveCoercer>
static final LockingLazyVar<BasePrimitiveCoercer>
static final LockingLazyVar<BasePrimitiveCoercer>
static final LockingLazyVar<BasePrimitiveCoercer>
static final LockingLazyVar<BasePrimitiveCoercer>
Fields inherited from interface gw.lang.parser.ICoercer
MAX_PRIORITY
-
Constructor Summary
ConstructorsConstructorDescriptionBasePrimitiveCoercer
(ICoercer nonPrimitiveCoercer, IType primitiveType, IType nonPrimitiveType) -
Method Summary
Modifier and TypeMethodDescriptionfinal Object
coerceValue
(IType typeToCoerceTo, Object value) private static int
private static int
int
getPriority
(IType to, IType from) static int
getPriorityOf
(IType to, IType from) boolean
private static boolean
isInSameFamily
(IType t1, IType t2) static int
losesInformation
(IType from, IType to) resolveType
(IType target, IType source) This method should produce a more appropriately parameterized type for the given target type for this coercion.Methods inherited from class gw.lang.parser.coercers.StandardCoercer
isCoercingDimensionWithSameType, isExplicitCoercion
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface gw.lang.parser.ICoercer
isExplicitCoercion
-
Field Details
-
DoublePCoercer
-
FloatPCoercer
-
BooleanPCoercer
-
BytePCoercer
-
ShortPCoercer
-
CharPCoercer
-
IntPCoercer
-
LongPCoercer
-
_nonPrimitiveCoercer
-
_primitiveType
-
_nonPrimitveType
-
-
Constructor Details
-
BasePrimitiveCoercer
-
-
Method Details
-
coerceValue
- Specified by:
coerceValue
in interfaceICoercer
-
handlesNull
public boolean handlesNull()- Specified by:
handlesNull
in interfaceICoercer
- Overrides:
handlesNull
in classStandardCoercer
- Returns:
- true if this coercer knows how to handle the null value.
-
resolveType
Description copied from interface:IResolvingCoercer
This method should produce a more appropriately parameterized type for the given target type for this coercion. This allows a coercion to communicate type information through the coercion process. An example is the MetaType-to-Class coercion. MetaType
should be interpreted as Class from a type inference perspective, so this give the coercer a chance to let the compiler know so. If no more appropriate inference type exists, this method should return the source type.
- Specified by:
resolveType
in interfaceIResolvingCoercer
- Parameters:
target
- type- Returns:
- a possibly more appropriately parameterized type or the source type if not
-
getPriority
- Specified by:
getPriority
in interfaceICoercer
- Overrides:
getPriority
in classStandardCoercer
- Returns:
- a value between 0 and MAX_PRIORITY, inclusive that indicates the priority of this coercer when resolving overloaded methods. Typically a coercer should return 0, but coercers that have a high affinity between the target and coerced type, such as primitives, can have higher priorities.
-
getPriorityOf
-
distance
-
losesInformation
-
getIndex
-
isInSameFamily
-