/**
* 5.1.3: Narrowing Primitive Conversions
*
* @author Martin Bravenboer <martin@cs.uu.nl>
*/
module dryad/jls/conversions/NarrowingPrimitive
strategies
/**
* Checks if the type (current term) is convertable to type t by a
* narrowing primitive conversion.
*
* @param t Type
* @type Type -> Type
*/
strategies
is-narrowing-primitive-convertable(|t) =
?Short()
; where(!t; (Byte() + Char()))
is-narrowing-primitive-convertable(|t) =
?Char()
; where(!t; (Byte() + Short()))
is-narrowing-primitive-convertable(|t) =
?Int()
; where(!t; (Byte() + Short() + Char()))
is-narrowing-primitive-convertable(|t) =
?Long()
; where(!t; (Byte() + Short() + Char() + Int()))
is-narrowing-primitive-convertable(|t) =
?Float()
; where(!t; (Byte() + Short() + Char() + Int() + Long()))
is-narrowing-primitive-convertable(|t) =
?Double()
; where(!t; (Byte() + Short() + Char() + Int() + Long() + Float))