public class NumberPredicate extends Procedure1 implements Inlineable
Modifier and Type | Field and Description |
---|---|
static int |
EVEN |
static int |
ODD |
compilerKey, validateApplyKey
nameKey
Constructor and Description |
---|
NumberPredicate(Language language,
java.lang.String name,
int op) |
Modifier and Type | Method and Description |
---|---|
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) . |
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
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public static final int ODD
public static final int EVEN
public NumberPredicate(Language language, java.lang.String name, int op)
protected final Language getLanguage()
public java.lang.Object apply1(java.lang.Object arg1)
apply1
in class Procedure1
public int numArgs()
Procedure
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.numArgs
in class Procedure1
public void compile(ApplyExp exp, Compilation comp, Target target)
compile
in interface Inlineable