java.lang.Object | +--org.erights.e.elib.prim.JavaMatcher
Untamed: Abstract superclass of all the CRAPI-based wrappers of java.lang.reflect.Methods representing matchers for installing them in VTables as matchers.
(package private) abstract Object
innerExecute(Object self,
Object[] pair)
execute(java.lang.Object, java.lang.String, java.lang.Object[]) that's specific to a particular kind of
JavaMatcher.
(package private) static boolean
isMatcher(java.lang.reflect.Method method,
int offset)
final java.lang.reflect.Method myMethod
private final CallCounter myCallCounter
JavaMatcher(java.lang.reflect.Method method)
static boolean isMatcher(java.lang.reflect.Method method, int offset)
This isMatcher/2 only does part of the work, and should only be used from the isMatcher/1 methods in the concrete subclasses of this class.
method - The method to be tested.offset - How many parameter positions should be skipped?
public Script shorten(Object optSelf, String aVerb, Object[] args)
optSelf - If present, then a script could shorten using
instance-specific data.aVerb - Must be internedargs - Typically, only its arity is used. But OverloaderNode uses
the types of the arguments to select among Java overloads.
abstract Object innerExecute(Object self, Object[] pair)
execute(java.lang.Object, java.lang.String, java.lang.Object[]) that's specific to a particular kind of
JavaMatcher.
self - The object whose matcher is being invoked.pair - A pair of a String and a ConstList, representing the
verb and args of the original message, respectively.public Object execute(Object self, String aVerb, Object[] args)
public void protocol(Object optSelf, FlexList mTypes)
public boolean respondsTo(Object optSelf, String verb, int arity)
respondsTo in interface ScriptoptSelf - verb - arity -
abstract String explain()
public void subPrintOn(TextWriter out, int priority) throws IOException
public String toString()
public void traceOn(TextWriter out) throws IOException
traceOn in interface EStackItem