blob: baaabce2f4014a78ccc134650c0dff424bcef66f [file] [log] [blame]
<html>
<!--
NO NO NO NO NO!
==============> DO NOT EDIT ME! <======================
AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT
SEE xml/api/doc/changes/apichanges.xml
-->
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Debugger JPDA API changes by date</title>
<link rel="stylesheet" href="prose.css" type="text/css">
</head>
<body>
<p class="overviewlink">
<a href="overview-summary.html" shape="rect">Overview</a>
</p>
<h1>Introduction</h1>
<p>This document lists changes made to the Debugger JPDA APIs. Please ask on the
<code>nbdev@netbeans.org</code>
mailing list if you have any questions about the details of a
change, or are wondering how to convert existing code to be compatible.
</p>
<hr>
<h1>
<a name="list-all-apis">Index of APIs</a>
</h1>
<ul>
<li>
<a href="#JPDADebuggerAPI">Debugger JPDA API</a>
</li>
</ul>
<h1>
<a name="incompat-by-date">Incompatible changes by date</a>
</h1>
<p>Fuller descriptions of all changes can be found below (follow links).</p>
<p>Not all deprecations are listed here, assuming that the deprecated
APIs continue to essentially work. For a full deprecation list, please
consult the
<a href="deprecated-list.html">Javadoc</a>.</p>
<ul>
<li>(Aug 12 '05) <a href="#version-2.0">JPDA API interfaces that correspond to JDI API declared as not to implement.</a>
</li>
<li>(Jun 29 '05) <a href="#version-1.5">JPDAStep class added (also new method createJPDAStep added to JPDADebugger)</a>
</li>
<li>(Oct 18 '04) <a href="#1.1503083173143484E31">"global" parameter added to "SourcePathProvider.getURL (String relativePath, boolean global)" method.</a>
</li>
<li>(Oct 13 '04) <a href="#3.158060820332176E21">"EditorContext.updateTimeStamp(timeStamp,url)" method has been added.</a>
</li>
<li>(Oct 8 '04) <a href="#3.679608784676937E23">"String EditorContext.getClassName (url, lineNumber)" method has been added.</a>
</li>
<li>(Jun 8 '04) <a href="#3.087782497069981E29">ContextProvider and EngineContextProvider has been changed from interfaces to abstract classes.</a>
</li>
<li>(May 25 '04) <a href="#6.7284025526953608E16">Firing of exceptions during watches evaluation fixed.</a>
</li>
<li>(May 11 '04) <a href="#7.4761849934E10">JPDABreakpointEvent improvements.</a>
</li>
<li>(May 10 '04) <a href="#3.2358922484981184E17">Definition of various breakpoints has been generalized.</a>
</li>
</ul>
<h1>
<a name="all-by-date">All changes by date</a>
</h1>
<ul>
<li>(Oct 26 '16) <a href="#issue-268011">Differentiate application-level exceptions</a>
</li>
<li>(Oct 21 '15) <a href="#issue-255918">Enhanced smart-stepping.</a>
</li>
<li>(Jul 10 '15) <a href="#issue-253295">Add methods for retrieval of implemented and extended types.</a>
</li>
<li>(Sep 8 '14) <a href="#issue-246819">Add information about native methods into EditorContext.Operation.</a>
</li>
<li>(Oct 24 '13) <a href="#issue-237233">Add a way to create mirror objects in the target VM and execute static methods.</a>
</li>
<li>(Apr 30 '13) <a href="#issue-228894">A possibility to get/set mirror objects from debugger variables.</a>
</li>
<li>(Feb 27 '13) <a href="#issue-79027">Breakpoints can deactivated.</a>
</li>
<li>(Feb 19 '13) <a href="#issue-226029">Breakpoints can be made session-specific.</a>
</li>
<li>(Aug 4 '12) <a href="#issue-215680">BreakpointsClassFilter provider introduced.</a>
</li>
<li>(Mar 23 '10) <a href="#issue-182439">JPDADebugger.startListeningAndGetEngines().</a>
</li>
<li>(Feb 14 '10) <a href="#issue-180695">Property for classes fixed event added.</a>
</li>
<li>(Sep 10 '09) <a href="#issue-171342">API for ability to plug-in evaluator engine.</a>
</li>
<li>(Feb 2 '09) <a href="#version-2.19">Annotations for debugger service registration.</a>
</li>
<li>(Jan 13 '09) <a href="#issue-156368">Improve threading model.</a>
</li>
<li>(Jun 2 '08) <a href="#issue-136099">Enhance JPDA API with better thread control.</a>
</li>
<li>(May 21 '07) <a href="#issue-103934">API for identification of method declarations in source code.</a>
</li>
<li>(May 21 '07) <a href="#issue-103936">Enhance JPDA breakpoints.</a>
</li>
<li>(Apr 5 '07) <a href="#issue-100047">Support for heap walking.</a>
</li>
<li>(Mar 28 '07) <a href="#issue-99257">API for retrieval of method arguments.</a>
</li>
<li>(Feb 1 '07) <a href="#issue-93842">Support for stepping over operations.</a>
</li>
<li>(Aug 30 '06) <a href="#issue-83188">Added setPreferedClassName and getPreferredClassName methods to LineBreakpoint</a>
</li>
<li>(Jul 12 '06) <a href="#issue-80090">Added JPDAClassType, ClassVariable and ReturnVariable classes</a>
</li>
<li>(May 3 '06) <a href="#issue-52180">Added getSourceRoot() method to SourcePathProvider class</a>
</li>
<li>(Nov 3 '05) <a href="#issue-67046">Added canBeModified() method to JPDADebugger class</a>
</li>
<li>(Aug 18 '05) <a href="#issue-59072">Added interrupt method to JPDAThread class</a>
</li>
<li>(Aug 12 '05) <a href="#version-2.0">JPDA API interfaces that correspond to JDI API declared as not to implement.</a>
</li>
<li>(Jun 29 '05) <a href="#version-1.5">JPDAStep class added (also new method createJPDAStep added to JPDADebugger)</a>
</li>
<li>(Feb 15 '05) <a href="#version-1.3">LineBreakpoint supplied with the information about the source path where it is set.</a>
</li>
<li>(Oct 18 '04) <a href="#1.1503083173143484E31">"global" parameter added to "SourcePathProvider.getURL (String relativePath, boolean global)" method.</a>
</li>
<li>(Oct 13 '04) <a href="#3.158060820332176E21">"EditorContext.updateTimeStamp(timeStamp,url)" method has been added.</a>
</li>
<li>(Oct 8 '04) <a href="#3.679608784676937E23">"String EditorContext.getClassName (url, lineNumber)" method has been added.</a>
</li>
<li>(Jun 8 '04) <a href="#1.204733397868E12">Two methods added to ContextProvider.</a>
</li>
<li>(Jun 8 '04) <a href="#3.087782497069981E29">ContextProvider and EngineContextProvider has been changed from interfaces to abstract classes.</a>
</li>
<li>(Jun 1 '04) <a href="#7.5948968532868649E18">InvalidExpressionException can encapsulate other exceptions.</a>
</li>
<li>(Jun 1 '04) <a href="#8.776064217581554E15">ContextProvider.getFieldLineNumber() method added.</a>
</li>
<li>(May 25 '04) <a href="#6.7284025526953608E16">Firing of exceptions during watches evaluation fixed.</a>
</li>
<li>(May 17 '04) <a href="#1.47550932E8">JPDADebugger.SESSION_ID.</a>
</li>
<li>(May 16 '04) <a href="#2.5982811970492E14">Improvements of SmartStepping implementation.</a>
</li>
<li>(May 11 '04) <a href="#7.4761849934E10">JPDABreakpointEvent improvements.</a>
</li>
<li>(May 10 '04) <a href="#3.2358922484981184E17">Definition of various breakpoints has been generalized.</a>
</li>
<li>(May 9 '04) <a href="#8.9184289200997E14">Support methods for various new features added.</a>
</li>
<li>(May 4 '04) <a href="#5.53699698E8">Breakpoint Listener added.</a>
</li>
<li>(May 3 '04) <a href="#1.13769488831109984E17">Support for synchronouous start of JPDADebugger added.</a>
</li>
<li>(Apr 20 '04) <a href="#1.9340801673202E13">JPDADebugger.getException() method added.</a>
</li>
</ul>
<h1>
<a name="all-by-version">Changes by version</a>
</h1>
<p>
These API specification versions may be used to indicate that a module
requires a certain API feature in order to function. For example, if you
see here a feature you need which is labelled <samp>1.20</samp>, your
manifest should contain in its main attributes the line:
</p>
<pre>OpenIDE-Module-Module-Dependencies: org.netbeans.api.debugger.jpda/1 &gt; 1.20</pre>
<ul>
<li>
(3.7) <a href="#issue-268011">Differentiate application-level exceptions</a>
</li>
<li>
(3.5) <a href="#issue-255918">Enhanced smart-stepping.</a>
</li>
<li>
(3.2) <a href="#issue-253295">Add methods for retrieval of implemented and extended types.</a>
</li>
<li>
(2.51) <a href="#issue-246819">Add information about native methods into EditorContext.Operation.</a>
</li>
<li>
(2.47) <a href="#issue-237233">Add a way to create mirror objects in the target VM and execute static methods.</a>
</li>
<li>
(2.44) <a href="#issue-228894">A possibility to get/set mirror objects from debugger variables.</a>
</li>
<li>
(2.42) <a href="#issue-79027">Breakpoints can deactivated.</a>
</li>
<li>
(2.41) <a href="#issue-226029">Breakpoints can be made session-specific.</a>
</li>
<li>
(2.37) <a href="#issue-215680">BreakpointsClassFilter provider introduced.</a>
</li>
<li>
(2.26) <a href="#issue-182439">JPDADebugger.startListeningAndGetEngines().</a>
</li>
<li>
(2.25) <a href="#issue-180695">Property for classes fixed event added.</a>
</li>
<li>
(2.21) <a href="#issue-171342">API for ability to plug-in evaluator engine.</a>
</li>
<li>
(2.19) <a href="#version-2.19">Annotations for debugger service registration.</a>
</li>
<li>
(2.18) <a href="#issue-156368">Improve threading model.</a>
</li>
<li>
(2.16) <a href="#issue-136099">Enhance JPDA API with better thread control.</a>
</li>
<li>
(2.13) <a href="#issue-103936">Enhance JPDA breakpoints.</a>
</li>
<li>
(2.12) <a href="#issue-103934">API for identification of method declarations in source code.</a>
</li>
<li>
(2.11) <a href="#issue-100047">Support for heap walking.</a>
</li>
<li>
(2.10) <a href="#issue-99257">API for retrieval of method arguments.</a>
</li>
<li>
(2.9) <a href="#issue-93842">Support for stepping over operations.</a>
</li>
<li>
(2.8) <a href="#issue-83188">Added setPreferedClassName and getPreferredClassName methods to LineBreakpoint</a>
</li>
<li>
(2.7) <a href="#issue-80090">Added JPDAClassType, ClassVariable and ReturnVariable classes</a>
</li>
<li>
(2.6) <a href="#issue-52180">Added getSourceRoot() method to SourcePathProvider class</a>
</li>
<li>
(2.3) <a href="#issue-67046">Added canBeModified() method to JPDADebugger class</a>
</li>
<li>
(2.1) <a href="#issue-59072">Added interrupt method to JPDAThread class</a>
</li>
<li>
(2.0) <a href="#version-2.0">JPDA API interfaces that correspond to JDI API declared as not to implement.</a>
</li>
<li>
(1.5) <a href="#version-1.5">JPDAStep class added (also new method createJPDAStep added to JPDADebugger)</a>
</li>
<li>
(1.3) <a href="#version-1.3">LineBreakpoint supplied with the information about the source path where it is set.</a>
</li>
</ul>
<h1>
<a name="all-by-class">Changes by affected class</a>
</h1>
<h2>
<a name="org.netbeans.spi.debugger.jpda.BreakpointsClassFilter"><code><span style="color:gray">org.netbeans.spi.debugger.jpda.</span>BreakpointsClassFilter</code></a>
</h2><ul><li>(Aug 4 '12) <a href="#issue-215680">BreakpointsClassFilter provider introduced.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.CallStackFrame"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>CallStackFrame</code></a>
</h2><ul><li>(Jun 2 '08) <a href="#issue-136099">Enhance JPDA API with better thread control.</a>
</li>
<li>(Feb 1 '07) <a href="#issue-93842">Support for stepping over operations.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.ClassVariable"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>ClassVariable</code></a>
</h2><ul><li>(Jul 10 '15) <a href="#issue-253295">Add methods for retrieval of implemented and extended types.</a>
</li>
<li>(Jul 12 '06) <a href="#issue-80090">Added JPDAClassType, ClassVariable and ReturnVariable classes</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.DeadlockDetector"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>DeadlockDetector</code></a>
</h2><ul><li>(Jun 2 '08) <a href="#issue-136099">Enhance JPDA API with better thread control.</a>
</li></ul><h2>
<a name="org.netbeans.spi.debugger.jpda.EditorContext"><code><span style="color:gray">org.netbeans.spi.debugger.jpda.</span>EditorContext</code></a>
</h2><ul><li>(Sep 8 '14) <a href="#issue-246819">Add information about native methods into EditorContext.Operation.</a>
</li>
<li>(Jun 2 '08) <a href="#issue-136099">Enhance JPDA API with better thread control.</a>
</li>
<li>(May 21 '07) <a href="#issue-103934">API for identification of method declarations in source code.</a>
</li>
<li>(Mar 28 '07) <a href="#issue-99257">API for retrieval of method arguments.</a>
</li>
<li>(Feb 1 '07) <a href="#issue-93842">Support for stepping over operations.</a>
</li></ul><h2>
<a name="org.netbeans.spi.debugger.jpda.Evaluator"><code><span style="color:gray">org.netbeans.spi.debugger.jpda.</span>Evaluator</code></a>
</h2><ul><li>(Sep 10 '09) <a href="#issue-171342">API for ability to plug-in evaluator engine.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.ExceptionBreakpoint"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>ExceptionBreakpoint</code></a>
</h2><ul><li>(May 21 '07) <a href="#issue-103936">Enhance JPDA breakpoints.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.FieldBreakpoint"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>FieldBreakpoint</code></a>
</h2><ul><li>(May 21 '07) <a href="#issue-103936">Enhance JPDA breakpoints.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.InvalidExpressionException"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>InvalidExpressionException</code></a>
</h2><ul><li>(Oct 26 '16) <a href="#issue-268011">Differentiate application-level exceptions</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.JPDAArrayType"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>JPDAArrayType</code></a>
</h2><ul><li>(Apr 5 '07) <a href="#issue-100047">Support for heap walking.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.JPDABreakpoint"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>JPDABreakpoint</code></a>
</h2><ul><li>(Feb 19 '13) <a href="#issue-226029">Breakpoints can be made session-specific.</a>
</li>
<li>(May 21 '07) <a href="#issue-103936">Enhance JPDA breakpoints.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.JPDAClassType"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>JPDAClassType</code></a>
</h2><ul><li>(Jul 10 '15) <a href="#issue-253295">Add methods for retrieval of implemented and extended types.</a>
</li>
<li>(Oct 24 '13) <a href="#issue-237233">Add a way to create mirror objects in the target VM and execute static methods.</a>
</li>
<li>(Apr 5 '07) <a href="#issue-100047">Support for heap walking.</a>
</li>
<li>(Jul 12 '06) <a href="#issue-80090">Added JPDAClassType, ClassVariable and ReturnVariable classes</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.JPDADebugger"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>JPDADebugger</code></a>
</h2><ul><li>(Oct 24 '13) <a href="#issue-237233">Add a way to create mirror objects in the target VM and execute static methods.</a>
</li>
<li>(Feb 27 '13) <a href="#issue-79027">Breakpoints can deactivated.</a>
</li>
<li>(Mar 23 '10) <a href="#issue-182439">JPDADebugger.startListeningAndGetEngines().</a>
</li>
<li>(Feb 14 '10) <a href="#issue-180695">Property for classes fixed event added.</a>
</li>
<li>(Jun 2 '08) <a href="#issue-136099">Enhance JPDA API with better thread control.</a>
</li>
<li>(Apr 5 '07) <a href="#issue-100047">Support for heap walking.</a>
</li>
<li>(Nov 3 '05) <a href="#issue-67046">Added canBeModified() method to JPDADebugger class</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.JPDAStep"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>JPDAStep</code></a>
</h2><ul><li>(Feb 1 '07) <a href="#issue-93842">Support for stepping over operations.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.JPDAThread"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>JPDAThread</code></a>
</h2><ul><li>(Jan 13 '09) <a href="#issue-156368">Improve threading model.</a>
</li>
<li>(Jun 2 '08) <a href="#issue-136099">Enhance JPDA API with better thread control.</a>
</li>
<li>(Feb 1 '07) <a href="#issue-93842">Support for stepping over operations.</a>
</li>
<li>(Aug 18 '05) <a href="#issue-59072">Added interrupt method to JPDAThread class</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.LineBreakpoint"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>LineBreakpoint</code></a>
</h2><ul><li>(May 21 '07) <a href="#issue-103936">Enhance JPDA breakpoints.</a>
</li>
<li>(Aug 30 '06) <a href="#issue-83188">Added setPreferedClassName and getPreferredClassName methods to LineBreakpoint</a>
</li>
<li>(Feb 15 '05) <a href="#version-1.3">LineBreakpoint supplied with the information about the source path where it is set.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.MethodBreakpoint"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>MethodBreakpoint</code></a>
</h2><ul><li>(May 21 '07) <a href="#issue-103936">Enhance JPDA breakpoints.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.MonitorInfo"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>MonitorInfo</code></a>
</h2><ul><li>(Jun 2 '08) <a href="#issue-136099">Enhance JPDA API with better thread control.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.MutableVariable"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>MutableVariable</code></a>
</h2><ul><li>(Apr 30 '13) <a href="#issue-228894">A possibility to get/set mirror objects from debugger variables.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.ObjectVariable"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>ObjectVariable</code></a>
</h2><ul><li>(Apr 5 '07) <a href="#issue-100047">Support for heap walking.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.ReturnVariable"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>ReturnVariable</code></a>
</h2><ul><li>(Jul 12 '06) <a href="#issue-80090">Added JPDAClassType, ClassVariable and ReturnVariable classes</a>
</li></ul><h2>
<a name="org.netbeans.spi.debugger.jpda.SmartSteppingCallback"><code><span style="color:gray">org.netbeans.spi.debugger.jpda.</span>SmartSteppingCallback</code></a>
</h2><ul><li>(Oct 21 '15) <a href="#issue-255918">Enhanced smart-stepping.</a>
</li></ul><h2>
<a name="org.netbeans.spi.debugger.jpda.SourcePathProvider"><code><span style="color:gray">org.netbeans.spi.debugger.jpda.</span>SourcePathProvider</code></a>
</h2><ul><li>(May 3 '06) <a href="#issue-52180">Added getSourceRoot() method to SourcePathProvider class</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.ThreadsCollector"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>ThreadsCollector</code></a>
</h2><ul><li>(Jun 2 '08) <a href="#issue-136099">Enhance JPDA API with better thread control.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.Variable"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>Variable</code></a>
</h2><ul><li>(Apr 30 '13) <a href="#issue-228894">A possibility to get/set mirror objects from debugger variables.</a>
</li></ul><h2>
<a name="org.netbeans.api.debugger.jpda.VariableType"><code><span style="color:gray">org.netbeans.api.debugger.jpda.</span>VariableType</code></a>
</h2><ul><li>(Apr 5 '07) <a href="#issue-100047">Support for heap walking.</a>
</li></ul><hr>
<h1>
<a name="details-by-api">Details of all changes by API and date</a>
</h1>
<hr style="width:50%">
<h2>
<a name="JPDADebuggerAPI">Debugger JPDA API</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-268011">Differentiate application-level exceptions</a>
</h3>
<em>Oct 26 '16; API spec. version: 3.7; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/InvalidExpressionException.html"><code>InvalidExpressionException</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=268011">
#268011</a></em>
<br>
<code>InvalidExpressionException</code> can be thrown as a result
of an application-level exception. We need to differentiate this case
from exceptions thrown from NetBeans code. A boolean argument in the
constructor and a method <code>hasApplicationTarget()</code> are
added to <code>InvalidExpressionException</code> for this purpose.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-255918">Enhanced smart-stepping.</a>
</h3>
<em>Oct 21 '15; API spec. version: 3.5; affected top-level classes: <a href="./org/netbeans/spi/debugger/jpda/SmartSteppingCallback.html"><code>SmartSteppingCallback</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=255918">
#255918</a></em>
<br>
<code>SmartSteppingCallback.stopAt()</code> method added to be able
to override the default smart-stepping logic and provide specific
steps that should be performed at given locations.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-253295">Add methods for retrieval of implemented and extended types.</a>
</h3>
<em>Jul 10 '15; API spec. version: 3.2; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDAClassType.html"><code>JPDAClassType</code></a> <a href="./org/netbeans/api/debugger/jpda/ClassVariable.html"><code>ClassVariable</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=253295">
#253295</a></em>
<br>
Methods that provide implemented and extended types were added to
<code>JPDAClassType</code> class. These are:
<ul>
<li>getSubClasses()</li>
<li>getAllInterfaces()</li>
<li>getDirectInterfaces()</li>
<li>isInstanceOf()</li>
</ul>
Associated with this is also an ability to retrieve the reflected type
from the class variable. Therefore, we add following method
to <code>ClassVariable</code>:
<ul>
<li>getReflectedType()</li>
</ul>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-246819">Add information about native methods into EditorContext.Operation.</a>
</h3>
<em>Sep 8 '14; API spec. version: 2.51; affected top-level classes: <a href="./org/netbeans/spi/debugger/jpda/EditorContext.html"><code>EditorContext</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=246819">
#246819</a></em>
<br>
A new method <code>createMethodOperation()</code>, which takes
<code>boolean isNative</code> is added to <code>EditorContext</code>
class. The <code>EditorContext.Operation</code> has <code>isNative()</code>
method to retrieve that information. The implementation retrieves the
native flag from parser information, therefore there can occur native
methods at runtime, which are not marked as native by this flag.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-237233">Add a way to create mirror objects in the target VM and execute static methods.</a>
</h3>
<em>Oct 24 '13; API spec. version: 2.47; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDADebugger.html"><code>JPDADebugger</code></a> <a href="./org/netbeans/api/debugger/jpda/JPDAClassType.html"><code>JPDAClassType</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=237233">
#237233</a></em>
<br>
createMirrorVar() methods are introduced in JPDADebugger class. They
create a mirror object in the target virtual machine.
<p></p>
Similar to invokeMethod() method on ObjectVariable, invokeMethod()
is introduced on JPDAClassType for invocation of static methods.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-228894">A possibility to get/set mirror objects from debugger variables.</a>
</h3>
<em>Apr 30 '13; API spec. version: 2.44; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/Variable.html"><code>Variable</code></a> <a href="./org/netbeans/api/debugger/jpda/MutableVariable.html"><code>MutableVariable</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=228894">
#228894</a></em>
<br>
<code>MutableVariable</code> interface is introduced. It's to be implemented by
variables that can change their values. <code>Field</code>,
<code>LocalVariable</code> and <code>JPDAWatch</code> now extend
<code>MutableVariable</code>.
<p></p>
<code>Object createMirrorObject()</code> method is added to <code>Variable</code>
class and <code>void setFromMirrorObject(Object obj)</code> method
is declared by <code>MutableVariable</code>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-79027">Breakpoints can deactivated.</a>
</h3>
<em>Feb 27 '13; API spec. version: 2.42; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDADebugger.html"><code>JPDADebugger</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=79027">
#79027</a></em>
<br>
Two methods are added to JPDADebugger class: getBreakpointsActive()
and setBreakpointsActive(boolean). The set method fires PROP_BREAKPOINTS_ACTIVE
event. <br>
These methods are used to activate/deactivate all breakpoints in the
debugger session.
Initially, the breakpoints are active in the debugger session.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-226029">Breakpoints can be made session-specific.</a>
</h3>
<em>Feb 19 '13; API spec. version: 2.41; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDABreakpoint.html"><code>JPDABreakpoint</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=226029">
#226029</a></em>
<br>
getSession()/setSession() methods are added to JPDABreakpoint class.
They can be used to make the breakpoint debugger session-specific.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-215680">BreakpointsClassFilter provider introduced.</a>
</h3>
<em>Aug 4 '12; API spec. version: 2.37; affected top-level classes: <a href="./org/netbeans/spi/debugger/jpda/BreakpointsClassFilter.html"><code>BreakpointsClassFilter</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=215680">
#215680</a></em>
<br>
BreakpointsClassFilter introduced to provide a customized set of classes
for breakpoints.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-182439">JPDADebugger.startListeningAndGetEngines().</a>
</h3>
<em>Mar 23 '10; API spec. version: 2.26; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDADebugger.html"><code>JPDADebugger</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=182439">
#182439</a></em>
<br>
JPDADebugger.startListeningAndGetEngines() introduced to return the
debugger engines that are started, for use by the fix of the defect #182439.
This method is identical to JPDADebugger.startListening(), but returns
the started engines.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-180695">Property for classes fixed event added.</a>
</h3>
<em>Feb 14 '10; API spec. version: 2.25; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDADebugger.html"><code>JPDADebugger</code></a>; made by: dprusa; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=180695">
#180695</a></em>
<br>
JPDA debugger properties have been extended by a property name for classes
fixed event. This event is usually generated when the user invokes Apply Code
Changes action.
<p>
Added field:<br>
<code>JPDADebugger.PROP_CLASSES_FIXED</code>
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-171342">API for ability to plug-in evaluator engine.</a>
</h3>
<em>Sep 10 '09; API spec. version: 2.21; affected top-level classes: <a href="./org/netbeans/spi/debugger/jpda/Evaluator.html"><code>Evaluator</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=171342">
#171342</a></em>
<br>
<p>
An <code>Evaluator</code> interface is introduced, with
<code>evaluate()</code> method. It's implementation should be registered
for the desired language that compiles into bytecode.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="version-2.19">Annotations for debugger service registration.</a>
</h3>
<em>Feb 2 '09; API spec. version: 2.19; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=153093">
#153093</a> <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=156687">
#156687</a></em>
<br>
<p>
Annotations are added for easy registration on module layers.
<code>*Provider.Registration</code> annotations are introduced to register
implementations of appropriate providers.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-156368">Improve threading model.</a>
</h3>
<em>Jan 13 '09; API spec. version: 2.18; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDAThread.html"><code>JPDAThread</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=156368">
#156368</a></em>
<br>
ReadWriteLock is introduced to synchronize the access to JPDAThread.
ReadLock of that read/write pair is publicly available through the
new method JPDAThread.getReadAccessLock(). Clients can use this lock
to assure that the thread is not resumed in the mean time.
<p>
Added methods:<br>
<code>JPDAThread.getReadAccessLock()</code>,
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-136099">Enhance JPDA API with better thread control.</a>
</h3>
<em>Jun 2 '08; API spec. version: 2.16; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/CallStackFrame.html"><code>CallStackFrame</code></a> <a href="./org/netbeans/api/debugger/jpda/DeadlockDetector.html"><code>DeadlockDetector</code></a> <a href="./org/netbeans/api/debugger/jpda/JPDADebugger.html"><code>JPDADebugger</code></a> <a href="./org/netbeans/api/debugger/jpda/JPDAThread.html"><code>JPDAThread</code></a> <a href="./org/netbeans/api/debugger/jpda/MonitorInfo.html"><code>MonitorInfo</code></a> <a href="./org/netbeans/api/debugger/jpda/ThreadsCollector.html"><code>ThreadsCollector</code></a> <a href="./org/netbeans/spi/debugger/jpda/EditorContext.html"><code>EditorContext</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=136099">
#136099</a></em>
<br>
This API change is necessary for the redesign of the debugger UI and
it's behavior with respect to threads.
<p>
Added classes:<br>
<code>org.netbeans.api.debugger.jpda.DeadlockDetector</code>,
<code>org.netbeans.api.debugger.jpda.MonitorInfo</code>,
<code>org.netbeans.api.debugger.jpda.ThreadsCollector</code>
</p>
<p>
Added methods:<br>
<code>CallStackFrame.getFrameDepth()</code>,
<code>CallStackFrame.getOwnedMonitors()</code>,
<code>JPDADebugger.getThreadsCollector()</code>,
<code>JPDADebugger.getDeadlockDetector()</code>,
<code>JPDAThread.getCurrentBreakpoint()</code>,
<code>JPDAThread.getContendedMonitorAndOwner()</code>,
<code>JPDAThread.getOwnedMonitorsAndFrames()</code>,
<code>EditorContext.annotate()</code> with thread argument,
<code>AttachingDICookie.getProcessID()</code>
</p>
<p>
Added fields:<br>
<code>JPDADebugger.PROP_THREAD_STARTED</code>,
<code>JPDADebugger.PROP_THREAD_DIED</code>,
<code>JPDADebugger.PROP_THREAD_GROUP_ADDED</code>,
<code>JPDAThread.PROP_SUSPENDED</code>,
<code>JPDAThread.PROP_BREAKPOINT</code>,
<code>EditorContext.OTHER_THREAD_ANNOTATION_TYPE</code>
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-103934">API for identification of method declarations in source code.</a>
</h3>
<em>May 21 '07; API spec. version: 2.12; affected top-level classes: <a href="./org/netbeans/spi/debugger/jpda/EditorContext.html"><code>EditorContext</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=103934">
#103934</a></em>
<br>
<p>In order to implement annotation of method breakpoints in Editor, we need to be
able to locate individual methods in Editor, based on their names and signature. Also we need
annotation types for fields and methods.
</p>
<p>
Added methods:<br>
<code>EditorContext.getMethodLineNumber()</code>,
<code>EditorContext.getCurrentMethodDeclaration()</code>,
</p>
<p>
Added fields:<br>
<code>EditorContext.FIELD_BREAKPOINT_ANNOTATION_TYPE</code>,
<code>EditorContext.DISABLED_FIELD_BREAKPOINT_ANNOTATION_TYPE</code>,
<code>EditorContext.METHOD_BREAKPOINT_ANNOTATION_TYPE</code>
<code>EditorContext.DISABLED_METHOD_BREAKPOINT_ANNOTATION_TYPE</code>
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-103936">Enhance JPDA breakpoints.</a>
</h3>
<em>May 21 '07; API spec. version: 2.13; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/ExceptionBreakpoint.html"><code>ExceptionBreakpoint</code></a> <a href="./org/netbeans/api/debugger/jpda/FieldBreakpoint.html"><code>FieldBreakpoint</code></a> <a href="./org/netbeans/api/debugger/jpda/JPDABreakpoint.html"><code>JPDABreakpoint</code></a> <a href="./org/netbeans/api/debugger/jpda/LineBreakpoint.html"><code>LineBreakpoint</code></a> <a href="./org/netbeans/api/debugger/jpda/MethodBreakpoint.html"><code>MethodBreakpoint</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=103936">
#103936</a></em>
<br>
<p>
To catch-up with JDI capabilities and be able to implement new enhancements,
we need to add support for new breakpoint properties into the debugger JPDA API.<br>
These are mainly class and thread filters and hit counts.
</p>
<p>
Added methods:<br>
<code>ExceptionBreakpoint.getClassFilters()</code>,
<code>ExceptionBreakpoint.setClassFilters()</code>,
<code>ExceptionBreakpoint.getClassExclusionFilters()</code>,
<code>ExceptionBreakpoint.setClassExclusionFilters()</code>,
<code>FieldBreakpoint.getInstanceFilters()</code>,
<code>FieldBreakpoint.setInstanceFilters()</code>,
<code>FieldBreakpoint.getThreadFilters()</code>,
<code>FieldBreakpoint.setThreadFilters()</code>,
<code>JPDABreakpoint.getHitCountFilter()</code>,
<code>JPDABreakpoint.getHitCountFilteringStyle()</code>,
<code>JPDABreakpoint.setHitCountFilter()</code>,
<code>LineBreakpoint.getInstanceFilters()</code>,
<code>LineBreakpoint.setInstanceFilters()</code>,
<code>LineBreakpoint.getThreadFilters()</code>,
<code>LineBreakpoint.setThreadFilters()</code>,
<code>MethodBreakpoint.getMethodSignature()</code>,
<code>MethodBreakpoint.setMethodSignature()</code>,
<code>MethodBreakpoint.getInstanceFilters()</code>,
<code>MethodBreakpoint.setInstanceFilters()</code>,
<code>MethodBreakpoint.getThreadFilters()</code>,
<code>MethodBreakpoint.setThreadFilters()</code>.
</p>
<p>
Added fields:<br>
<code>ExceptionBreakpoint.PROP_CLASS_FILTERS</code>,
<code>ExceptionBreakpoint.PROP_CLASS_EXCLUSION_FILTERS</code>,
<code>FieldBreakpoint.PROP_INSTANCE_FILTERS</code>,
<code>FieldBreakpoint.PROP_THREAD_FILTERS</code>,
<code>JPDABreakpoint.PROP_HIT_COUNT_FILTER</code>,
<code>JPDABreakpoint.HIT_COUNT_FILTERING_STYLE</code>,
<code>LineBreakpoint.PROP_INSTANCE_FILTERS</code>,
<code>LineBreakpoint.PROP_THREAD_FILTERS</code>,
<code>MethodBreakpoint.PROP_METHOD_SIGNATURE</code>,
<code>MethodBreakpoint.PROP_INSTANCE_FILTERS</code>,
<code>MethodBreakpoint.PROP_THREAD_FILTERS</code>.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-100047">Support for heap walking.</a>
</h3>
<em>Apr 5 '07; API spec. version: 2.11; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDADebugger.html"><code>JPDADebugger</code></a> <a href="./org/netbeans/api/debugger/jpda/JPDAClassType.html"><code>JPDAClassType</code></a> <a href="./org/netbeans/api/debugger/jpda/ObjectVariable.html"><code>ObjectVariable</code></a> <a href="./org/netbeans/api/debugger/jpda/VariableType.html"><code>VariableType</code></a> <a href="./org/netbeans/api/debugger/jpda/JPDAArrayType.html"><code>JPDAArrayType</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=100047">
#100047</a></em>
<br>
<p>
In order to be able to provide heap walking functionality,
we need methods for retrieval of class instances and
back references.
</p>
<p>
Added methods:<br>
<code>Field.getDeclaringClass()</code>,
<code>JPDAClassType.getClassLoader()</code>,
<code>JPDAClassType.getSuperClass()</code>,
<code>JPDAClassType.getInstanceCount()</code>,
<code>JPDAClassType.getInstances()</code>,
<code>JPDADebugger.canGetInstanceInfo()</code>,
<code>JPDADebugger.getAllClasses()</code>,
<code>JPDADebugger.getClassesByName()</code>,
<code>JPDADebugger.getInstanceCounts()</code>,
<code>ObjectVariable.getReferringObjects()</code>,
<code>ObjectVariable.getClassType()</code>,
<code>ObjectVariable.getUniqueID()</code>.
</p>
<p>
Added classes:<br>
<code>VariableType</code>,
<code>JPDAArrayType</code>.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-99257">API for retrieval of method arguments.</a>
</h3>
<em>Mar 28 '07; API spec. version: 2.10; affected top-level classes: <a href="./org/netbeans/spi/debugger/jpda/EditorContext.html"><code>EditorContext</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=99257">
#99257</a></em>
<br>
<p>
An access to method arguments in source code is necessary
for cases where we do not have full debug information.
</p>
<p>
Added methods:<br>
<code>EditorContext.getArguments()</code>
</p>
<p>
Added classes:<br>
<code>EditorContext.MethodArgument</code>
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-93842">Support for stepping over operations.</a>
</h3>
<em>Feb 1 '07; API spec. version: 2.9; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDAStep.html"><code>JPDAStep</code></a> <a href="./org/netbeans/api/debugger/jpda/CallStackFrame.html"><code>CallStackFrame</code></a> <a href="./org/netbeans/api/debugger/jpda/JPDAThread.html"><code>JPDAThread</code></a> <a href="./org/netbeans/spi/debugger/jpda/EditorContext.html"><code>EditorContext</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=93842">
#93842</a></em>
<br>
<p>
In order to be able to provide stepping over operations,
we need a representation of an operation and some way how to
retrieve the operation(s) from a Thread and a CallStackFrame.
</p>
<p>
Added fields:<br>
<code>JPDAStep.STEP_OPERATION</code>,
<code>EditorContext.CURRENT_LAST_OPERATION_ANNOTATION_TYPE</code>,
<code>EditorContext.CURRENT_EXPRESSION_SECONDARY_LINE_ANNOTATION_TYPE</code>,
<code>EditorContext.CURRENT_EXPRESSION_CURRENT_LINE_ANNOTATION_TYPE</code>
</p>
<p>
Added methods:<br>
<code>CallStackFrame.getCurrentOperation()</code>,
<code>JPDAThread.getCurrentOperation()</code>,
<code>JPDAThread.getLastOperations()</code>,
<code>EditorContext.createMethodOperation()</code>,
<code>EditorContext.addNextOperationTo()</code>,
<code>EditorContext.createPosition()</code>,
<code>EditorContext.getOperations()</code>
</p>
<p>
Added classes:<br>
<code>EditorContext.BytecodeProvider</code>,
<code>EditorContext.Operation</code>,
<code>EditorContext.Position</code>
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-83188">Added setPreferedClassName and getPreferredClassName methods to LineBreakpoint</a>
</h3>
<em>Aug 30 '06; API spec. version: 2.8; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/LineBreakpoint.html"><code>LineBreakpoint</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=83188">
#83188</a></em>
<br>
<p>
In order to be able to provide the class name for which the
breakpoint should be submitted. This is necessary for JSP.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-80090">Added JPDAClassType, ClassVariable and ReturnVariable classes</a>
</h3>
<em>Jul 12 '06; API spec. version: 2.7; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDAClassType.html"><code>JPDAClassType</code></a> <a href="./org/netbeans/api/debugger/jpda/ClassVariable.html"><code>ClassVariable</code></a> <a href="./org/netbeans/api/debugger/jpda/ReturnVariable.html"><code>ReturnVariable</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=80090">
#80090</a></em>
<br>
<p>
In order to be able to provide static context information
and return value of methods, three new classes were added.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-52180">Added getSourceRoot() method to SourcePathProvider class</a>
</h3>
<em>May 3 '06; API spec. version: 2.6; affected top-level classes: <a href="./org/netbeans/spi/debugger/jpda/SourcePathProvider.html"><code>SourcePathProvider</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=52180">
#52180</a></em>
<br>
<p>
Retrieves a source root for a given URL. This is necessary to
match breakpoint locations with the sources selected fopr debugging.
It returns <code>null</code> by default.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-67046">Added canBeModified() method to JPDADebugger class</a>
</h3>
<em>Nov 3 '05; API spec. version: 2.3; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDADebugger.html"><code>JPDADebugger</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=67046">
#67046</a></em>
<br>
<p>
A possibility to detect whether the debuggee is read-only is added.
This check works fine on JDK 1.5 and higher, on JDK 1.4 it returns
<code>true</code> by default.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-59072">Added interrupt method to JPDAThread class</a>
</h3>
<em>Aug 18 '05; API spec. version: 2.1; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/JPDAThread.html"><code>JPDAThread</code></a>; made by: mentlicher; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=59072">
#59072</a></em>
<br>
<p>
A possibility to interrupt a debuggee thread is added.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="version-2.0">JPDA API interfaces that correspond to JDI API declared as not to implement.</a>
</h3>
<em>Aug 12 '05; API spec. version: 2.0; made by: mentlicher</em>
<br>
<p>
JPDA API represents JDI functionality.
Since JDI interfaces evolve from one version to another, it's
necessary to declare that interfaces in
org.netbeans.api.debugger.jpda package should not be implemented,
since new methods can be added to these interfaces at any time
to keep up with the JDI functionality.
</p>
<p>
Also JPDABreakpointEvent and JPDABreakpointListener are moved to
newly created org.netbeans.api.debugger.jpda.event package.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="version-1.5">JPDAStep class added (also new method createJPDAStep added to JPDADebugger)</a>
</h3>
<em>Jun 29 '05; API spec. version: 1.5; made by: rondruska</em>
<br>
<p>
JPDAStep allows to create a step request to JDI with
no UI interference. It was designed for new RunIntoMethod
action. New method JPDADebugger.createJPDAStep creates
a new instance of JPDAStep.
</p>
<br>
<em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="version-1.3">LineBreakpoint supplied with the information about the source path where it is set.</a>
</h3>
<em>Feb 15 '05; API spec. version: 1.3; affected top-level classes: <a href="./org/netbeans/api/debugger/jpda/LineBreakpoint.html"><code>LineBreakpoint</code></a>; made by: lkotouc</em>
<br>
<p>
A line breakpoint does not contain the information
about the source path where it is set. There is no
way how to differ between breakpoints in the case
when
- several JSPs have the same name AND
- these JSPs are statically included into one JSP page.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="1.1503083173143484E31">"global" parameter added to "SourcePathProvider.getURL (String relativePath, boolean global)" method.</a>
</h3>
<em>Oct 18 '04; made by: jjancura</em>
<br>
<p>
This parameter has been added to distinguish between finding sources for smart
stepping feature, and for all other features like douuble click on stack trace..
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="3.158060820332176E21">"EditorContext.updateTimeStamp(timeStamp,url)" method has been added.</a>
</h3>
<em>Oct 13 '04; made by: jjancura</em>
<br>
<p>
This method is needed to correctly implement fix &amp; continue action.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="3.679608784676937E23">"String EditorContext.getClassName (url, lineNumber)" method has been added.</a>
</h3>
<em>Oct 8 '04; made by: jjancura</em>
<br>
<p>
This method is needed to correctly implement line breakpoint in secondary classes.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="1.204733397868E12">Two methods added to ContextProvider.</a>
</h3>
<em>Jun 8 '04; made by: jjancura</em>
<br>
<p>
ContextProvider.getImports () method added to support better evaluation of expressions.
ContextProvider.getLineNumber (annotaion) method added to fix stepping through modified files.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="3.087782497069981E29">ContextProvider and EngineContextProvider has been changed from interfaces to abstract classes.</a>
</h3>
<em>Jun 8 '04; made by: jjancura</em>
<br>
<p>
ContextProvider and EngineContextProvider has been changed from interfaces to abstract classes.
This was done to support future changes in these classes.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="7.5948968532868649E18">InvalidExpressionException can encapsulate other exceptions.</a>
</h3>
<em>Jun 1 '04; made by: jjancura</em>
<br>
<p>
Mew constructor added (InvalidExpressionException(java.lang.Throwable)),
and InvalidExpressionException.getTargetException() method added to support firing of
nested exceptions.
</p>
<ul>
<li>JPDAWatch.getToStringValue()</li>
<li>ObjectVariable.getToStringValue()</li>
<li>ObjectVariable.invokeMethod()</li>
</ul>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="8.776064217581554E15">ContextProvider.getFieldLineNumber() method added.</a>
</h3>
<em>Jun 1 '04; made by: jjancura</em>
<br>
<p>
ContextProvider.getFieldLineNumber() method added.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="6.7284025526953608E16">Firing of exceptions during watches evaluation fixed.</a>
</h3>
<em>May 25 '04; made by: jjancura</em>
<br>
<p>
InvalidExpressionException is fired from folowing methods now:
</p>
<ul>
<li>JPDAWatch.getToStringValue()</li>
<li>ObjectVariable.getToStringValue()</li>
<li>ObjectVariable.invokeMethod()</li>
</ul>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="1.47550932E8">JPDADebugger.SESSION_ID.</a>
</h3>
<em>May 17 '04; made by: jjancura</em>
<br>
<p>
JPDADebugger.SESSION_ID constant has been added.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="2.5982811970492E14">Improvements of SmartStepping implementation.</a>
</h3>
<em>May 16 '04; made by: jjancura</em>
<br>
<p>
We have added several new methods to fix issues in smart stepping implementation:
</p>
<ul>
<li>PropertyChangeListener added to SmartSteppingFilter.</li>
<li>JPDADebugger.getSmartSteppingFilter ()</li>
<li>SmartSteppingFilter.getExclusionPatterns ()</li>
<li>PropertyChangeListener added to EngineContextProvider.</li>
<li>EngineContextProvider.getOriginalSourceRoots()</li>
<li>EngineContextProvider.getSourceRoots()</li>
<li>EngineContextProvider.setSourceRoots()</li>
</ul>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="7.4761849934E10">JPDABreakpointEvent improvements.</a>
</h3>
<em>May 11 '04; made by: jjancura</em>
<br>
<p>
We have added several new properties to JPDABreakpointEvent:
</p>
<ul>
<li>ReferenceType</li>
<li>resume</li>
<li>Thread</li>
<li>Variable</li>
</ul>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="3.2358922484981184E17">Definition of various breakpoints has been generalized.</a>
</h3>
<em>May 10 '04; made by: jjancura</em>
<br>
<p>
We have changed ClassLoadUnloadBreakpoint to support class exclusion filters, and
more than one class filter. The same change was done for MethodBreakpoints too.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="8.9184289200997E14">Support methods for various new features added.</a>
</h3>
<em>May 9 '04; made by: jjancura</em>
<br>
<p>
Support for Fix Action improved. Support for Pop Frame action added. Support for static and
inherited fields added. New methods:
</p>
<ul>
<li>CallStackFrame.isObsolete ()</li>
<li>CallStackFrame.popFrame ()</li>
<li>JPDADebugger.canFixClasses ()</li>
<li>JPDADebugger.fixClasses(java.util.Map)</li>
<li>ObjectVariable.getAllStaticFields(int,int)</li>
<li>ObjectVariable.getInheritedFields(int,int)</li>
</ul>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="5.53699698E8">Breakpoint Listener added.</a>
</h3>
<em>May 4 '04; made by: jjancura</em>
<br>
<p>
JPDABreakpointEvent and JPDABreakpointListener classes added.
JPDABreakpoint.addJPDABreakpointListener (...) and JPDABreakpoint.removeJPDABreakpointListener (...)
methods added.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="1.13769488831109984E17">Support for synchronouous start of JPDADebugger added.</a>
</h3>
<em>May 3 '04; made by: jjancura</em>
<br>
<p>
Methods starting debugger has been modified to support synchronous start of debugging.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="1.9340801673202E13">JPDADebugger.getException() method added.</a>
</h3>
<em>Apr 20 '04; made by: jjancura</em>
<br>
JPDADebugger.getException() method added to. This is support for notifications about
problems during start of debugger.
<hr>
<p><span class="footnote">Built on September 14 2018.&nbsp;&nbsp;|&nbsp;&nbsp; Copyright &#169; 2017-2018 Apache Software Foundation. All Rights Reserved.</span></p>
</body>
</html>