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 |
applyToConsumerDefaultMP, argTypes, NO_MATCH, NO_MATCH_AMBIGUOUS, NO_MATCH_BAD_TYPE, NO_MATCH_GUARD_FALSE, NO_MATCH_TOO_FEW_ARGS, NO_MATCH_TOO_MANY_ARGS, NO_MATCH_UNUSED_KEYWORD, THROW_ON_EXCEPTION
applyToObject, noArgs
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
nameKey
Constructor and Description |
---|
ValuesFilter(char kind) |
Modifier and Type | Method and Description |
---|---|
static java.lang.Object |
applyToConsumer(Procedure proc,
CallContext ctx) |
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) . |
applyToConsumerDefaultMP, getParameterType, isApplicable, matchFailAsException, mostSpecific, numParameters, overrideEquivalent, resolveParameterTypes
applyToObject
apply0, apply1, apply2, apply3, apply4, applyL, applyN, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, 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 static java.lang.Object applyToConsumer(Procedure proc, CallContext ctx) throws java.lang.Throwable
java.lang.Throwable
public void compile(ApplyExp exp, Compilation comp, Target target)
compile
in interface Inlineable
public Type getReturnType(Expression[] args)
Procedure
getReturnType
in class Procedure