Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java 19 support #187

Merged
merged 16 commits into from
Dec 21, 2022
Merged

Java 19 support #187

merged 16 commits into from
Dec 21, 2022

Conversation

kriegaex
Copy link
Contributor

@kriegaex kriegaex commented Oct 3, 2022

Once this draft PR is finished, it will, together with eclipse-aspectj/eclipse.jdt.core#25, close #184.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
In messages_aspectj.properties, set compiler.version to
"Eclipse Compiler 5fd28398cc7aba (21Sep2022) - Java19".

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
It makes sense to indicate the Java version in the minor-minor of
AspectJ artifacts.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Even though we just upgraded to 9.3 for Java 19, it does not hurt to
have ASM recognise the Java 20 class file major version.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
@kriegaex kriegaex self-assigned this Oct 3, 2022
@kriegaex kriegaex added the enhancement New feature or request label Oct 3, 2022
@kriegaex kriegaex added this to the 1.9.19 milestone Oct 3, 2022
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Firstly, Batik is not needed for running AspectJ tests.

Secondly, the fixed Windows path separators led to GitHub CI/CD tests
failing under Java 18+ on GitHub. Replacing ';' by 'File.pathSeparator'
would have fixed the problem, but removing the paths altogether is the
cleaner solution.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
and enable LangUtil to parse Java versions like '19+36-2238'.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
For now, only the "pattern matching for switch" tests from previews 1
and 2 were adjusted to work in preview 3, because guarded patterns were
replaced by 'when' clauses in 'switch' blocks. Therefore, existing test
classes did not compile anymore and had to be replaced by syntactically
upgraded versions with content merged from preview 1 and 2 classes.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
- Ignore everything including and after '+' in versions like '19+36-2238'
- Add minor '.0' to Java versions like '19', '19+36-2238'

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
vmVersionRanges might be a single version like "9", a list of versions
like "1.2,1.3,1.4,1.5", an equivalent range of "1.2-1.5", an open range
like "-1.8", "9-" (equivalent to "9+") or a more complex list of ranges
like "-1.6,9-11,13-14,17-" or "8,11,16+".

Empty ranges like in "", " ",  "8,,14", ",5", "6-," will be ignored.
I.e., they will not yield a positive match.

Bogus ranges like "9-11-14" will be ignored, too.

Existing XML test specs using '<line text="..." vm="v,v2,...,vn"/>
have been adjusted to use version ranges rather than long lists of
consecutive versions. Furthermore, ranges with a trailing '+' like '14+'
were replaced by using the new canonical format '14-', even though the
parser still correctly recognises '14+'.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
@kriegaex kriegaex marked this pull request as ready for review October 5, 2022 15:43
@kriegaex kriegaex marked this pull request as draft October 5, 2022 15:44
Eclipse Compiler 19f448f47c9e3e (15Dec2022) - Java19

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
@kriegaex kriegaex marked this pull request as ready for review December 21, 2022 12:39
@kriegaex kriegaex merged commit b08d7d2 into master Dec 21, 2022
@kriegaex kriegaex deleted the java-19 branch December 21, 2022 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for JDK 19
1 participant