public abstract class TreeScanner extends MethodProc implements java.io.Externalizable
Modifier and Type | Field and Description |
---|---|
static java.lang.invoke.MethodHandle |
applyToConsumerTS |
NodePredicate |
type |
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
Modifier and Type | Method and Description |
---|---|
static java.lang.Object |
applyToConsumerTS(Procedure proc,
CallContext ctx) |
java.lang.String |
getDesc() |
NodePredicate |
getNodePredicate() |
int |
numArgs()
Return
minArgs()|(maxArgs<<12) . |
void |
readExternal(java.io.ObjectInput in) |
abstract void |
scan(AbstractSequence seq,
int ipos,
PositionConsumer out) |
java.lang.String |
toString() |
void |
writeExternal(java.io.ObjectOutput out) |
applyToConsumerDefaultMP, getParameterType, isApplicable, matchFailAsException, mostSpecific, numParameters, overrideEquivalent, resolveParameterTypes
applyToObject
apply0, apply1, apply2, apply3, apply4, applyL, applyN, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public static final java.lang.invoke.MethodHandle applyToConsumerTS
public NodePredicate type
public NodePredicate getNodePredicate()
public abstract void scan(AbstractSequence seq, int ipos, PositionConsumer out)
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 java.lang.Object applyToConsumerTS(Procedure proc, CallContext ctx) throws java.lang.Throwable
java.lang.Throwable
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
public java.lang.String getDesc()