blob: 2ae2c911c1eefacbb58ae306cd4c7e59091f5c95 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<link rel="STYLESHEET" href="http://www.eclipse.org/default_style.css" charset="ISO-8859-1" type="text/css">
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>AJDT 1.6.2- New and Noteworthy</title>
</head>
<body>
<h1>AJDT 1.6.2 - New and Noteworthy</h1>
<table border="0" cellpadding="10" cellspacing="0" width="80%">
<tbody>
<tr>
<td valign="top"><b>Overview</b></td>
<td valign="top">
The theme of this release is <em>Aspects Everywhere</em>. Programmers using AJDT should be able to see the effects of their aspects wherever and whenever they apply. We have particularly focused on ensuring that the IDE treats intertype declarations more like regular declarations.
</td>
</tr>
<tr>
<td colspan="2">
<hr></td></tr>
<tr>
<td valign="top"><b>JDT Weaving</b></td>
<td>
Through the use of <a href="http://www.eclipse.org/equinox/incubator/aspects/index.php">Equinox Aspects</a>, AJDT is able to weave into Eclipse and hook in to existing functionality that was not exposed before. For more information on what capabilities the JDT Weaving plugin provides AJDT, see <a href="http://wiki.eclipse.org/JDT_weaving_features">the wiki</a>. And <a href="http://wiki.eclipse.org/JDT_weaving_implementation">see here</a> for more information on how the plugin is implemented.
</td>
</tr>
<tr>
<td colspan="2">
<hr></td>
</tr>
<tr><td valign="top"><b>ITD aware content assist</b> (*.aj files only)</td>
<td>
<p>Intertype declared methods, fields, and constructors are now available in content assist. Similarly, appropriately scoped declarations from declare parent super types are also available in content assist.</p>
<p>For example, in the following screen shots, content assist shows the <code>getX()</code> and <code>getY()</code>, which are intertype declarations on the class.</p>
<p>
<font size="-1"><em>Content assist in <strong>AJDT 1.6.2</strong> includes ITDs.</em></font><br/>
<img border="1" src="contentassist162.jpg"/>
</p>
<p>
However, this was not possible in AJDT 1.6.1.
</p>
<p>
<font size="-1"><em>Content assist in <strong>AJDT 1.6.1</strong> does not include ITDs.</em></font><br/>
<img border="1" src="contentassist161.jpg"/>
</p>
<p>
Currently, this functionality is only available in AJ Editors for *.aj files. Also, the project is required to have had a successful build. Adding this functionality to *.java files is a top priority for the next AJDT release.
</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr></td>
</tr>
<tr><td valign="top"><b>ITD aware reconciling</b> (*.aj and *.java)</td>
<td>
<p>Intertype declaration aware reconciling and eager parsing are now available in both AJ and Java editors. This means that ITD references in a compilation unit will no longer show spurious error bars. Furthermore, AJ editors now provide the same kind of eager error detection as you type that is available in Java editors.</p>
<p>
<font size="-1"><em>Reconciling in <strong>AJDT 1.6.2</strong> and ITD references are OK</em></font><br/>
<img border="1" src="reconciling162.jpg"/>
</p>
<p>
<font size="-1"><em>Reconciling in <strong>AJDT 1.6.1</strong> and ITD references are marked as errors in Java files</em></font><br/>
<img border="1" src="reconciling161.jpg"/>
</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr></td>
</tr>
<tr><td valign="top"><b>ITD aware super-type hierarchies</b></td>
<td>
<p>The type hierarchy view now shows types inserted into the hierarchy through a declare parents declaration.</p>
<p>
<font size="-1"><em>Super-type hierarchies in <strong>AJDT 1.6.2</strong> include ITDs</em></font><br/>
<img border="1" src="hierarchy162.jpg"/>
</p>
<p>
<font size="-1"><em>Super-type hierarchies in <strong>AJDT 1.6.1</strong> do not include ITDs</em></font><br/>
<img border="1" src="hierarchy161.jpg"/>
</p>
<p>Note that in this release, AJDT can only show <em>super</em> types that have been declared by declare parents. The sub-type hierarchy is not yet ITD aware.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr></td>
</tr>
<tr><td valign="top"><b>Aspects in Open-Type dialogs</b></td>
<td>
The open type dialog now includes aspect types. <br/>
<img border="1" src="opentype162.jpg"/>
</td>
</tr>
<tr>
<td colspan="2">
<hr></td>
</tr>
<tr><td valign="top"><b>Java search for aspects, named pointcuts, and advice</b></td>
<td>
<p>Java search now includes aspects, named pointcuts, and advice.</p>
<p>In order to search for a named pointcut, use the search dialog and select <em>Method</em>:<br/>
<img border="1" src="searchdialog.jpg"/><br/><br/>
If <em>All occurrences</em> is selected, then the results will include both declarations and references of the named pointcut:<br/>
<img border="1" src="search162.jpg"/>
</p>
<p>
Advice can similarly be searched for by entering the kind of advice (before, after, or around), selecting <em>Method</em>, and <em>Declarations</em>:<br/>
<img border="1" src="searchdialog-advice.jpg"/><br/><br/>
The result shows all advice declarations of the chosen kind:<br/>
<img border="1" src="search-advice.jpg"/>
</p>
<p>
Aspect references and declarations now appear when types are searched for.
</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr></td>
</tr>
<tr><td valign="top"><b>Refactoring</b></td>
<td>
Standard rename, move, and copy/paste refactorings can now be applied to aspect compilation units (*.aj files) without errors or uncaught exceptions.
</td>
</tr>
<tr>
<td colspan="2">
<hr></td>
</tr>
<tr>
<td valign="top"><b>Bug fixes</b></td>
<td>
Many bug long standing bugs have finally been addressed due to the capabilities provided through JDT Weaving:
<ul>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71073">71073</a> [jdt-weaving] java search not supported in AJDT</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106589">106589</a> [jdt-weaving] [editor] [completion] Missing Containing Class Name on Add Imports</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=121604">121604</a> [jdt-weaving] [editor] A type containing main() and an aspect cannot be executed</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=131467">131467</a> [jdt-weaving] [debug] Support navigation to stack trace entries from .aj files</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=132370">132370</a> [jdt-weaving] Internal duplication: Java and AspectJ modes</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=133119">133119</a> [jdt-weaving] [navigation] Show in package explorer doesn't work for .aj files</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=149711">149711</a> [jdt-weaving] [editor] .java file cannot refer to class in .aj files</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=151067">151067</a> [jdt-weaving] [refactoring] alleged syntax error blocks refactor-rename</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=177733">177733</a> [jdt-weaving] Investigate use of AOSGi</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188845">188845</a> [jdt-weaving] [editor] Organize Imports removes necessary import definition</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=213513">213513</a> [jdt-weaving] [editor] [refactoring] Files deleted upon failed move refactoring of aspect (.aj) file</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236352">236352</a> [jdt-weaving] [editor] Imports are not organized properly when editing a *.aj source.</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240021">240021</a> [jdt-weaving] Gaining control of CompilationUnit creation in JDT through the use of Aspects</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240047">240047</a> [jdt-weaving] How to ship AJDT that weaves into JDT core</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=252696">252696</a> [jdt-weaving] [completion] Content assist should include declarations from ITDs</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=254431">254431</a> [jdt-weaving] [refactoring] Unable to rename a package whose aspects are used by another package</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=256989">256989</a> [jdt-weaving] [editor] UI incorrectly evaluates type of 'this' in an inter-type method</li>
</ul>
Other bugs that we have fixed for 1.6.2:
<ul>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=114911">114911</a> Support overriding inherited abstract methods in the new aspect wizard</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=154501">154501</a> [editor] Add gutter marker for deow members in an aspect</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238717">238717</a> [build] Removing source folder does not remove resources from output folder</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=214815">214815</a> [build] [multiproject] Currently too difficult to selectively choose what is exported from an AspectJ project that uses inpath</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240234">240234</a> [ajdoc] Generate AJDoc command fails on projects with large number of files</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241447">241447</a> [headless-build] Patch so that AJDT 1.6 passes all tests.</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=246949">246949</a> Could not open the aspectj editor on *.aj files</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=249072">249072</a> Syntax highlight @xxx pointcuts</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=252304">252304</a> [build] Build Timestamps are inconsistent</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=252624">252624</a> [editor] Early problem indication (Report errors as you type) not working.</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=253245">253245</a> [API] AJDT 1.6.1 breaks Spring IDE</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=253528">253528</a> [build] Compilation folder is not marked as 'Derived'</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=254980">254980</a> [editor] Quick fix is not working</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=255548">255548</a> Compiler exception using iajc in headless build</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=257438">257438</a> [handles] error occurred during: Delete and update AspectJ markers</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=258685">258685</a> [editor] Editor shows an error on 'case' label with enum constant</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=258698">258698</a> [markers] Class cast exception when adding AspectJ markers to a .class file</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=259033">259033</a> Plug-in org.eclipse.ajdt.ui was unable to load class org.eclipse.ajdt.internal.ui.resources.AJImageDescriptorSelector.</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=259034">259034</a> trying something with the weaving AJDT tool set</li>
<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=259035">259035</a> Error in JDT Core during reconcile</li>
</ul>
</td>
</tr>
<tr>
<td colspan="2">
<hr></td>
<tr>
<td valign="top"><b>Thanks!</b></td>
<td>
Thanks to all the AJDT users who provided valuable insight into how they are using AJDT and also for reporting bugs particularly with JDT Weaving installation.<br/>
<br/>
And a special thanks goes out to Martin Lippert and Heiko Seeberger on the Equinox Aspects team for helping out with weaving in OSGi.
</td>
</tr>
<tr>
<td colspan="2">
<hr></td>
<tr>
<td valign="top"><b>Previous Releases</b></td>
<td>
See <a href="http://www.eclipse.org/ajdt/whatsnew161/index.html">here</a>
for information on the new features in AJDT 1.6.1.
</td>
</tr>
</tbody>
</table>
</body></html>