** Render annotations in Javadoc hover/view. Do not render in Outline, etc. for now.

** Render annotations in Javadoc hover/view. Do not render in Outline, etc. for now.

** Refactoring dialogs that allow to modify types

** Refactoring dialogs that allow to modify types

−

* Receiver parameter on instance methods and inner class constructors

* Default Methods

* Default Methods

* Lambda Expressions

* Lambda Expressions

Revision as of 10:53, 20 March 2013

This page tracks the work in progress to add Java™ 8 support (mainly jsr308 "Type Annotations" and jsr335 "Lambda Expressions") into Eclipse JDT UI. See JDT Core/Java8 for the work in the JDT Core plug-ins.

Work areas

Annotations that moved to another node in the AST (under discussion in bug 403834)

MethodDeclaration#thrownExceptions() -> thrownExceptionsTypes()

Annotations on Extra Dimensions

Receiver parameter on instance methods and inner class constructors

Render annotations in Javadoc hover/view. Do not render in Outline, etc. for now.

Refactoring dialogs that allow to modify types

Default Methods

Lambda Expressions

check code that walks the parent chain to find the enclosing Block or BodyDeclaration

Method References

IMPORTANT NOTE

The following lines must be added in all headers of modified files for Java™ 8 implementation:

* This is an implementation of an early-draft specification developed under the Java
* Community Process (JCP) and is made available for testing and evaluation purposes
* only. The code is not compatible with any specification of the JCP.
*

Use the following @since tag on all newly added members: "3.9 BETA_JAVA8"

Things to remember/caveats

Goal of the first pass is to make Eclipse work with the new language features. For more advanced support (new quick fixes / refactorings / templates / ...), please file an enhancement request with the [1.8] tag.

Bugs that went into the BETA_JAVA8 branch should be RESOLVED/FIXED with Target Milestone "BETA_JAVA8" and the [1.8] tag in front of the summary.

For ASTNode changes:

Search for references to a changed AST Node and update code that relies on the concrete structure

TODOs

'default' flag:

show in the UI?

update JdtFlags?

The ITypeBinding of a TYPE_USE-annotated expression (e.g. ClassInstanceCreation or reference to a variable) doesn't contain the TYPE_USE annotations. References to "String s" and "@NonEmpty String ns" have identical type bindings. Should TYPE_USE annotations show up in reference bindings? Note that for some expressions, the annotated type is not defined by jsr 308, e.g. for the conditional expression here: