gnu.kawa.functions
Class NumberPredicate
java.lang.Object
gnu.mapping.PropertySet
gnu.mapping.Procedure
gnu.mapping.Procedure1
gnu.kawa.functions.NumberPredicate
- All Implemented Interfaces:
- Inlineable, Named
public class NumberPredicate
- extends Procedure1
- implements Inlineable
Field Summary |
static int |
EVEN
|
static int |
ODD
|
Methods inherited from class gnu.mapping.Procedure |
apply, apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getReturnType, getSetter, getSourceLocation, isSideEffectFree, match0, match1, match2, match3, match4, matchN, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ODD
public static final int ODD
- See Also:
- Constant Field Values
EVEN
public static final int EVEN
- See Also:
- Constant Field Values
NumberPredicate
public NumberPredicate(Language language,
java.lang.String name,
int op)
getLanguage
protected final Language getLanguage()
apply1
public java.lang.Object apply1(java.lang.Object arg1)
- Specified by:
apply1
in class Procedure1
numArgs
public int numArgs()
- Description copied from class:
Procedure
- Return
minArgs()|(maxArgs<<12)
.
We use a single virtual function to reduce the number of methods
in the system, as well as the number of virtual method table entries.
We shift by 12 so the number can normally be represented using a
sipush instruction, without requiring a constant pool entry.
- Overrides:
numArgs
in class Procedure1
compile
public void compile(ApplyExp exp,
Compilation comp,
Target target)
- Specified by:
compile
in interface Inlineable