From 081dd29fa064894386f29629de1ee9fa34b0d023 Mon Sep 17 00:00:00 2001 From: "Jurgen J. Vinju" Date: Thu, 7 Nov 2024 11:51:41 +0100 Subject: [PATCH] added more notes --- release-notes/rascal-0-40-x-release-notes.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/release-notes/rascal-0-40-x-release-notes.md b/release-notes/rascal-0-40-x-release-notes.md index 97b6eef1b..079982fa8 100644 --- a/release-notes/rascal-0-40-x-release-notes.md +++ b/release-notes/rascal-0-40-x-release-notes.md @@ -19,3 +19,19 @@ The following issues were solved: Standard library maintenance: * Accurate and correct parsers of Windows and Unix file paths were added to the standard library. +* `HTMLElement(loc src = |unknown:///|)` was added to position every tag from start to end via the `src` attribute. + +The Java model has received big maintenance love and attention: +* Bumped and upgraded to the JDT version from Eclipse 2020-03 +* The AST nodes in `lang::java::m3::AST` now all satisfy the AST contract in `analysis::m3::AST`. This means that +all source code elements are represented in the tree, annotated with `src` origins and ordered from left-to-right as +they were in the original source file. +* The constructors: enum, enumConstant, compilationUnit, class, interface, method, field, etc. etc. all received +extra positional parameters for the concept of modifiers. Before these were modelled as keyword parameters, but +that invalidated the earlier mentioned AST contract. +* An AST and M3 model of the Java 9 module system was added. +* The `isSuper` boolean was removed from the AST definition of methodInvocation and `new` calls, also to satisfy the AST contract. +* Java Annotations AST constructors were moved from Expression to Declaration. +* String based unary and binary operator constructors for Expressions were unfolded to a constructor for each operator, i.e. `plus(Expression, Expression) instead of `binop(Expression, "+", Expression)` +* TODO +