/** * 5.1.1: Identity Conversions * * @author Martin Bravenboer <martin@cs.uu.nl> */ module dryad/jls/conversions/IdentityConversion signature constructors /** * @param The type that is subjected to identity conversion. */ IdentityConversion : Type -> IdentityConversion strategies /** * Succeeds if the type is convertable to the argument type by identity conversion. * * @param Type * @type Type -> Type */ is-identity-convertable(|to) = ?to rules /** * @type Type -> IdentityConversion */ identity-conversion(|to) : to -> IdentityConversion(to) identity-conversion = !IdentityConversion(<id>) /** * Getting info about a IdentityConversion */ rules /** * Returns the types involved in this IdentityConversion. * * @type IdentityConversion -> List(Type) */ types-of-conversion : IdentityConversion(t) -> [t] /** * Returns the result type of this IdentityConversion. * * @type IdentityConversion -> Type */ result-of-conversion : IdentityConversion(t) -> t