public class MethodDatabase
extends java.lang.Object
Collects information about classes and their suspendable methods.
Provides access to configuration parameters and to logging
| Modifier and Type | Class and Description |
|---|---|
static class |
MethodDatabase.ClassEntry |
static class |
MethodDatabase.ExtractSuperClass |
static class |
MethodDatabase.SuspendableType |
| Constructor and Description |
|---|
MethodDatabase(QuasarInstrumentor instrumentor,
java.lang.ClassLoader classloader,
SuspendableClassifier classifier) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
checkClass(java.io.File f) |
protected MethodDatabase.ClassEntry |
checkClass(java.lang.String className) |
void |
error(java.lang.String msg,
java.lang.Throwable ex) |
MethodDatabase.ClassEntry |
getClassEntry(java.lang.String className) |
SuspendableClassifier |
getClassifier() |
java.lang.String |
getCommonSuperClass(java.lang.String classA,
java.lang.String classB) |
protected java.lang.String |
getDirectSuperClass(java.lang.String className) |
java.util.Map<java.lang.String,MethodDatabase.ClassEntry> |
getInnerClassesEntries(java.lang.String className) |
Log |
getLog() |
MethodDatabase.ClassEntry |
getOrCreateClassEntry(java.lang.String className,
java.lang.String superType) |
MethodDatabase.ClassEntry |
getOrLoadClassEntry(java.lang.String className) |
boolean |
isDebug() |
boolean |
isException(java.lang.String className) |
static boolean |
isInvocationHandlerInvocation(java.lang.String className,
java.lang.String methodName) |
static boolean |
isJDK(java.lang.String className) |
static boolean |
isMethodHandleInvocation(java.lang.String className,
java.lang.String methodName) |
MethodDatabase.SuspendableType |
isMethodSuspendable(java.lang.String className,
java.lang.String methodName,
java.lang.String methodDesc,
int opcode) |
static boolean |
isProblematicClass(java.lang.String className) |
static boolean |
isReflectInvocation(java.lang.String className,
java.lang.String methodName) |
static boolean |
isSyntheticAccess(java.lang.String className,
java.lang.String methodName) |
boolean |
isVerbose() |
void |
log(LogLevel level,
java.lang.String msg,
java.lang.Object... args) |
public MethodDatabase(QuasarInstrumentor instrumentor, java.lang.ClassLoader classloader, SuspendableClassifier classifier)
public SuspendableClassifier getClassifier()
public void log(LogLevel level, java.lang.String msg, java.lang.Object... args)
public void error(java.lang.String msg,
java.lang.Throwable ex)
public boolean isDebug()
public boolean isVerbose()
public Log getLog()
public java.lang.String checkClass(java.io.File f)
public MethodDatabase.SuspendableType isMethodSuspendable(java.lang.String className, java.lang.String methodName, java.lang.String methodDesc, int opcode)
public MethodDatabase.ClassEntry getOrLoadClassEntry(java.lang.String className)
public MethodDatabase.ClassEntry getClassEntry(java.lang.String className)
public MethodDatabase.ClassEntry getOrCreateClassEntry(java.lang.String className, java.lang.String superType)
public java.util.Map<java.lang.String,MethodDatabase.ClassEntry> getInnerClassesEntries(java.lang.String className)
public java.lang.String getCommonSuperClass(java.lang.String classA,
java.lang.String classB)
public boolean isException(java.lang.String className)
protected MethodDatabase.ClassEntry checkClass(java.lang.String className)
protected java.lang.String getDirectSuperClass(java.lang.String className)
public static boolean isReflectInvocation(java.lang.String className,
java.lang.String methodName)
public static boolean isSyntheticAccess(java.lang.String className,
java.lang.String methodName)
public static boolean isInvocationHandlerInvocation(java.lang.String className,
java.lang.String methodName)
public static boolean isMethodHandleInvocation(java.lang.String className,
java.lang.String methodName)
public static boolean isJDK(java.lang.String className)
public static boolean isProblematicClass(java.lang.String className)