gnu.kawa.functions
Class Convert

java.lang.Object
  extended by gnu.mapping.PropertySet
      extended by gnu.mapping.Procedure
          extended by gnu.mapping.Procedure2
              extended by gnu.kawa.functions.Convert
All Implemented Interfaces:
CanInline, Inlineable, Named
Direct Known Subclasses:
CastAs

public class Convert
extends Procedure2
implements CanInline, Inlineable


Field Summary
static Convert as
           
 
Constructor Summary
Convert()
           
 
Method Summary
 java.lang.Object apply2(java.lang.Object arg1, java.lang.Object arg2)
           
 void compile(ApplyExp exp, Compilation comp, Target target)
           
static Convert getInstance()
           
 Type getReturnType(Expression[] args)
           
 Expression inline(ApplyExp exp, ExpWalker walker)
          Inline an application of this Procedure and return result.
static Expression makeCoercion(Expression value, Expression type)
          Convenience method to make an Expression that coerces a value.
static Expression makeCoercion(Expression value, Type 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, apply3, apply4, applyN, numArgs
 
Methods inherited from class gnu.mapping.Procedure
apply, apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getSetter, getSourceLocation, match0, match1, match2, match3, match4, matchN, maxArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString
 
Methods inherited from class gnu.mapping.PropertySet
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

as

public static final Convert as
Constructor Detail

Convert

public Convert()
Method Detail

getInstance

public static Convert getInstance()

apply2

public java.lang.Object apply2(java.lang.Object arg1,
                               java.lang.Object arg2)
Specified by:
apply2 in class Procedure2

inline

public Expression inline(ApplyExp exp,
                         ExpWalker walker)
Description copied from interface: CanInline
Inline an application of this Procedure and return result. Can return original expression.

Specified by:
inline in interface CanInline

compile

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

getReturnType

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

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

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

setCoercedReturnValue

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