gnu.kawa.functions

Class Convert

Implemented Interfaces:
CanInline, Inlineable, Named
Known Direct Subclasses:
CastAs

public class Convert
extends Procedure2
implements CanInline, Inlineable

Field Summary

static Convert
as

Method Summary

Object
apply2(Object arg1, Object arg2)
void
compile(ApplyExp exp, Compilation comp, Target target)
static Convert
getInstance()
Type
getReturnType(Expression[] args)
Expression
inline(ApplyExp exp, ExpWalker walker)
static Expression
makeCoercion(Expression value, Type type)
Convenience method to make an Expression that coerces a value.
static Expression
makeCoercion(Expression value, Expression type)
Convenience method to make an Expression that coerces a value.
static void
setCoercedReturnValue(LambdaExp lexp, Expression type, Language language)
Modify LambdaExp so result is coerced to given type.

Methods inherited from class gnu.mapping.Procedure2

apply0, apply1, apply2, apply3, apply4, applyN, numArgs

Methods inherited from class gnu.mapping.Procedure

apply, apply, apply0, apply1, apply2, apply3, apply4, applyN, check0, check1, check2, check3, check4, checkArgCount, checkN, getSetter, getSourceLocation, match0, match1, match2, match3, match4, matchN, maxArgs, minArgs, numArgs, set0, set1, setN, setSetter, setSourceLocation, toString

Methods inherited from class gnu.mapping.PropertySet

getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol

Field Details

as

public static final Convert as

Method Details

apply2

public Object apply2(Object arg1,
                     Object arg2)
Overrides:
apply2 in interface Procedure2

compile

public void compile(ApplyExp exp,
                    Compilation comp,
                    Target target)
Specified by:
compile in interface Inlineable

getInstance

public static Convert getInstance()

getReturnType

public Type getReturnType(Expression[] args)
Specified by:
getReturnType in interface Inlineable

inline

public Expression inline(ApplyExp exp,
                         ExpWalker walker)
Specified by:
inline in interface CanInline

makeCoercion

public static Expression makeCoercion(Expression value,
                                      Type type)
Convenience method to make an Expression that coerces a value.
Parameters:
value - to be coerced
type - to coerce value to
Returns:
expression that coerces value to type

makeCoercion

public static Expression makeCoercion(Expression value,
                                      Expression type)
Convenience method to make an Expression that coerces a value.
Parameters:
value - to be coerced
type - to coerce value to
Returns:
expression that coerces value to type

setCoercedReturnValue

public static void setCoercedReturnValue(LambdaExp lexp,
                                         Expression type,
                                         Language language)
Modify LambdaExp so result is coerced to given type.