<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
  <meta http-equiv="Content-Type"
 content="text/html; charset=iso-8859-1">
  <title>JDT UI Component Development Resources</title>
  <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
 type="text/css">
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
&nbsp;
<table border="0" cellpadding="2" cellspacing="5" width="100%">
  <tbody>
    <tr>
      <td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font
 face="Arial,Helvetica"><font color="#ffffff">org.eclipse.jdt.astview
- AST View<br>
      </font></font></b></td>
    </tr>
    <tr>
      <td align="right" valign="top" width="2%"><img src="Adarrow.gif"
 border="0" height="16" width="16"></td>
      <td width="98%"><b>Purpose</b>
      <p>A view to visualize the AST (abstract syntax tree) of a Java
file open in the editor. Navigate from text selection to AST nodes and
from nodes to selections.<br>
      </p>
      </td>
    </tr>
    <tr>
      <td align="right" valign="top" width="2%"><img src="Adarrow.gif"
 border="0" height="16" width="16"></td>
      <td width="98%"><b>Install</b><br>
      <p>for Eclipse 3.1 RC1 or greater:<br>
      </p>
      <div style="margin-left: 40px;"><span style="font-weight: bold;">ASTView
version 1.0.5 &nbsp;&nbsp; </span><a
 href="org.eclipse.jdt.astview_1.0.5.zip">org.eclipse.jdt.astview_1.0.5.zip</a><span
 style="font-weight: bold;"><br>
      </span></div>
      <p>for Eclipse 3.0.x:<br>
      </p>
      <div style="margin-left: 40px;"><span style="font-weight: bold;">ASTView
version 1.0.1&nbsp;&nbsp;&nbsp; </span><a
 href="org.eclipse.jdt.astview_1.0.1.zip">org.eclipse.jdt.astview_1.0.1.zip</a><br>
      </div>
      <br>
      <p>or use the update site<br>
      </p>
      <div style="margin-left: 40px;"><span style="font-weight: bold;"></span><span
 style="font-weight: bold;">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-ui-home/plugins/org.eclipse.jdt.astview/AST-View-Site</span><br>
      </div>
      </td>
    </tr>
    <tr>
      <td align="right" valign="top" width="2%"><img src="Adarrow.gif"
 border="0" height="16" width="16"></td>
      <td width="98%"><b>Usage</b>
      <ol>
        <li>Open the AST view from the view menu: Window &gt; Show View
&gt; Other... Java &gt; AST View </li>
        <li><font color="#000000">Open a Java file in the editor </font>
        </li>
        <li>Click on 'Show AST of active editor' (<img
 style="width: 16px; height: 16px;" src="setfocus.gif" alt=""> ) to
populate the view: The view shows the AST of the file opened in the
editor and will also reveal the element corresponding to the current
text selection<br>
        </li>
        <li><font color="#000000">Enable 'Link with editor' (</font><img
 style="width: 16px; height: 16px;" src="synced.gif" alt="">) to
automatically track the active editor and the selection in the active
editor.<br>
        </li>
        <li>Double click on AST nodes to get the corresponding element
revealed in the editor.</li>
        <li>Double click again to see the 'extended range' of a node,
that means the range including all comments associated with it (comment
mapper heuristic).</li>
        <li>When the AST's underlying document has been changed use
'Refresh' (<img style="width: 16px; height: 16px;" src="refresh.gif"
 alt="">)&nbsp; to update the AST.<br>
        </li>
      </ol>
      <b>AST View Elements</b><br>
      <br>
The AST view shows the following nodes<br>
      <img alt="AST View" src="view.gif"><br>
      <ul>
        <li>AST nodes are shown in gray color and with source range
information. Children of AST nodes are the node properties.<br>
        </li>
        <li>node properties have names that are all all capitalized.
Node properties represent lists of child nodes, a child node or a
primitive node attribute (String, int or boolean)<br>
        </li>
        <li>bindings are shown in blue. Only selected bindings are
shown</li>
      </ul>
Version <a href="org.eclipse.jdt.astview_1.0.0.zip">1.0</a><br>
      <div style="margin-left: 40px;">initial version<br>
      </div>
Version <a href="org.eclipse.jdt.astview_1.0.1.zip">1.0.1</a><br>
      <div style="margin-left: 40px;">shows all binding properties,
comment nodes
attached to the root compilation unit and compiler problems detected in
the AST.<br>
      </div>
Version <a href="org.eclipse.jdt.astview_1.0.2.zip">1.0.2</a><br>
      <div style="margin-left: 40px;">update to latest 5.0 AST API's<br>
comparison tray to test binding API with arguments<br>
test ASTs created by 'reconcile'<br>
      </div>
Version <a href="org.eclipse.jdt.astview_1.0.3.zip">1.0.3</a>
(requires Eclipse 3.1 I20050118 or higher)<br>
      <div style="margin-left: 40px;">bug fixes to run on I20050118<br>
      </div>
Version <a href="org.eclipse.jdt.astview_1.0.4.zip">1.0.4</a>
(requires
Eclipse 3.1 M5 or higher)<br>
      <div style="margin-left: 40px;"> turn bindings on / off<br>
bug fixes to run on 3.1 M5<br>
      </div>
Version <a href="org.eclipse.jdt.astview_1.0.5.zip">1.0.5</a><img
 alt="New" src="new.gif" style="width: 31px; height: 14px;"> (requires
Eclipse 3.1 RC1 or higher)<br>
      <div style="margin-left: 40px;"> hide / show non-relevant type
binding attributes (e.g. don't show dimensions if type is not array
type)<br>
bug fixes to run on 3.1 RC1<br>
      </div>
      <br>
      <span style="font-weight: bold;">Advanced Features</span><br>
      <ul>
        <li>You can toggle between the AST Level 2 and AST level 3 in
the view menu (triangle). AST level 3 is the extended and modified AST
that includes the new 5.0 language constructs. Note that the AST level
3 is only available in 3.1 builds<br>
        </li>
      </ul>
      <span style="font-weight: bold;">Comments and Requests</span><br>
      <ul>
        <li>Source is included in the plugin archive<br>
        </li>
        <li>Comments to&nbsp; <a
 href="mailto:Martin_Aeschlimann%5Bat%5Dch.ibm.com">Martin_Aeschlimann[at]ch.ibm.com<br>
          </a></li>
      </ul>
      <br>
Thanks and credits go to Christian Hauser: The current AST view plugin
is based his AST view implementation from the Zuerich Code Camp. Thanks
a lot!<br>
Version 1.0.2 credits go to Markus Keller!<br>
      </td>
    </tr>
    <tr>
      <td style="vertical-align: top;"><br>
      </td>
      <td style="vertical-align: top;"><br>
      </td>
    </tr>
  </tbody>
</table>
</body>
</html>
