gnu.kawa.reflect

Class InstanceOf

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

public class InstanceOf
extends Procedure2
implements CanInline, Inlineable

Field Summary

protected Language
language

Constructor Summary

InstanceOf(Language language)
InstanceOf(Language language, String name)

Method Summary

Object
apply2(Object arg1, Object arg2)
void
compile(ApplyExp exp, Compilation comp, Target target)
static void
emitIsInstance(TypeValue type, Variable incoming, Compilation comp, Target target)
Type
getReturnType(Expression[] args)
Expression
inline(ApplyExp exp, ExpWalker walker)

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

language

protected Language language

Constructor Details

InstanceOf

public InstanceOf(Language language)

InstanceOf

public InstanceOf(Language language,
                  String name)

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

emitIsInstance

public static void emitIsInstance(TypeValue type,
                                  Variable incoming,
                                  Compilation comp,
                                  Target target)

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