gnu.kawa.reflect
Class ClassMethods
- Named
public class ClassMethods
static MethodProc | apply(ObjectType dtype, String mname, char mode, Language language) - Find methods.
|
static MethodProc | apply(Procedure thisProc, Object arg0, Object arg1)
|
Object | apply2(Object arg0, Object arg1) - Create a method or generic of the matching methods.
|
static PrimProcedure[] | getMethods(ObjectType dtype, String mname, char mode, ClassType caller, Language language) - Return the methods of a class with the specified name and flag.
|
static long | selectApplicable(PrimProcedure[] methods, Type[] atypes) - Re-order the methods such that the ones that are definite
applicable (all argtypes is subset of parameter type) are first;
those possibly applicable next (argtype overlaps parameter types);
and ending with those definitely not applicable (some argtype does
overlap its parameter type).
|
apply , apply , apply0 , apply1 , apply2 , apply3 , apply4 , applyN , check0 , check1 , check2 , check3 , check4 , checkArgCount , checkN , getSetter , getSourceLocation , match0 , match1 , match2 , match3 , match4 , matchN , maxArgs , minArgs , numArgs , set0 , set1 , setN , setSetter , setSourceLocation , toString |
apply
public static MethodProc apply(ObjectType dtype,
String mname,
char mode,
Language language)
Find methods.
dtype
- class to searchmname
- method name (already mangled, if need be).mode
- one of 'P' (use invokespecial). 'V' (require this argument
even if method is static), or '\0' (otherwise).
apply2
public Object apply2(Object arg0,
Object arg1)
Create a method or generic of the matching methods.
- apply2 in interface Procedure2
arg0
- a Class, ClassType, or a String, FString or Symbol
that names a class.arg1
- a method name (a String, FString, or Symbol)
Loosely the same as GetNamedPart.make(arg0, arg1),
but with some extra conversions and checks.
getMethods
public static PrimProcedure[] getMethods(ObjectType dtype,
String mname,
char mode,
ClassType caller,
Language language)
Return the methods of a class with the specified name and flag.
caller
- if non-null, check that methods are accessible in it.
- an array containing the methods.
selectApplicable
public static long selectApplicable(PrimProcedure[] methods,
Type[] atypes)
Re-order the methods such that the ones that are definite
applicable (all argtypes is subset of parameter type) are first;
those possibly applicable next (argtype overlaps parameter types);
and ending with those definitely not applicable (some argtype does
overlap its parameter type).
- ((number of definitely applicable methods) << 32
+ (number of possibly applicable methods.