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 |