blob: 51071f75a25de799ceb547ad4a1c238b08050148 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>JavaClass (OpenJ9 JDK 16)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: module: openj9.dtfj, package: com.ibm.dtfj.java.j9, class: JavaClass">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="com.ibm.dtfj.java.j9.JavaClass class">
<meta name="keywords" content="getName()">
<meta name="keywords" content="getSuperclass()">
<meta name="keywords" content="isArray()">
<meta name="keywords" content="getComponentType()">
<meta name="keywords" content="getDeclaredFields()">
<meta name="keywords" content="getDeclaredMethods()">
<meta name="keywords" content="getConstantPoolReferences()">
<meta name="keywords" content="addConstantPoolClassRef()">
<meta name="keywords" content="getInstanceSize()">
<meta name="keywords" content="getFilename()">
<meta name="keywords" content="createNewField()">
<meta name="keywords" content="createNewMethod()">
<meta name="keywords" content="createConstantPoolObjectRef()">
<meta name="keywords" content="createNewStaticField()">
<meta name="keywords" content="toString()">
<meta name="keywords" content="getReferences()">
<meta name="keywords" content="isAncestorOf()">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar.top">
<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 16</strong></div></div>
<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/JavaClass.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!-- -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">openj9.dtfj</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.dtfj.java.j9</a></div>
<h1 title="Class JavaClass" class="title">Class JavaClass</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">java.lang.Object</a>
<div class="inheritance"><a href="JavaAbstractClass.html" title="class in com.ibm.dtfj.java.j9">com.ibm.dtfj.java.j9.JavaAbstractClass</a>
<div class="inheritance">com.ibm.dtfj.java.j9.JavaClass</div>
</div>
</div>
<section class="description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">JavaClass</span>
<span class="extends-implements">extends <a href="JavaAbstractClass.html" title="class in com.ibm.dtfj.java.j9">JavaAbstractClass</a></span></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field.summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.com.ibm.dtfj.java.j9.JavaAbstractClass">Fields declared in class&nbsp;com.ibm.dtfj.java.j9.<a href="JavaAbstractClass.html" title="class in com.ibm.dtfj.java.j9">JavaAbstractClass</a></h3>
<code><a href="JavaAbstractClass.html#_classPointer">_classPointer</a>, <a href="JavaAbstractClass.html#_javaVM">_javaVM</a></code></div>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.com.ibm.dtfj.java.JavaClass">Fields declared in interface&nbsp;com.ibm.dtfj.java.<a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></h3>
<code><a href="../JavaClass.html#MODIFIERS_UNAVAILABLE">MODIFIERS_UNAVAILABLE</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor.summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(com.ibm.dtfj.java.j9.JavaRuntime,com.ibm.dtfj.image.ImagePointer,long,java.lang.String,int,long,int,int,java.lang.String,com.ibm.dtfj.image.ImagePointer,int)">JavaClass</a></span>&#8203;(<a href="JavaRuntime.html" title="class in com.ibm.dtfj.java.j9">JavaRuntime</a>&nbsp;vm,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;classPointer,
long&nbsp;superClassID,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;name,
int&nbsp;instanceSize,
long&nbsp;classLoaderID,
int&nbsp;modifiers,
int&nbsp;flagOffset,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;fileName,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;objectID,
int&nbsp;hashcodeSlot)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addConstantPoolClassRef(long)">addConstantPoolClassRef</a></span>&#8203;(long&nbsp;id)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">The constant pool consists of class IDs and object instances.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createConstantPoolObjectRef(long)">createConstantPoolObjectRef</a></span>&#8203;(long&nbsp;id)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createNewField(java.lang.String,java.lang.String,int,int,long)">createNewField</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;sig,
int&nbsp;modifiers,
int&nbsp;offset,
long&nbsp;classID)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="JavaMethod.html" title="class in com.ibm.dtfj.java.j9">JavaMethod</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createNewMethod(long,java.lang.String,java.lang.String,int)">createNewMethod</a></span>&#8203;(long&nbsp;id,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;signature,
int&nbsp;modifiers)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#createNewStaticField(java.lang.String,java.lang.String,int,java.lang.String)">createNewStaticField</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;sig,
int&nbsp;modifiers,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getComponentType()">getComponentType</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">For array classes, returns a JavaClass representing the component type of this array class.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getConstantPoolReferences()">getConstantPoolReferences</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Java classes may refer to other classes and to String objects via
the class's constant pool.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getDeclaredFields()">getDeclaredFields</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the set of fields declared in this class.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getDeclaredMethods()">getDeclaredMethods</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the set of methods declared in this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getFilename()">getFilename</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>long</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getInstanceSize()">getInstanceSize</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Returns the size in bytes of an instance of this class on the heap.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getInstanceSize(com.ibm.dtfj.java.JavaObject)">getInstanceSize</a></span>&#8203;(<a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a>&nbsp;instance)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getName()">getName</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the name of the class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getReferences()">getReferences</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the set of references from this class.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getSuperclass()">getSuperclass</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the immediate superclass of this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#isAncestorOf(com.ibm.dtfj.java.JavaClass)">isAncestorOf</a></span>&#8203;(<a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a>&nbsp;theClass)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#isArray()">isArray</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Is this an array class ?</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.com.ibm.dtfj.java.j9.JavaAbstractClass">Methods declared in class&nbsp;com.ibm.dtfj.java.j9.<a href="JavaAbstractClass.html" title="class in com.ibm.dtfj.java.j9">JavaAbstractClass</a></h3>
<code><a href="JavaAbstractClass.html#addClassLoaderReference(java.util.Collection)">addClassLoaderReference</a>, <a href="JavaAbstractClass.html#addClassObjectReference(java.util.Collection)">addClassObjectReference</a>, <a href="JavaAbstractClass.html#addInterfaceName(java.lang.String)">addInterfaceName</a>, <a href="JavaAbstractClass.html#addSuperclassReference(java.util.Collection)">addSuperclassReference</a>, <a href="JavaAbstractClass.html#equals(java.lang.Object)">equals</a>, <a href="JavaAbstractClass.html#getClassLoader()">getClassLoader</a>, <a href="JavaAbstractClass.html#getHashcodeSlotSize()">getHashcodeSlotSize</a>, <a href="JavaAbstractClass.html#getID()">getID</a>, <a href="JavaAbstractClass.html#getInterfaces()">getInterfaces</a>, <a href="JavaAbstractClass.html#getModifiers()">getModifiers</a>, <a href="JavaAbstractClass.html#getObject()">getObject</a>, <a href="JavaAbstractClass.html#getProtectionDomain()">getProtectionDomain</a>, <a href="JavaAbstractClass.html#hashCode()">hashCode</a>, <a href="JavaAbstractClass.html#readFlagsFromInstance(com.ibm.dtfj.java.JavaObject)">readFlagsFromInstance</a></code></div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.lang.Object">Methods declared in class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link" target="_blank">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" target="_blank">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link" target="_blank">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link" target="_blank">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" target="_blank">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link" target="_blank">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link" target="_blank">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link" target="_blank">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link" target="_blank">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor.detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(com.ibm.dtfj.java.j9.JavaRuntime,com.ibm.dtfj.image.ImagePointer,long,java.lang.String,int,long,int,int,java.lang.String,com.ibm.dtfj.image.ImagePointer,int)">
<h3>JavaClass</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">JavaClass</span>&#8203;<span class="parameters">(<a href="JavaRuntime.html" title="class in com.ibm.dtfj.java.j9">JavaRuntime</a>&nbsp;vm,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;classPointer,
long&nbsp;superClassID,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;name,
int&nbsp;instanceSize,
long&nbsp;classLoaderID,
int&nbsp;modifiers,
int&nbsp;flagOffset,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;fileName,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;objectID,
int&nbsp;hashcodeSlot)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></span>&nbsp;<span class="element-name">getName</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getName()">JavaClass</a></code></span></div>
<div class="block">Get the name of the class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the name of the class in the form: "full/package/class$innerclass"</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSuperclass()">
<h3>getSuperclass</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></span>&nbsp;<span class="element-name">getSuperclass</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getSuperclass()">JavaClass</a></code></span></div>
<div class="block">Get the immediate superclass of this class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the immediate superclass of this class, or null if this
class has no superclass. For interfaces, Object, primitive types
and void null is always returned.</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isArray()">
<h3>isArray</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isArray</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#isArray()">JavaClass</a></code></span></div>
<div class="block">Is this an array class ?</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if this class is an array class</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getComponentType()">
<h3>getComponentType</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></span>&nbsp;<span class="element-name">getComponentType</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getComponentType()">JavaClass</a></code></span></div>
<div class="block">For array classes, returns a JavaClass representing the component type of this array class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a JavaClass representing the component type of this array class</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDeclaredFields()">
<h3>getDeclaredFields</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getDeclaredFields</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getDeclaredFields()">JavaClass</a></code></span></div>
<div class="block">Get the set of fields declared in this class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an iterator over the collection of fields declared
in this class.</dd>
<dt>See Also:</dt>
<dd><a href="../JavaField.html" title="interface in com.ibm.dtfj.java"><code>JavaField</code></a>,
<a href="../../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDeclaredMethods()">
<h3>getDeclaredMethods</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getDeclaredMethods</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getDeclaredMethods()">JavaClass</a></code></span></div>
<div class="block">Get the set of methods declared in this class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an iterator over the collection of methods declared
in this class.</dd>
<dt>See Also:</dt>
<dd><a href="../JavaMethod.html" title="interface in com.ibm.dtfj.java"><code>JavaMethod</code></a>,
<a href="../../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getConstantPoolReferences()">
<h3>getConstantPoolReferences</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getConstantPoolReferences</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getConstantPoolReferences()">JavaClass</a></code></span></div>
<div class="block">Java classes may refer to other classes and to String objects via
the class's constant pool. These references are followed by the
garbage collector, forming edges on the graph of reachable objects.
This getConstantPoolReferences() may be used to determine which
objects are referred to by the receiver's constant pool.
<p>
Although Java VMs typically permit only Class and String
objects in the constant pool, some esoteric or future virtual
machines may permit other types of objects to occur in the constant
pool. This API imposes no restrictions on the types of JavaObjects
which might be included in the Iterator.
<p>
No assumption should be made about the order in which constant
pool references are returned.
<p>
Classes may also refer to objects through static variables.
These may be found with the getDeclaredFields() API. Objects
referenced by static variables are not returned by
getConstantPoolReferences() unless the object is also referenced
by the constant pool.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an iterator over the collection of JavaObjects which
are referred to by the constant pool of this class</dd>
<dt>See Also:</dt>
<dd><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java"><code>JavaObject</code></a>,
<a href="../../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addConstantPoolClassRef(long)">
<h3>addConstantPoolClassRef</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addConstantPoolClassRef</span>&#8203;<span class="parameters">(long&nbsp;id)</span></div>
<div class="block">The constant pool consists of class IDs and object instances. This is how the class IDs are added</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>id</code> - </dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getInstanceSize(com.ibm.dtfj.java.JavaObject)">
<h3>getInstanceSize</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getInstanceSize</span>&#8203;<span class="parameters">(<a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a>&nbsp;instance)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="JavaAbstractClass.html#getInstanceSize(com.ibm.dtfj.java.JavaObject)">getInstanceSize</a></code>&nbsp;in class&nbsp;<code><a href="JavaAbstractClass.html" title="class in com.ibm.dtfj.java.j9">JavaAbstractClass</a></code></dd>
<dt>Parameters:</dt>
<dd><code>instance</code> - The instance is needed for array types to calculate the size of a per-instance basis</dd>
<dt>Returns:</dt>
<dd>The size, in bytes, of an instance of this class (required for iterating the heap)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getFilename()">
<h3>getFilename</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></span>&nbsp;<span class="element-name">getFilename</span>()
throws <span class="exceptions"><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a>,
<a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code></dd>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createNewField(java.lang.String,java.lang.String,int,int,long)">
<h3>createNewField</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createNewField</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;sig,
int&nbsp;modifiers,
int&nbsp;offset,
long&nbsp;classID)</span></div>
</section>
</li>
<li>
<section class="detail" id="createNewMethod(long,java.lang.String,java.lang.String,int)">
<h3>createNewMethod</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="JavaMethod.html" title="class in com.ibm.dtfj.java.j9">JavaMethod</a></span>&nbsp;<span class="element-name">createNewMethod</span>&#8203;<span class="parameters">(long&nbsp;id,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;signature,
int&nbsp;modifiers)</span></div>
</section>
</li>
<li>
<section class="detail" id="createConstantPoolObjectRef(long)">
<h3>createConstantPoolObjectRef</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createConstantPoolObjectRef</span>&#8203;<span class="parameters">(long&nbsp;id)</span></div>
</section>
</li>
<li>
<section class="detail" id="createNewStaticField(java.lang.String,java.lang.String,int,java.lang.String)">
<h3>createNewStaticField</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createNewStaticField</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;sig,
int&nbsp;modifiers,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;value)</span></div>
</section>
</li>
<li>
<section class="detail" id="getReferences()">
<h3>getReferences</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getReferences</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getReferences()">JavaClass</a></code></span></div>
<div class="block">Get the set of references from this class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an iterator of JavaReferences</dd>
<dt>See Also:</dt>
<dd><a href="../JavaReference.html" title="interface in com.ibm.dtfj.java"><code>JavaReference</code></a>,
<a href="../../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isAncestorOf(com.ibm.dtfj.java.JavaClass)">
<h3>isAncestorOf</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isAncestorOf</span>&#8203;<span class="parameters">(<a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a>&nbsp;theClass)</span></div>
</section>
</li>
<li>
<section class="detail" id="getInstanceSize()">
<h3>getInstanceSize</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">getInstanceSize</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getInstanceSize()">JavaClass</a></code></span></div>
<div class="block">Returns the size in bytes of an instance of this class on the heap.
<p>
The call is only meaningful for a non-array JavaClass, where all instances of the
class are of the same size. If this method is called on a JavaArrayClass, where instances
can be of different sizes, an UnsupportedOperationException will be thrown.
DataUnavailable can be thrown if no value is available: for example when
DTFJ is examining a javacore, where the instance size for a class is not recorded.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>size in bytes of an instance</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse-openj9/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2021, IBM Corp. and others.</small></p>
</footer>
</div>
</div>
</body>
</html>