kmy.jint.util
Class ClassUtilities
java.lang.Object
|
+--kmy.jint.util.ClassUtilities
- public class ClassUtilities
- extends java.lang.Object
- implements DefinitionConst
Fields inherited from interface kmy.jint.constants.DefinitionConst |
ABSTRACT_FLAG,
ACC_ABSTRACT,
ACC_FINAL,
ACC_INTERFACE,
ACC_MASK,
ACC_NATIVE,
ACC_PRIVATE,
ACC_PROTECTED,
ACC_PUBLIC,
ACC_STATIC,
ACC_SUPER,
ACC_SYNCHRONIZED,
ACC_TRANSIENT,
ACC_VOLATILE,
CONST_FLAG,
EXPLICIT_FLAG,
FINAL_FLAG,
INTERFACE_FLAG,
METHOD_SCOPE_FLAG,
MUST_BE_CLASS_FLAG,
NATIVE_FLAG,
PACKAGE_PRIVATE_FLAG,
PRIVATE_FLAG,
PROTECTED_FLAG,
PUBLIC_FLAG,
SCRIPT_STYLE_FLAG,
SELF_USED_FLAG,
STATIC_FLAG,
STRICT_FLAG,
SYNCHRONIZED_FLAG,
TRANSIENT_FLAG,
VOLATILE_FLAG,
WHERE_FLAG,
WORLD_FLAG |
Method Summary |
private int |
argListMatch(java.lang.Object[] actual,
java.lang.Object[] formal)
|
private int |
compareClasses(int prev,
java.lang.Object c1,
java.lang.Object c2)
|
private int |
compareClasses(java.lang.Object class1,
java.lang.Object class2)
|
private int |
compareMethods(java.lang.Object method1,
java.lang.Object method2)
|
java.lang.Object |
findField(java.lang.Object type0,
java.lang.Object name,
java.lang.Object accessor)
|
java.util.Enumeration |
findMethod(java.lang.Object type,
java.lang.Object name,
java.lang.Object[] argTypes,
java.lang.Object accessor)
|
java.util.Enumeration |
findMethod(java.lang.Object type,
java.lang.Object name,
java.lang.Object[] argTypes,
java.lang.Object accessor,
java.util.Enumeration extraMethods,
boolean thisClassOnly)
Search for methods that match given name and parameter type list and
are accessible from a given class. |
private java.util.Enumeration |
getMethods(java.lang.Object clazz,
java.lang.Object name,
int nargs)
|
private boolean |
isFieldAccessible(java.lang.Object declaringClass,
java.lang.Object field,
java.lang.Object accessorClass)
|
private boolean |
isMemberAccessible(java.lang.Object clazz,
int modifiers,
java.lang.Object accessorClass)
|
private boolean |
isMethodAccessible(java.lang.Object method,
java.lang.Object accessorClass)
|
private boolean |
processMethods(java.lang.Object[] argTypes,
java.util.Enumeration list,
java.util.Vector acc,
java.lang.Object accessor)
|
private boolean |
samePackage(java.lang.Object clazz1,
java.lang.Object clazz2)
|
Methods inherited from class java.lang.Object |
,
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
toString,
wait,
wait,
wait |
MATCH_PERFECT
static final int MATCH_PERFECT
MATCH_OK
static final int MATCH_OK
MATCH_FAIL
static final int MATCH_FAIL
MORE_SPECIFIC
static final int MORE_SPECIFIC
LESS_SPECIFIC
static final int LESS_SPECIFIC
UNDEFINED
static final int UNDEFINED
SAME
static final int SAME
methods
ClassMethods methods
argListClass
java.lang.Object argListClass
anyClass
java.lang.Object anyClass
INIT
java.lang.Object INIT
EMPTY
static java.lang.Object[] EMPTY
ClassUtilities
public ClassUtilities(ClassMethods methods)
samePackage
private boolean samePackage(java.lang.Object clazz1,
java.lang.Object clazz2)
isMemberAccessible
private boolean isMemberAccessible(java.lang.Object clazz,
int modifiers,
java.lang.Object accessorClass)
isMethodAccessible
private boolean isMethodAccessible(java.lang.Object method,
java.lang.Object accessorClass)
isFieldAccessible
private boolean isFieldAccessible(java.lang.Object declaringClass,
java.lang.Object field,
java.lang.Object accessorClass)
argListMatch
private int argListMatch(java.lang.Object[] actual,
java.lang.Object[] formal)
compareClasses
private int compareClasses(java.lang.Object class1,
java.lang.Object class2)
compareClasses
private int compareClasses(int prev,
java.lang.Object c1,
java.lang.Object c2)
compareMethods
private int compareMethods(java.lang.Object method1,
java.lang.Object method2)
processMethods
private boolean processMethods(java.lang.Object[] argTypes,
java.util.Enumeration list,
java.util.Vector acc,
java.lang.Object accessor)
getMethods
private java.util.Enumeration getMethods(java.lang.Object clazz,
java.lang.Object name,
int nargs)
findMethod
public java.util.Enumeration findMethod(java.lang.Object type,
java.lang.Object name,
java.lang.Object[] argTypes,
java.lang.Object accessor)
findMethod
public java.util.Enumeration findMethod(java.lang.Object type,
java.lang.Object name,
java.lang.Object[] argTypes,
java.lang.Object accessor,
java.util.Enumeration extraMethods,
boolean thisClassOnly)
- Search for methods that match given name and parameter type list and
are accessible from a given class. Also looks in superclasses and
implemented interfaces unless thisClassOnly parameter is true.
- Parameters:
type
- class being searchedname
- method nameargTypes
- list of parameter typesaccessor
- accessor classextraMethods
- list of extra methods that should be consideredthisClassOnly
- if true only this class, but not its superclasses are searched
findField
public java.lang.Object findField(java.lang.Object type0,
java.lang.Object name,
java.lang.Object accessor)