Community
Participate
Working Groups
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]
This plan item subsumes plan item bug 36941; see also bug 42253.
*** Bug 36941 has been marked as a duplicate of this bug. ***
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.
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.
All model operations are now using the DOM/AST infrastructure. Fixed for 3.2.