public class JVMClassInfo extends ClassInfo
allInterfaces, attributor, classFileUrl, classLoader, container, elementInfoAttrs, enableAssertions, enclosingClassName, enclosingMethodName, fieldsFactory, finalizer, genericSignature, id, iFields, INITIALIZED, innerClassNames, instanceDataOffset, instanceDataSize, interfaceNames, interfaces, isAbstract, isArray, isBuiltin, isClass, isEnum, isObjectClassInfo, isRefClassInfo, isReferenceArray, isStringClassInfo, isThreadClassInfo, isWeakReference, methods, name, nInstanceFields, packageName, releaseActions, sFields, signature, source, sourceFileName, staticDataSize, superClass, superClassName, thisClassLoader, UNINITIALIZED, uniqueId
annotations, attr
Modifier | Constructor and Description |
---|---|
protected |
JVMClassInfo(ClassInfo ciAnnotation,
String proxyName,
ClassLoaderInfo cli,
String url) |
protected |
JVMClassInfo(ClassParser parser) |
|
JVMClassInfo(String name,
ClassLoaderInfo classLoader,
ClassParser parser,
String classFileUrl) |
Modifier and Type | Method and Description |
---|---|
protected ClassInfo |
createAnnotationProxy(String proxyName) |
DirectCallStackFrame |
createDirectCallStackFrame(ThreadInfo ti,
MethodInfo miCallee,
int nLocals) |
DirectCallStackFrame |
createRunStartStackFrame(ThreadInfo ti,
MethodInfo miRun)
while this is a normal DirectCallStackFrame, it has different code which has to be created here
|
StackFrame |
createStackFrame(ThreadInfo ti,
MethodInfo callee) |
protected void |
setAnnotationValueGetterCode(MethodInfo pmi,
FieldInfo fi)
to be called from super proxy ctor
this needs to be in the VM specific ClassInfo because we need to create code
|
protected void |
setDirectCallCode(MethodInfo miDirectCall,
MethodInfo miCallee) |
protected void |
setNativeCallCode(NativeMethodInfo miNative) |
protected void |
setRunStartCode(MethodInfo miRun,
MethodInfo miStub) |
addElementInfoAttr, addReleaseAction, areAssertionsEnabled, checkInheritedAnnotations, checkNoClinitInitialization, cloneFor, computeClassFileUrl, computeSourceFileName, createInstanceFields, declaredMethodIterator, desiredAssertionStatus, equals, getAllInterfaceClassInfos, getAllInterfaces, getAnnotation, getAnnotationProxy, getAnnotations, getClassFileUrl, getClassInfo, getClassLoaderInfo, getClassObject, getClassObjectRef, getClinit, getComponentClassInfo, getContainer, getDeclaredInstanceField, getDeclaredInstanceField, getDeclaredInstanceFields, getDeclaredMethodInfos, getDeclaredStaticField, getDeclaredStaticFields, getDirectInterfaceNames, getElementInfoAttrs, getEnclosingClassInfo, getEnclosingClassName, getEnclosingMethodInfo, getEnclosingMethodName, getFieldAttrs, getFinalizer, getFinalizer0, getGenericSignature, getId, getInitializedClassInfo, getInitializedSystemClassInfo, getInnerClasses, getInnerClassInfos, getInstanceDataSize, getInstanceField, getInstanceField, getInstanceFields, getInterfaceClassInfos, getMatchingInstructions, getMatchingMethodInfos, getMethod, getMethod, getModifiableClassObject, getModifiableStaticElementInfo, getModifiers, getName, getNativePeer, getNumberOfDeclaredInstanceFields, getNumberOfInstanceFields, getNumberOfLoadedClasses, getNumberOfStaticFields, getPackageName, getReflectionMethod, getResolvedAnnotationInfo, getSignature, getSimpleName, getSource, getSourceFileName, getStaticDataSize, getStaticElementInfo, getStaticField, getStaticField, getStaticFieldName, getStaticFieldValueObject, getStatics, getSuperClass, getSuperClass, getSuperClassName, getType, getUniqueId, hasAnnotations, hasCtors, hashCode, hasInnerClass, hasInstanceFieldInfoAttr, hasInstanceFields, hasReleaseAction, initializeClass, isAbstract, isArray, isBoxClass, isBuiltin, isEnum, isEnum0, isInitialized, isInitializing, isInnerClassOf, isInstanceOf, isInstanceOf, isInterface, isObjectClassInfo, isObjectClassInfo, isObjectClassInfo0, isPrimitive, isRefClassInfo0, isReferenceArray, isReferenceClassInfo, isRegistered, isResolved, isStaticMethodAbstractionDeterministic, isStringClassInfo, isStringClassInfo, isStringClassInfo0, isSystemClass, isThreadClassInfo, isThreadClassInfo0, isWeakReference, isWeakReference0, iterator, linkFields, linkFields, loadArrayInterfaces, loadBuiltinInterfaces, loadInterfaces, loadNativePeer, loadSource, loadSuperClass, makeModelClassPath, matchDeclaredMethods, matchMethods, needsInitialization, processReleaseActions, pushClinit, pushRequiredClinits, putDeclaredMethod, registerClass, resolveClass, resolveReferencedClass, setAnnotations, setAssertionStatus, setClass, setContainer, setElementInfoAttrs, setEnclosingClass, setEnclosingMethod, setFields, setGenericSignature, setInitialized, setInitializing, setInnerClassNames, setInterfaceNames, setMethods, setSourceFile, toString
addAnnotation, addAttr, attrIterator, attrIterator, getAttr, getAttr, getDeclaredAnnotations, getNextAttr, hasAttr, hasAttr, hasAttrValue, removeAttr, replaceAttr, setAttr
public JVMClassInfo(String name, ClassLoaderInfo classLoader, ClassParser parser, String classFileUrl) throws ClassParseException
ClassParseException
protected JVMClassInfo(ClassInfo ciAnnotation, String proxyName, ClassLoaderInfo cli, String url)
protected JVMClassInfo(ClassParser parser) throws ClassParseException
ClassParseException
protected ClassInfo createAnnotationProxy(String proxyName)
createAnnotationProxy
in class ClassInfo
protected void setAnnotationValueGetterCode(MethodInfo pmi, FieldInfo fi)
setAnnotationValueGetterCode
in class ClassInfo
protected void setDirectCallCode(MethodInfo miDirectCall, MethodInfo miCallee)
setDirectCallCode
in class ClassInfo
protected void setNativeCallCode(NativeMethodInfo miNative)
setNativeCallCode
in class ClassInfo
protected void setRunStartCode(MethodInfo miRun, MethodInfo miStub)
setRunStartCode
in class ClassInfo
public StackFrame createStackFrame(ThreadInfo ti, MethodInfo callee)
createStackFrame
in class ClassInfo
public DirectCallStackFrame createDirectCallStackFrame(ThreadInfo ti, MethodInfo miCallee, int nLocals)
createDirectCallStackFrame
in class ClassInfo
public DirectCallStackFrame createRunStartStackFrame(ThreadInfo ti, MethodInfo miRun)
createRunStartStackFrame
in class ClassInfo