public class InstanceKlass extends Klass
Modifier and Type | Class and Description |
---|---|
static class |
InstanceKlass.ClassState |
static interface |
InstanceKlass.EnclosingMethodAttributeOffset |
static interface |
InstanceKlass.InnerClassAttributeOffset |
static class |
InstanceKlass.StaticField |
LH_ARRAY_TAG_OBJ_VALUE, LH_ARRAY_TAG_SHIFT, LH_ARRAY_TAG_TYPE_VALUE, LH_ELEMENT_TYPE_SHIFT, LH_HEADER_SIZE_SHIFT, LH_INSTANCE_SLOW_PATH_BIT, LH_LOG2_ELEMENT_SIZE_SHIFT
JVM_ACC_ABSTRACT, JVM_ACC_ANNOTATION, JVM_ACC_BRIDGE, JVM_ACC_ENUM, JVM_ACC_FIELD_ACCESS_WATCHED, JVM_ACC_FIELD_FLAGS, JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE, JVM_ACC_FIELD_MODIFICATION_WATCHED, JVM_ACC_FINAL, JVM_ACC_HAS_CHECKED_EXCEPTIONS, JVM_ACC_HAS_FINALIZER, JVM_ACC_HAS_JSRS, JVM_ACC_HAS_LINE_NUMBER_TABLE, JVM_ACC_HAS_LOCAL_VARIABLE_TABLE, JVM_ACC_HAS_LOOPS, JVM_ACC_HAS_MIRANDA_METHODS, JVM_ACC_HAS_MONITOR_BYTECODES, JVM_ACC_HAS_VANILLA_CONSTRUCTOR, JVM_ACC_INTERFACE, JVM_ACC_IS_CLONEABLE, JVM_ACC_IS_OBSOLETE, JVM_ACC_LOOPS_FLAG_INIT, JVM_ACC_MONITOR_MATCH, JVM_ACC_NATIVE, JVM_ACC_NOT_OSR_COMPILABLE, JVM_ACC_PRIVATE, JVM_ACC_PROMOTED_FLAGS, JVM_ACC_PROTECTED, JVM_ACC_PUBLIC, JVM_ACC_QUEUED, JVM_ACC_STATIC, JVM_ACC_STRICT, JVM_ACC_SUPER, JVM_ACC_SYNCHRONIZED, JVM_ACC_SYNTHETIC, JVM_ACC_TRANSIENT, JVM_ACC_VARARGS, JVM_ACC_VOLATILE, JVM_ACC_WRITTEN_FLAGS, JVM_CONSTANT_Class, JVM_CONSTANT_ClassIndex, JVM_CONSTANT_Double, JVM_CONSTANT_Fieldref, JVM_CONSTANT_Float, JVM_CONSTANT_Integer, JVM_CONSTANT_InterfaceMethodref, JVM_CONSTANT_Invalid, JVM_CONSTANT_InvokeDynamic, JVM_CONSTANT_Long, JVM_CONSTANT_MethodHandle, JVM_CONSTANT_MethodHandleInError, JVM_CONSTANT_Methodref, JVM_CONSTANT_MethodType, JVM_CONSTANT_MethodTypeInError, JVM_CONSTANT_NameAndType, JVM_CONSTANT_String, JVM_CONSTANT_StringIndex, JVM_CONSTANT_Unicode, JVM_CONSTANT_UnresolvedClass, JVM_CONSTANT_UnresolvedClassInError, JVM_CONSTANT_Utf8, JVM_RECOGNIZED_CLASS_MODIFIERS, JVM_RECOGNIZED_FIELD_MODIFIERS, JVM_RECOGNIZED_METHOD_MODIFIERS, JVM_REF_getField, JVM_REF_getStatic, JVM_REF_invokeInterface, JVM_REF_invokeSpecial, JVM_REF_invokeStatic, JVM_REF_invokeVirtual, JVM_REF_newInvokeSpecial, JVM_REF_putField, JVM_REF_putStatic, MAJOR_VERSION, MAJOR_VERSION_OLD, MINOR_VERSION, MINOR_VERSION_OLD
Constructor and Description |
---|
InstanceKlass(Address addr) |
Modifier and Type | Method and Description |
---|---|
Klass |
arrayKlassImpl(boolean orNull) |
Klass |
arrayKlassImpl(boolean orNull,
int n) |
long |
computeModifierFlags() |
void |
dumpReplayData(java.io.PrintStream out) |
Field |
findField(java.lang.String name,
java.lang.String sig)
Find field according to JVM spec 5.4.3.2, returns the klass in
which the field is defined (convenience routine)
|
Field |
findField(Symbol name,
Symbol sig)
Find field according to JVM spec 5.4.3.2, returns the klass in
which the field is defined.
|
Field |
findFieldDbg(java.lang.String name,
java.lang.String sig)
Find field according to JVM spec 5.4.3.2, returns the klass in
which the field is defined (retained only for backward
compatibility with jdbx)
|
Field |
findInterfaceField(Symbol name,
Symbol sig)
Find field in direct superinterfaces.
|
Field |
findLocalField(Symbol name,
Symbol sig)
Field access by name.
|
Method |
findMethod(java.lang.String name,
java.lang.String sig)
Convenience routine taking Strings; lookup is done in
SymbolTable.
|
Method |
findMethod(Symbol name,
Symbol sig)
Find method in vtable.
|
java.util.List |
getAllFields()
Return a List of SA Fields for all the java fields in this class,
including all inherited fields.
|
int |
getAllFieldsCount() |
Klass |
getArrayKlasses() |
BreakpointInfo |
getBreakpoints()
Breakpoint support (see methods on Method* for details)
|
Oop |
getClassLoader() |
ClassLoaderData |
getClassLoaderData() |
int |
getClassStatus() |
ConstantPool |
getConstants() |
java.util.List |
getDirectImplementedInterfaces()
Return a List containing an SA InstanceKlass for each
interface named in this class's 'implements' clause.
|
short |
getFieldAccessFlags(int index) |
Field |
getFieldByIndex(int fieldIndex)
Get field by its index in the fields array.
|
Symbol |
getFieldGenericSignature(int index) |
short |
getFieldGenericSignatureIndex(int index) |
short |
getFieldInitialValueIndex(int index) |
Symbol |
getFieldName(int index) |
short |
getFieldNameIndex(int index) |
int |
getFieldOffset(int index) |
U2Array |
getFields() |
Symbol |
getFieldSignature(int index) |
short |
getFieldSignatureIndex(int index) |
Symbol |
getGenericSignature() |
static long |
getHeaderSize() |
java.util.List |
getImmediateFields()
Return a List of SA Fields for the fields declared in this class.
|
java.util.List |
getImmediateMethods()
Return a List of SA Methods declared directly in this class/interface.
|
InstanceKlass.ClassState |
getInitState() |
int |
getInitStateAsInt() |
U2Array |
getInnerClasses() |
boolean |
getIsMarkedDependent() |
long |
getItableLen() |
int |
getJavaFieldsCount() |
Klass |
getJavaSuper() |
KlassArray |
getLocalInterfaces() |
IntArray |
getMethodOrdering() |
MethodArray |
getMethods() |
long |
getNonstaticFieldSize() |
long |
getNonstaticOopMapSize() |
long |
getObjectSize(Oop object) |
long |
getSize() |
long |
getSizeHelper() |
java.lang.String |
getSourceDebugExtension() |
Symbol |
getSourceFileName() |
Field[] |
getStaticFields() |
long |
getStaticOopFieldCount() |
KlassArray |
getTransitiveInterfaces() |
long |
getVtableLen() |
boolean |
implementsInterface(Klass k) |
boolean |
isBeingInitialized() |
boolean |
isInErrorState() |
boolean |
isInitialized() |
boolean |
isInnerClassName(Symbol sym) |
boolean |
isInnerOrLocalClassName(Symbol sym) |
boolean |
isLinked() |
boolean |
isLoaded() |
boolean |
isNotInitialized() |
void |
iterateFields(MetadataVisitor visitor) |
void |
iterateNonStaticFields(OopVisitor visitor,
Oop obj) |
void |
iterateStaticFields(OopVisitor visitor) |
long |
majorVersion() |
long |
minorVersion() |
void |
printValueOn(java.io.PrintStream tty) |
java.lang.String |
signature() |
arrayKlass, arrayKlass, arrayKlassOrNull, arrayKlassOrNull, getAccessFlags, getAccessFlagsObj, getClassModifiers, getJavaMirror, getLayoutHelper, getName, getNextSiblingKlass, getObjectSize, getSubklassKlass, getSuper, getSymbol, hasFinalizer, hasMirandaMethods, hasVanillaConstructor, isAbstract, isCloneable, isFinal, isInterface, isKlass, isPublic, isSubclassOf, isSubtypeOf, isSuper, isSynthetic, lca, traceID
instantiateWrapperFor, iterate
equals, getAddress, hashCode, toString
public InstanceKlass(Address addr)
public int getInitStateAsInt()
public InstanceKlass.ClassState getInitState()
public boolean isLoaded()
public boolean isLinked()
public boolean isInitialized()
public boolean isNotInitialized()
public boolean isBeingInitialized()
public boolean isInErrorState()
public int getClassStatus()
getClassStatus
in class Klass
public long getObjectSize(Oop object)
public long getSize()
public static long getHeaderSize()
public short getFieldAccessFlags(int index)
public short getFieldNameIndex(int index)
public Symbol getFieldName(int index)
public short getFieldSignatureIndex(int index)
public Symbol getFieldSignature(int index)
public short getFieldGenericSignatureIndex(int index)
public Symbol getFieldGenericSignature(int index)
public short getFieldInitialValueIndex(int index)
public int getFieldOffset(int index)
public Klass getArrayKlasses()
public MethodArray getMethods()
public KlassArray getLocalInterfaces()
public KlassArray getTransitiveInterfaces()
public int getJavaFieldsCount()
public int getAllFieldsCount()
public ConstantPool getConstants()
public ClassLoaderData getClassLoaderData()
public Oop getClassLoader()
public Symbol getSourceFileName()
public java.lang.String getSourceDebugExtension()
public long getNonstaticFieldSize()
public long getStaticOopFieldCount()
public long getNonstaticOopMapSize()
public boolean getIsMarkedDependent()
public long getVtableLen()
public long getItableLen()
public long majorVersion()
public long minorVersion()
public Symbol getGenericSignature()
public long getSizeHelper()
public long computeModifierFlags()
computeModifierFlags
in class Klass
public boolean isInnerClassName(Symbol sym)
public boolean isInnerOrLocalClassName(Symbol sym)
public boolean implementsInterface(Klass k)
public void printValueOn(java.io.PrintStream tty)
printValueOn
in class Klass
public void iterateFields(MetadataVisitor visitor)
iterateFields
in class Klass
public void iterateStaticFields(OopVisitor visitor)
public Klass getJavaSuper()
getJavaSuper
in class Klass
public Field[] getStaticFields()
public void iterateNonStaticFields(OopVisitor visitor, Oop obj)
public Field findInterfaceField(Symbol name, Symbol sig)
public Field findField(Symbol name, Symbol sig)
public Field findField(java.lang.String name, java.lang.String sig)
public Field findFieldDbg(java.lang.String name, java.lang.String sig)
public Field getFieldByIndex(int fieldIndex)
public java.util.List getImmediateFields()
public java.util.List getAllFields()
public java.util.List getImmediateMethods()
public java.util.List getDirectImplementedInterfaces()
public Klass arrayKlassImpl(boolean orNull, int n)
arrayKlassImpl
in class Klass
public Klass arrayKlassImpl(boolean orNull)
arrayKlassImpl
in class Klass
public Method findMethod(java.lang.String name, java.lang.String sig)
public BreakpointInfo getBreakpoints()
public IntArray getMethodOrdering()
public U2Array getFields()
public U2Array getInnerClasses()
public void dumpReplayData(java.io.PrintStream out)
dumpReplayData
in class Metadata
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.