Difference between revisions of "JDT UI/Java8"

From Eclipsepedia

Jump to: navigation, search
(New page: 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 wo...)
 
Line 11: Line 11:
 
= DOM AST node changes in JLS8 =
 
= DOM AST node changes in JLS8 =
  
  + AnnotatableType (abstract superclass):
+
  +AnnotatableType (abstract superclass):
   + annotations (also in subtypes PrimitiveType, ArrayType, SimpleType, QualifiedType, WildcardType)
+
   +annotations: List<Annotation> (also in subtypes PrimitiveType, ArrayType, SimpleType, QualifiedType, WildcardType)
 
   
 
   
  + ExtraDimensions
+
  +ExtraDimensions
   + annotations
+
   +annotations: List<Annotation>
 
   
 
   
  MethodDeclaration:
+
  +LambdaExpression:
   +extraDimensions (incl. annotations on extra dimensions)
+
   +parentheses: boolean
   +receiverType
+
   +parameters: List<SingleVariableDeclaration> or List<VariableDeclarationFragment>
   +receiverQualifier
+
   +body: Block or Expression
  -thrownExceptions
+
   +resolveMethodBinding(): IMethodBinding
   +thrownExceptionTypes
+
 
   
 
   
  SingleVariableDeclaration:
+
  ~MethodDeclaration:
   +varargsAnnotations
+
   +extraDimensions: List<ExtraDimension> (incl. annotations on extra dimensions)
 +
  +receiverType: AnnotatableType
 +
  +receiverQualifier: SimpleName
 +
  -thrownExceptions: List<Name>
 +
  +thrownExceptionTypes: List<Type>
 
   
 
   
  TypeParameter:
+
  ~SingleVariableDeclaration:
   +annotations
+
   +varargsAnnotations: List<Annotation>
 
   
 
   
  VariableDeclaration:
+
  ~TypeParameter:
   +extraDimensions (also in subtypes SingleVariableDeclaration, VariableDeclarationFragment)
+
   +annotations: List<Annotation>
 
   
 
   
  + LambdaExpression:
+
  ~VariableDeclaration:
   + parentheses
+
   +extraDimensions List<ExtraDimension> (also in subtypes SingleVariableDeclaration, VariableDeclarationFragment)
  + parameters
+
  + body
+
  + resolveMethodBinding()
+
  
 
For JLS4, the changes were:
 
For JLS4, the changes were:
  
  + UnionType
+
  ~TryStatement:
   + types
+
   +resources: List<VariableDeclarationExpression>
 
   
 
   
  TryStatement:
+
  +UnionType
   + resources
+
   +types: List<Type>
 
+
  
 
[[Category:JDT]]
 
[[Category:JDT]]

Revision as of 12:32, 7 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.

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

+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>