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_ARGSnoArgscompilerKey, compilerXKey, validateApplyKey, validateXApplyKeynameKey| 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, resolveParameterTypesapply, 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, setSourceLocationgetName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbolpublic NodePredicate type
public NodePredicate getNodePredicate()
public abstract void scan(AbstractSequence seq, int ipos, PositionConsumer out)
public int numArgs()
ProcedureminArgs()|(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
Procedurepublic void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
writeExternal in interface java.io.Externalizablejava.io.IOExceptionpublic void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
readExternal in interface java.io.Externalizablejava.io.IOExceptionjava.lang.ClassNotFoundExceptionpublic java.lang.String getDesc()