public class ValuesFilter extends MethodProc implements Inlineable
Modifier and Type | Field and Description |
---|---|
static ValuesFilter |
exprFilter |
static ValuesFilter |
forwardFilter |
static Method |
matchesMethod |
static ValuesFilter |
reverseFilter |
static ClassType |
typeValuesFilter |
argTypes, NO_MATCH, NO_MATCH_AMBIGUOUS, NO_MATCH_BAD_TYPE, NO_MATCH_TOO_FEW_ARGS, NO_MATCH_TOO_MANY_ARGS
noArgs
compilerKey, compilerXKey, validateApplyKey, validateXApplyKey
nameKey
Constructor and Description |
---|
ValuesFilter(char kind) |
Modifier and Type | Method and Description |
---|---|
void |
apply(CallContext ctx)
Call this Procedure using the explicit-CallContext-convention.
|
void |
compile(ApplyExp exp,
Compilation comp,
Target target) |
static ValuesFilter |
get(char kind) |
Type |
getReturnType(Expression[] args)
Semi-deprecated - instead should be set at Inline time.
|
static boolean |
matches(java.lang.Object result,
long count) |
int |
numArgs()
Return
minArgs()|(maxArgs<<12) . |
applyN, getParameterType, isApplicable, matchFailAsException, mostSpecific, numParameters, overrideEquivalent, resolveParameterTypes
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, 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 ValuesFilter forwardFilter
public static final ValuesFilter reverseFilter
public static final ValuesFilter exprFilter
public static final ClassType typeValuesFilter
public static final Method matchesMethod
public static ValuesFilter get(char kind)
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.public static boolean matches(java.lang.Object result, long count)
public void apply(CallContext ctx) throws java.lang.Throwable
Procedure
public void compile(ApplyExp exp, Compilation comp, Target target)
compile
in interface Inlineable
public Type getReturnType(Expression[] args)
Procedure
getReturnType
in class Procedure