Bug 71129 - [plan item] Improve program manipulation infrastructure
Summary: [plan item] Improve program manipulation infrastructure
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: All All
: P4 enhancement with 1 vote (vote)
Target Milestone: 3.2   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: plan
: 36941 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-07-29 17:51 EDT by Jim des Rivieres CLA
Modified: 2006-06-02 12:07 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jim des Rivieres CLA 2004-07-29 17:51:46 EDT
Parts of the Java model are still implemented in terms of the deprecated JDOM, 
an early precursor of the AST facility. JDT should move to an AST-based 
implementation of the Java model. All source and refactoring operations should 
be rewritten to use common program manipulation infrastructure based on ASTs 
and AST rewriting. AST creation in the presence of syntax errors should be 
improved to include partial bindings for the code that lexically precede the 
syntax error. The performance of AST creation should be improved by using a 
special parser and eliminating one internal layer of ASTs. There should also 
be better support for navigating between a node in an AST (or an AST binding) 
and the corresponding element in the Java model (which would benefit views 
that present type hierarchies). [JDT Core, JDT UI]
Comment 1 Jim des Rivieres CLA 2004-07-29 17:53:11 EDT
This plan item subsumes plan item bug 36941; see also bug 42253.
Comment 2 Jim des Rivieres CLA 2004-07-29 18:16:45 EDT
*** Bug 36941 has been marked as a duplicate of this bug. ***
Comment 3 Dirk Baeumer CLA 2005-05-26 17:56:37 EDT
Philippe, the parts mention regarding JDT/UI have been done for 3.1. I move the
PR to JDT/Core to decide on the rest of the items.
Comment 4 Philipe Mulet CLA 2005-06-23 19:44:08 EDT
Removing target since remaining items got deferred as per plan.

JDOM got migrated to using DOM AST for 3.1. The model itself did not convert
since  the characteristics of each are different. 

Also making DOM AST more resilient to syntax errors is still work to complete.

Special parser got investigated, but not successful since there was no easy way
to plug DOM nodes into our parser backend so as for them to act as specialized
compiler nodes (to act well in subsequent stages of compilation required to
compute bindings). DOM nodes do not offer flexibility in their inheritance.

Bridging amongst model and DOM got achieved for 3.1.
Comment 5 Olivier Thomann CLA 2006-06-02 12:07:10 EDT
All model operations are now using the DOM/AST infrastructure.
Fixed for 3.2.