gnu.kawa.functions
Class NumberPredicate

java.lang.Object
  extended by gnu.mapping.PropertySet
      extended by gnu.mapping.Procedure
          extended by gnu.mapping.Procedure1
              extended by gnu.kawa.functions.NumberPredicate
All Implemented Interfaces:
Inlineable, Named

public class NumberPredicate
extends Procedure1
implements Inlineable


Field Summary
static int EVEN
           
static int ODD
           
 
Fields inherited from class gnu.mapping.Procedure
compilerKey, validateApplyKey
 
Fields inherited from class gnu.mapping.PropertySet
nameKey
 
Constructor Summary
NumberPredicate(Language language, java.lang.String name, int op)
           
 
Method Summary
 java.lang.Object apply1(java.lang.Object arg1)
           
 void compile(ApplyExp exp, Compilation comp, Target target)
           
protected  Language getLanguage()
           
 int numArgs()
          Return minArgs()|(maxArgs<<12).
 
Methods inherited from class gnu.mapping.Procedure1
apply0, apply2, apply3, apply4, applyN
 
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 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

ODD

public static final int ODD
See Also:
Constant Field Values

EVEN

public static final int EVEN
See Also:
Constant Field Values
Constructor Detail

NumberPredicate

public NumberPredicate(Language language,
                       java.lang.String name,
                       int op)
Method Detail

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