public abstract class TreeScanner extends MethodProc implements java.io.Externalizable
Modifier and Type | Field and Description |
---|---|
NodePredicate |
type |
argTypes, NO_MATCH, NO_MATCH_AMBIGUOUS, NO_MATCH_BAD_TYPE, NO_MATCH_TOO_FEW_ARGS, NO_MATCH_TOO_MANY_ARGS
noArgs
compilerKey, validateApplyKey
nameKey
Modifier and Type | Method and Description |
---|---|
void |
apply(CallContext ctx)
Call this Procedure using the explicit-CallContext-convention.
|
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) |
applyN, getParameterType, isApplicable, matchFailAsException, mostSpecific, numParameters, overrideEquivalent, resolveParameterTypes
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
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
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 void apply(CallContext ctx) throws java.lang.Throwable
Procedure
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()