Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Java9/Features"

m
(6 intermediate revisions by 2 users not shown)
Line 10: Line 10:
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " |  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " |  
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Modules
+
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Modules]]
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Milling Project Coin]]
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Milling Project Coin]]
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Unicode support
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Unicode support
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#JRT/JDK9]]
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#JRT/JDK9]]
! width="180" align="center" style="background: none repeat scroll 0% 0% " | JMOD/JLink tools
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | JMOD/JLink tools
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Parser]] (Sasikanth)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Parser]] (Sasikanth)
Line 21: Line 21:
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Compiler (Sasi/Stephan)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Compiler (Sasi/Stephan)
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" | July  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" | July  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA   
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Reconciler (Sasi)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Reconciler (Sasi)
Line 35: Line 35:
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Error recovery (Sasi/Stephan)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Error recovery (Sasi/Stephan)
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " |  
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " |  
! width="180" align="center" style="background: none repeat scroll 0% 0% | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Code generation]] (Sasi)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Code generation]] (Sasi)
Line 48: Line 48:
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" |
+
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Java Model]] (Jay)  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Java Model]] (Jay)  
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" |  
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" |  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" | Note: Hover etc.
+
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" | bug 490103
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | Need to be investigated
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " |  
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#DOM AST]] (Manoj)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#DOM AST]] (Manoj)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |   
+
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | AST Rewrite (Manoj)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | AST Rewrite (Manoj)
Line 70: Line 70:
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Disassembler(Markus/Manoj)
+
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Disassembler]] (Markus/Manoj)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Formatter  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Formatter  
Line 84: Line 84:
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Indexer (Manoj)  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Indexer (Manoj)  
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |   
+
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" |  
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Search (manoj)  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Search (manoj)  
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |
+
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |  
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |  
+
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Code select (Jay)  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Code select]] (Jay)  
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" |  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" |  
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Code completion (Manoj)  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Code completion]] (Manoj)  
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" | in progress
+
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" | in progress
+
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |  
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" | in progress
+
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" | in progress
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#APT]] (Jay)  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#APT]] (Jay)  
Line 119: Line 119:
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | JSR 199 (Jay)  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#JSR 199]] (Jay)  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | Under investigation  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | Under investigation  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Batch Compiler]] (Jay)  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Batch compiler]] (Jay)  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" | In progress  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" | In progress  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% green;" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Editor (Noopur)
+
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Editor]] (Noopur)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |  
Line 142: Line 142:
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Quick Assist (Noopur)
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | [[#Quick assist]] (Noopur)
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |   
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " |   
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |   
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " |   
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA  
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Quick Fix (Noopur)
+
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Quick fix]] (Noopur)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |   
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Launch (Sarika)
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | [[#Refactoring]] (Noopur)
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |  
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | 
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | 
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 +
|-
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Launch]] (Sarika)
 +
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" | Excl (3)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |  
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | Debug (Sarika)
+
! width="180" align="center" style="background: none repeat scroll 0% 0% " | [[#Debug]] (Sarika)
 
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |  
 
! width="180" align="center" style="background: none repeat scroll 0% 0% yellow;" |  
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! width="180" align="center" style="background: none repeat scroll 0% 0% grey " | NA
 +
|}
 +
 
 +
<br>
 +
 
 +
{| cellspacing="0" cellpadding="5" border="1" style="width: 300px; height: 25px;"
 +
|-
 +
! style="background: none repeat scroll 0% 0% green;" | &nbsp;&nbsp;
 +
| Done
 +
|-
 +
! style="background: none repeat scroll 0% 0% rgb(206, 242, 206);" | &nbsp;&nbsp;
 +
| Substantially complete, with open items
 +
|-
 +
! style="background: none repeat scroll 0% 0% yellow;" | &nbsp;&nbsp;
 +
| In Progress
 
|-
 
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | UI (Noopur)
+
! style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | <br>
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
| Not Started yet
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
|-
! width="180" align="center" style="background: none repeat scroll 0% 0% " | NA
+
! style="background: none repeat scroll 0% 0% grey;" | <br>
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |  
+
| Not in September 2017 plan
! width="180" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" |
+
|-
 +
! style="background: none repeat scroll 0% 0% " | NA
 +
| Not Applicable
 
|}
 
|}
 +
 
== Compiler/Builder ==
 
== Compiler/Builder ==
  
Line 182: Line 206:
 
The IDE should support JavaSE9 as a valid EE and allow mapping a valid JRE/JDK 9.
 
The IDE should support JavaSE9 as a valid EE and allow mapping a valid JRE/JDK 9.
  
==== Jimage support (100%) ====
+
===== Jimage support (100%) =====
 
JDK/JRE 9 now ship with jimage files that contain all the platform resources. The resolved classpath of a project
 
JDK/JRE 9 now ship with jimage files that contain all the platform resources. The resolved classpath of a project
 
with JRE 9 will now contain a single entry representing the bootmodule.jimage. All JDT components should now
 
with JRE 9 will now contain a single entry representing the bootmodule.jimage. All JDT components should now
Line 192: Line 216:
 
Similarly it is not allowed to have regular code in a module-info.
 
Similarly it is not allowed to have regular code in a module-info.
  
==== Classfile support (100%) ====
+
==== <span id="Disassembler">Classfile support (100%) ====
 
The Classfile, ClassfileReader and friends should recognize a module-info.class and load the classfile content into  
 
The Classfile, ClassfileReader and friends should recognize a module-info.class and load the classfile content into  
a module, in a form useful to the resolution.
+
a module, in a form useful to the resolution.  
 +
 
 +
The Disassembler should recognize a module-info.class and load the classfile content from the different sections - see JVMS9 4.7.25-27 [ https://bugs.eclipse.org/bugs/show_bug.cgi?id=508889]
  
 
==== <span id="Code generation"></span>Code generation (80%) ====
 
==== <span id="Code generation"></span>Code generation (80%) ====
 
Compiler module-info.java need to be compiled into .class, in the format specified by the VM specification.
 
Compiler module-info.java need to be compiled into .class, in the format specified by the VM specification.
 
+
==== Disassembler support (0%) ====
+
==== <span id="Modules"></span>Module System ====
The Disassembler should recognize a module-info.class and load the classfile content from the different sections - see JVMS9 4.7.25-27 [ https://bugs.eclipse.org/bugs/show_bug.cgi?id=508889]
+
 
+
==== Module resolution ====
+
The parser will take care of checking for incorrect syntax in a module-info.java. However, we still need a semantic analysis.
+
Specifically, we might want to validate the following:
+
That the exported packages and other entities specified actually exist in this module
+
that all required modules are present in the current compilation context
+
+
==== <span id="Module System"></span>Module System ====
+
 
Module system is eclipse's implementation of the module system specified in JEP 261. Module system is responsible for  
 
Module system is eclipse's implementation of the module system specified in JEP 261. Module system is responsible for  
 
1. keeping track of modules in the current compilation context.
 
1. keeping track of modules in the current compilation context.
 
2. Help LookupEnvironment in finding packages and Types according to the module dependencies and readability.
 
2. Help LookupEnvironment in finding packages and Types according to the module dependencies and readability.
 
 
==== <span id="Batch compiler"></span>Batch compiler (50%) ====
+
 
JEP 261 specifies several new command line arguments. These need to be supported in ECJ. Notably -modulepath (shortly -mp) and -addexport.
+
==== Module resolution ====
==== JSR 199 support ====
+
:The parser will take care of checking for incorrect syntax in a module-info.java. However, we still need a semantic analysis.
 +
: Specifically, we might want to validate the following:
 +
:: That the exported packages and other entities specified actually exist in this module
 +
:: that all required modules are present in the current compilation context
 +
 
 +
==== <span id="Batch Compiler"></span>Batch compiler ====
 +
JEP 261 specifies several new command line arguments. These need to be supported in ECJ. Notably -modulepath (shortly -mp), --module-sourcepath and -addexport.
 +
==== <span id="JSR 199"></span>JSR 199====
 
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=479483)
 
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=479483)
 
 
 
====<span id="APT"></span> APT support ====
 
====<span id="APT"></span> APT support ====
==== Code Assist (90%) ====
+
https://bugs.eclipse.org/bugs/show_bug.cgi?id=517841
Code Completion (80%) - code completion support in, but with some new bugs (maybe introduced with the newer code ) - the top level bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=480612
+
Code Selection (100%) (https://bugs.eclipse.org/bugs/show_bug.cgi?id=510339)
+
  
 
==== <span id="Java Model"></span>Java Model ====
 
==== <span id="Java Model"></span>Java Model ====
Line 239: Line 261:
 
== UI ==
 
== UI ==
  
==== Syntax highlighting ====
+
==== <span id="Editor"></span>Module info editor ====
 
Editor should highlight the keywords in a module-info.java when opened in a Java editor.
 
Editor should highlight the keywords in a module-info.java when opened in a Java editor.
==== Code completion ====
+
==== <span id="Code completion">Code completion ====
 
Code completion should work on completion of packages, types and module names in a module-info.java
 
Code completion should work on completion of packages, types and module names in a module-info.java
==== Quick assist/fix ====
+
Code completion support in, but with some follow up bugs.
 +
The top level bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=480612
 +
==== <span id="Code select">Code Selection ====
 +
Code selection should work on completion of packages, types and module names in a module-info.java. Features such as
 +
navigation from/to module description to packages/types/modules and hover, Javadoc etc. should be supported.
 +
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=510339)
 +
==== <span id="Quick assist"></span>Quick assist====
 
What kind of assistance do we want to provide here?
 
What kind of assistance do we want to provide here?
==== Classfile viewer ====
+
==== <span id="Quick fix"></span>Quick fix====
Being able to load/view module-info.class in the Classfile viewer.
+
What kind of assistance do we want to provide here?
==== Export Java project into JMOD? ====
+
==== <span id="Refactoring"></span>Refactoring====
 +
What kind of assistance do we want to provide here?
 +
 
 +
== <span id="Quick fix"></span>Launch ==
 +
#JREContainer should be updated to work with a JRT based system where the system libraries are no longer packaged in a bunch of JAR files.
 +
#Launching an application from a module project should compute the module path and set the -mp VM arguments appropriately.
 +
#Provide a tab for the user to be able to add libraries to module path while launching, just like classpath.
 +
 
 +
== <span id="Quick fix"></span>Debug ==
 +
Evaluation, code snippet etc., debugging should be tested for all module
 +
 
 +
== <span id="Quick fix"></span>PDE ==
 +
Investigate scenarios of a PDE bundle with a module info (Vikas)
 +
 
 +
==Tooling==
 +
=== Export Java project into JMOD? ===
 
A Java project with a module or a module in a Java project can be exported to a JMOD. It is still
 
A Java project with a module or a module in a Java project can be exported to a JMOD. It is still
 
not clear whether this format is open for use by others.
 
not clear whether this format is open for use by others.
 
+
=== Export Java projects into Jimage? ===
==== Export Java projects into Jimage? ====
+
 
User should be able to select multiple modules in the workspace and export it to a jimage. It is still
 
User should be able to select multiple modules in the workspace and export it to a jimage. It is still
 
not clear whether this format is open for use by others.
 
not clear whether this format is open for use by others.
==== Modules in the package explorer. ====
+
=== Modules in the package explorer. ===
 
It needs to be decided how we want to represent the module in the package explorer.
 
It needs to be decided how we want to represent the module in the package explorer.
 
 

Revision as of 23:19, 25 July 2017

The goal of this wiki page is to list down all the high level features that are being considered in Eclipse IDE for Java 9. The features shall include all the essential ones, nice-to-have and migration related features if any. Also, wherever possible please categorize the features as to which Eclipse component it falls under and if there are any dependencies. For tracking purposes, it would be ideal to highlight what state a particular feature is in. Possible states are Study, Requirement gathering, design, implementation, testing etc.


Java 9 progress
#Modules #Milling Project Coin Unicode support #JRT/JDK9 JMOD/JLink tools
#Parser (Sasikanth) NA NA
Compiler (Sasi/Stephan) July NA NA
Reconciler (Sasi) NA NA
Error recovery (Sasi/Stephan) NA NA NA
#Code generation (Sasi) NA
#Java Model (Jay) bug 490103
#DOM AST (Manoj) NA NA NA
AST Rewrite (Manoj) NA NA NA
#Disassembler (Markus/Manoj) NA NA NA
Formatter NA NA NA
Indexer (Manoj) NA NA NA
Search (manoj) NA NA
#Code select (Jay) NA NA NA
#Code completion (Manoj) NA in progress NA
#APT (Jay) Under investigation NA NA NA NA
#JSR 199 (Jay) Under investigation NA NA NA NA
#Batch compiler (Jay) In progress NA NA NA
#Editor (Noopur) NA NA
#Quick assist (Noopur) NA NA NA
#Quick fix (Noopur) NA NA NA
#Refactoring (Noopur) NA NA NA
#Launch (Sarika) Excl (3) NA NA NA
#Debug (Sarika) NA NA NA NA


   Done
   Substantially complete, with open items
   In Progress

Not Started yet

Not in September 2017 plan
NA Not Applicable

Compiler/Builder

Java 9 EE and JRE 9 (80%)

The IDE should support JavaSE9 as a valid EE and allow mapping a valid JRE/JDK 9.

Jimage support (100%)

JDK/JRE 9 now ship with jimage files that contain all the platform resources. The resolved classpath of a project with JRE 9 will now contain a single entry representing the bootmodule.jimage. All JDT components should now be adjusted to work with the jimage format. Goal is to have all existing tests pass with a jigsaw build.

Parser support for module-info.java (100%)

Grammar needs to be improved to accommodate new syntax changes in a module-info.java. The parser should take care of rejecting invalid code in a module-info with proper error. For instance, annotations are not supported in a module-info. Similarly it is not allowed to have regular code in a module-info.

Classfile support (100%)

The Classfile, ClassfileReader and friends should recognize a module-info.class and load the classfile content into a module, in a form useful to the resolution.

The Disassembler should recognize a module-info.class and load the classfile content from the different sections - see JVMS9 4.7.25-27 [ https://bugs.eclipse.org/bugs/show_bug.cgi?id=508889]

Code generation (80%)

Compiler module-info.java need to be compiled into .class, in the format specified by the VM specification.

Module System

Module system is eclipse's implementation of the module system specified in JEP 261. Module system is responsible for 1. keeping track of modules in the current compilation context. 2. Help LookupEnvironment in finding packages and Types according to the module dependencies and readability.


Module resolution

The parser will take care of checking for incorrect syntax in a module-info.java. However, we still need a semantic analysis.
Specifically, we might want to validate the following:
That the exported packages and other entities specified actually exist in this module
that all required modules are present in the current compilation context

Batch compiler

JEP 261 specifies several new command line arguments. These need to be supported in ECJ. Notably -modulepath (shortly -mp), --module-sourcepath and -addexport.

JSR 199

(https://bugs.eclipse.org/bugs/show_bug.cgi?id=479483)

APT support

https://bugs.eclipse.org/bugs/show_bug.cgi?id=517841

Java Model

A big open question is where modules fits in the current Java model hierarchy. One way to go forward is to consider modules to be the following: 1. A kind of a package fragment root 2. A classpath location (IClasspathEntry, FileSystem.Classpath, ClasspathLocation etc.) This would mean that there could be multiple modules in a single Java projects. This is an open question that needs to be addressed (https://bugs.eclipse.org/bugs/show_bug.cgi?id=479483)

DOM AST (100%)

Ref https://bugs.eclipse.org/bugs/show_bug.cgi?id=487780

Milling Project Coin (100%)

see https://bugs.eclipse.org/bugs/show_bug.cgi?id=495954

UI

Module info editor

Editor should highlight the keywords in a module-info.java when opened in a Java editor.

Code completion

Code completion should work on completion of packages, types and module names in a module-info.java Code completion support in, but with some follow up bugs. The top level bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=480612

Code Selection

Code selection should work on completion of packages, types and module names in a module-info.java. Features such as navigation from/to module description to packages/types/modules and hover, Javadoc etc. should be supported. (https://bugs.eclipse.org/bugs/show_bug.cgi?id=510339)

Quick assist

What kind of assistance do we want to provide here?

Quick fix

What kind of assistance do we want to provide here?

Refactoring

What kind of assistance do we want to provide here?

Launch

  1. JREContainer should be updated to work with a JRT based system where the system libraries are no longer packaged in a bunch of JAR files.
  2. Launching an application from a module project should compute the module path and set the -mp VM arguments appropriately.
  3. Provide a tab for the user to be able to add libraries to module path while launching, just like classpath.

Debug

Evaluation, code snippet etc., debugging should be tested for all module

PDE

Investigate scenarios of a PDE bundle with a module info (Vikas)

Tooling

Export Java project into JMOD?

A Java project with a module or a module in a Java project can be exported to a JMOD. It is still not clear whether this format is open for use by others.

Export Java projects into Jimage?

User should be able to select multiple modules in the workspace and export it to a jimage. It is still not clear whether this format is open for use by others.

Modules in the package explorer.

It needs to be decided how we want to represent the module in the package explorer.


Migration path:

Convert a given Java project into module

Convert a source path into module

Generate module-info from MANIFEST?

==== Convert a PDE bundle into module? ====

Back to the top