Package kilim.mirrors
Class Detector
- java.lang.Object
-
- kilim.mirrors.Detector
-
public class Detector extends java.lang.ObjectUtility class to check if a method has been marked pausable
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.ArrayList<java.lang.String>EMPTY_STRINGS(package private) static java.lang.StringJAVA_LANG_OBJECTstatic intMETHOD_NOT_FOUND_OR_PAUSABLEstatic intMETHOD_NOT_PAUSABLECachedClassMirrorsmirrors(package private) CachedClassMirrors.ClassMirrorNOT_PAUSABLE(package private) CachedClassMirrors.ClassMirrorOBJECT(package private) CachedClassMirrors.ClassMirrorPAUSABLEstatic intPAUSABLE_METHOD_FOUND(package private) static java.lang.String[]STANDARD_DONT_CHECK_LIST
-
Constructor Summary
Constructors Constructor Description Detector(CachedClassMirrors mirrors)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CachedClassMirrors.ClassMirrorclassForName(java.lang.String className)CachedClassMirrors.ClassMirror[]classForNames(java.lang.String[] classNames)java.lang.StringcommonSuperType(java.lang.String oa, java.lang.String ob)private CachedClassMirrors.MethodMirrorfindPausableMethod(java.lang.String className, java.lang.String methodName, java.lang.String desc)intgetPausableStatus(java.lang.String className, java.lang.String methodName, java.lang.String desc)java.util.ArrayList<java.lang.String>getSuperClasses(java.lang.String name)(package private) static booleanisNonPausableClass(java.lang.String className)(package private) static booleanisNonPausableMethod(java.lang.String methodName)booleanisPausable(java.lang.String className, java.lang.String methodName, java.lang.String desc)private static java.lang.StringstatusToStr(int st)private static java.lang.StringtoClassName(java.lang.String s)private static java.lang.StringtoDesc(java.lang.String name)
-
-
-
Field Detail
-
METHOD_NOT_FOUND_OR_PAUSABLE
public static final int METHOD_NOT_FOUND_OR_PAUSABLE
- See Also:
- Constant Field Values
-
PAUSABLE_METHOD_FOUND
public static final int PAUSABLE_METHOD_FOUND
- See Also:
- Constant Field Values
-
METHOD_NOT_PAUSABLE
public static final int METHOD_NOT_PAUSABLE
- See Also:
- Constant Field Values
-
STANDARD_DONT_CHECK_LIST
static final java.lang.String[] STANDARD_DONT_CHECK_LIST
-
mirrors
public final CachedClassMirrors mirrors
-
NOT_PAUSABLE
CachedClassMirrors.ClassMirror NOT_PAUSABLE
-
PAUSABLE
CachedClassMirrors.ClassMirror PAUSABLE
-
OBJECT
CachedClassMirrors.ClassMirror OBJECT
-
EMPTY_STRINGS
private static final java.util.ArrayList<java.lang.String> EMPTY_STRINGS
-
JAVA_LANG_OBJECT
static java.lang.String JAVA_LANG_OBJECT
-
-
Constructor Detail
-
Detector
public Detector(CachedClassMirrors mirrors)
-
-
Method Detail
-
isPausable
public boolean isPausable(java.lang.String className, java.lang.String methodName, java.lang.String desc)
-
isNonPausableClass
static boolean isNonPausableClass(java.lang.String className)
- Returns:
- one of METHOD_NOT_FOUND, PAUSABLE_METHOD_FOUND, METHOD_NOT_PAUSABLE
-
isNonPausableMethod
static boolean isNonPausableMethod(java.lang.String methodName)
-
getPausableStatus
public int getPausableStatus(java.lang.String className, java.lang.String methodName, java.lang.String desc)
-
classForName
public CachedClassMirrors.ClassMirror classForName(java.lang.String className) throws ClassMirrorNotFoundException
- Throws:
ClassMirrorNotFoundException
-
classForNames
public CachedClassMirrors.ClassMirror[] classForNames(java.lang.String[] classNames) throws ClassMirrorNotFoundException
- Throws:
ClassMirrorNotFoundException
-
findPausableMethod
private CachedClassMirrors.MethodMirror findPausableMethod(java.lang.String className, java.lang.String methodName, java.lang.String desc) throws ClassMirrorNotFoundException
- Throws:
ClassMirrorNotFoundException
-
statusToStr
private static java.lang.String statusToStr(int st)
-
commonSuperType
public java.lang.String commonSuperType(java.lang.String oa, java.lang.String ob) throws ClassMirrorNotFoundException- Throws:
ClassMirrorNotFoundException
-
getSuperClasses
public java.util.ArrayList<java.lang.String> getSuperClasses(java.lang.String name) throws ClassMirrorNotFoundException- Throws:
ClassMirrorNotFoundException
-
toDesc
private static java.lang.String toDesc(java.lang.String name)
-
toClassName
private static java.lang.String toClassName(java.lang.String s)
-
-