Bug 265041 - [plan][split]JDTWorld for matching
Summary: [plan][split]JDTWorld for matching
Status: NEW
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows NT
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 265029 265045
  Show dependency tree
 
Reported: 2009-02-16 12:29 EST by Andrew Clement CLA
Modified: 2013-06-24 11:05 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Clement CLA 2009-02-16 12:29:32 EST
With the work done to split matching and weaving, we can build a JDTWorld that will enable matching without compilation.  Preliminary work has started but it has uncovered that we are sorely lacking reusable pointcut test suites for the world, particular that use Java5 features (generics/annotations in pointcuts).

Due to the sheer scale of the issue we need to create a roadmap for this:

1. Complete coverage of execution() pointcuts (Spring IDE wishes to exploit the JDTWorld)
2. Create a JDTTypeWalker that can walk a JDT element and create all the join points that occur within any given piece of code (initially just create execution join points)
3. Wire these two together and build the higher level API
4. Expand into further pointcuts (testcases and in JDTTypeWalker), first without Java5
5. Expand into further pointcuts (testcases and in JDTTypeWalker), with Java5

Note that in terms of actual new code to write, the only code that will be included in distributions is the JDTWorld and JDTTypeWalker - there is probably not much to do within the pointcut classes themselves, we know they work fine - it is just the tests that need writing so we can verify the behaviour across new World implementations rather than only with a BcelWorld.
Comment 1 Andrew Eisenberg CLA 2009-02-16 12:59:41 EST
Trying to figure out how AJDT can use this.  Currently, AJDT's access to the structure model is primarily through IHierarchy and IRelationshipMap objects.

Could a JDTWorld object (eventually) be used to create and populate IHierarchy and IRelationshipMap objects?  This would be the ideal way for AJDT to manage crosscutting relationships for LTW.

I am going to open a new enhancement request to discuss this.
Comment 2 Andrew Eisenberg CLA 2009-02-16 22:35:41 EST
My preliminary thoughts on how AJDT mught be able to use this are now covered in bug 265029.
Comment 3 Andrew Clement CLA 2013-06-24 11:05:54 EDT
unsetting the target field which is currently set for something already released