You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+71-1Lines changed: 71 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,14 +2,21 @@
2
2
3
3
All notable changes to this project will be documented in this file.
4
4
5
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) beginning with version [Unreleased].
6
6
7
7
## [Unreleased]
8
8
9
9
### Added
10
10
11
+
- Trivial recovery strategy to generate model elements for unresolved proxy objects
12
+
- Parser: `TextBlock`s are converted to `TextBockReference`s so that model elements are generated for text blocks
13
+
11
14
### Changed
12
15
16
+
- Minimum required Java version: Java 17
17
+
- Supported Eclipse version: 2022-12
18
+
- Third variant: bindings of parameters and local variables are also resolved
19
+
13
20
### Deprecated
14
21
15
22
### Removed
@@ -18,6 +25,69 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
18
25
19
26
### Security
20
27
28
+
## [5.1.0] - 2022-01-21
29
+
30
+
From here, independent development by the Institute of Information Security and Dependability (KASTEL) at the Karlsruher Institute of Technology (KIT) resulting in the following changes.
31
+
32
+
### Added
33
+
34
+
- Meta-model support for features of Java 7-15:
35
+
- Java 7
36
+
- Diamond in class instance creation expressions
37
+
- `try`-with-resources statements
38
+
- Multi-`catch`
39
+
- Binary integer literals
40
+
- Java 8
41
+
- Lambda expressions
42
+
- Method reference expressions
43
+
- Receiver parameters
44
+
- Default interface methods
45
+
- Further positions of annotations
46
+
- Java 9
47
+
- Modules
48
+
- Java 10/11
49
+
-`var` as local variable type
50
+
- Java 14
51
+
- Switch expressions
52
+
- Java 15
53
+
- Text blocks
54
+
- Meta-model extensions:
55
+
-`origin` field in the `JavaRoot` to represent the source (source file, class file, file from an archive, binding) of a Java model
56
+
-`Reference`s include an optional list of `TypeReference`s to store concrete types and type arguments in contexts in which the types are usually inferred
57
+
- Manual printer implementation
58
+
- Parser implementation based on Eclipse JDT which converts the AST to a model
59
+
- First variant for the reference resolution: Eclipse JDT bindings are used to directly set references
60
+
- Third variant for the reference resolution (as combination of first and second one): proxy objects which are set for references can be resolved after the parsing (based on the Eclipse JDT bindings) or on demand
61
+
62
+
### Changed
63
+
64
+
- Minimum required Java version: Java 11
65
+
- Supported Eclipse version: 2021-12
66
+
- Update to Apache Commons Byte Code Engineering Library 6.5.0
67
+
- Meta-model: `TypeReference` inherits from `ArrayTypeable` so that a type can store information about array dimensions and if it is an array
68
+
- Turned the extended reference resolution mechanism from the original version into the second variant for the reference resolution: proxy objects which are set for references are resolved on demand
69
+
- Standalone version is based on the first variant
70
+
71
+
### Removed
72
+
73
+
- Java syntax definition in CS specification language and the generated parser and printer
74
+
75
+
### Known Issues
76
+
77
+
- First variant: ends in `StackOverflowException` because of an endless loop, also affects standalone version
78
+
79
+
## Original JaMoPP Version - before 2019
80
+
81
+
Originally, developed by DevBoost GmbH and Software Technology Group, Dresden University of Technology. It consists of the development up to version [1.4.0] and the [development after 1.4.0] resulting in the following features.
82
+
83
+
- Ecore-based meta-model for the Java programming language covering the syntax up to and including Java 6
84
+
- Definition of Java syntax in CS specification language of EMFText to generate a parser (Java source code -> Java model) and printer (Java model -> Java source code)
85
+
- Loader for class files which generates Java models from class files (based on Apache Commons Byte Code Engineering Library 6.2.0)
86
+
- Extended reference resolution mechanisms of generated EMFText code to connect Java models by language-specific links
87
+
- Integration into the Eclipse IDE
88
+
- Tests for the parsing (checks if generated model contains the expected elements)
89
+
- Tests for the parsing and printing (checks if printed code is equal to parsed code by parsing both source codes with Eclipse JDT and comparing the resulting ASTs)
0 commit comments