Skip to content

Commit db4001a

Browse files
authored
Merge pull request #1 from MDSD-Tools/changelog
Changelog
2 parents 36a1eed + af5f1c0 commit db4001a

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

CHANGELOG.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
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) beginning with version [Unreleased].
6+
7+
## [Unreleased]
8+
9+
### Added
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+
14+
### Changed
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+
20+
### Deprecated
21+
22+
### Removed
23+
24+
### Fixed
25+
26+
### Security
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)
90+
91+
[Unreleased]: https://github.com/PalladioSimulator/Palladio-Supporting-EclipseJavaDevelopmentTools/compare/releases/5.1.0...HEAD
92+
[5.1.0]: https://github.com/PalladioSimulator/Palladio-Supporting-EclipseJavaDevelopmentTools/compare/8bc07...releases/5.1.0
93+
[development after 1.4.0]: https://github.com/PalladioSimulator/Palladio-Supporting-EclipseJavaDevelopmentTools/compare/e46b0...8bc07
94+
[1.4.0]: https://github.com/PalladioSimulator/Palladio-Supporting-EclipseJavaDevelopmentTools/commit/e46b0003803a8ccda7c3aa380ff2c759937d1ccb

0 commit comments

Comments
 (0)