Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
JDT UI/Java8
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.
IMPORTANT NOTE
- The following lines should 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. *
DOM AST node changes in JLS8
If everything is correct, then you should find these as references to ASTNode#unsupportedIn2_3_4() and #supportedOnlyIn2_3_4().
+AnnotatableType (abstract superclass): +annotations: List<Annotation> (also in subtypes PrimitiveType, ArrayType, SimpleType, QualifiedType, WildcardType) +ExtraDimensions +annotations: List<Annotation> +LambdaExpression: +parentheses: boolean +parameters: List<SingleVariableDeclaration> or List<VariableDeclarationFragment> +body: Block or Expression +resolveMethodBinding(): IMethodBinding ~MethodDeclaration: +extraDimensions: List<ExtraDimension> (incl. annotations on extra dimensions) +receiverType: AnnotatableType +receiverQualifier: SimpleName -thrownExceptions: List<Name> +thrownExceptionTypes: List<Type> ~SingleVariableDeclaration: +varargsAnnotations: List<Annotation> ~TypeParameter: +annotations: List<Annotation> ~VariableDeclaration: +extraDimensions List<ExtraDimension> (also in subtypes SingleVariableDeclaration, VariableDeclarationFragment)
For JLS4, the changes were:
~TryStatement: +resources: List<VariableDeclarationExpression> +UnionType +types: List<Type>
TODOs
- 'default' flag:
- show in the UI?
- update JdtFlags?