Tasks

This page contains a list of AJDT feature development tasks pending or recently completed. Anyone is welcome to contribute to the project, either by picking one of these tasks and working on it, or by adding new features, enhancements and bug fixes not on this list. If you would like to see a new item on this list please let us know by raising an enhancement request in bugzilla. We use bugzilla to track all active & outstanding work items for AJDT, both bugs and features (recorded as enhancements in bugzilla). If you want to work on a task, please let one of the committers know (via the aspectj-dev list for example) so that we don’t duplicate effort. If you have a great idea for an AJDT feature or enhancement that’s not on the list, let us know and we’ll add it!

Tasks

Description of task Status Owner Release

AspectJ Search

Support searching for AspectJ constructs within the JDT search dialog.
Will be implemented through JDT-weaving (bug 71073) Andrew Eisenberg 1.6.1

Content Assist (Ctrl + space)

Content assist now works well in many cases. This is implemented by getting JDT to provide completions for modified versions of the buffer. We're close to the limits of this approach - for full aspect aware code assist, e.g. completions on pointcut names and parameters following the beginning of an advice statement, we need our own completion processor.
Not yet assigned Not yet assigned Not yet planned

Tooltip descriptions (F2)

For AspectJ keywords show an expanded version of the AspectJ Quick Reference summary for that construct. For AspectJ declarations, show the javadoc (ajdoc) comment and signature for those declarations.
Not yet assigned Not yet assigned Not yet planned

Parameter Hints (Ctrl + shift + space)

For pointcuts, shows the possible matching points – e.g. call([visibility] return_type TypePattern.MethodNamePattern( ArgsPattern ). To be investigated to see whether this would be useful or not.
Not yet assigned Not yet assigned Not yet planned

Java Refactoring Support

Ensure that existing refactorings in Eclipse work correctly in the presence of aspects.
Started with Rename participation (bug 158954) Matt Chapman 1.4.1 / 1.5

AspectJ Refactoring Support

Add aspect-specific refactorings.
Not yet assigned Not yet assigned Not yet planned

Complete debugging support

The remaining work in this area is to tidy up the stack, to avoid exposing internal compiler generated names.
Not yet assigned Not yet assigned Not yet planned

Pointcut Matcher

This view would allow you to enter a (static?) pointcut expression – either by directly typing or by using the pointcut wizard and see the matches in a search results list and also in a visualiser like view. Optionally may support naming and saving of queries.
In progress Julie Waterhouse, Mik Kersten Not yet planned

Pointcut Wizard

The pointcut wizard guides you step by step through the process of creating a pointcut that does what you want. It encourages good style, teaches an AO way of thinking about pointcuts, and has knowledge of common idioms.
Not yet assigned Not yet assigned Not yet planned

Pointcut Reader

This is a sophisticated form of tooltip for a pointcut declaration which “reads” the pointcut in plain English.
Not yet assigned Not yet assigned Not yet planned

Recently Completed Tasks

Description of task Status Owner Release

Launch support for Load Time Weaving

We now have AspectJ run configuration support. We need to determine what to add to this to support load time weaving.
Completed (bug 71066) Sian January 1.2.1

Cross Reference View

New view which shows the crosscutting relationships of the current item
Completed Helen Hawkins 1.2

Store project options

Store AspectJ project options in a visible file, which can then be checked in. This would include injar and aspectpath settings etc. JDT has added an mechanism for this in Eclipse 3.1.
Completed Matt Chapman 1.2

Outline view

The outline view needs to use the structure from the eager parser, like the package explorer.
Completed Matt Chapman 1.2

Crosscutting Changes View

This view update would update after a build with details of any new crosscutting relationships, as well as any relationships which no longer exisit e.g. method XX was previously advised but isn't any more. This could be useful when refactoring.
Completed (bug 90490) Matt Chapman 1.2.1

Symmetric advises / advised by markers

Add editor markers linking advice to the places being advised.
Completed (bug 78962) Matt Chapman 1.2

Incremental Compilation

Make incremental compilation the default mode. It is currently off by default, with a preference page option to turn it on. When incremental is enabled, do we still need the AspectJ build button? (It would be nice to get rid of it if we can).
Completed Andy Clement 1.2

Aspect Refactoring Verification

Compares a query (for example “call(void Canvas.updateHistory(..))” ) against an aspect supplying advice (for example, “after() returning: execution(* FigureElement+.set*(..)) { Canvas.updateHistory(); }” ) and shows the places the query catches that the aspect doesn’t, and vice-versa. Very useful support as part of the “Extract to Aspect” refactoring.
Completed (bug 113723) Charles Zhang, Julie Waterhouse 1.4

AspectJ AST

Make the AspectJ structure model easily available to extenders
Completed (bug 88861) Andy Clement 1.4