418 Commits

Author SHA1 Message Date
Andreas Dangel
ffbe5b7378 Merge branch 'pmd6-java-19' into pmd7-java-19 2022-07-10 15:05:35 +02:00
Andreas Dangel
b197daf84e Apply fixes from review (#4038) 2022-07-10 14:29:03 +02:00
Andreas Dangel
32a76bd602 [java] Remove language version 17-preview 2022-07-07 15:24:49 +02:00
Andreas Dangel
a5b68ddfcf [java] Add support for RecordPatterns
See JEP 405
2022-07-07 15:06:52 +02:00
Andreas Dangel
eeeccde494 [java] Update implementation for "Pattern Matching for switch"
See JEP 427
This is a preview feature
2022-07-07 15:03:20 +02:00
Andreas Dangel
eb53daa2c2 [java] Add new language versions 19 and 19-preview 2022-07-07 10:44:13 +02:00
Andreas Dangel
82dd4d46ca Merge branch 'master' into pmd/7.0.x 2022-05-26 11:21:38 +02:00
Clément Fournier
078345fbca Add phonetic extensions to other langs 2022-05-01 18:16:53 +02:00
Clément Fournier
b328bc5fdc Add more cjk and exotic scripts, also to JS
Fix #2605
2022-05-01 17:47:11 +02:00
Clément Fournier
98f44b7e3f Allow Phonetic Extensions block in java
Fix #3423
2022-05-01 17:31:52 +02:00
Clément Fournier
7bf44c69ac Replace package name with class name
Co-authored-by: Andreas Dangel <andreas.dangel@adangel.org>
2022-04-14 19:49:48 +02:00
Clément Fournier
bc19d2cc40 [java] Improve module grammar
Type names in "provides" directives are disambiguated
like any other type name.

ASTName is made redundant and removed for good.
2022-04-01 19:06:33 +02:00
Andreas Dangel
925899ed50 Merge branch 'localpmd6/jdk-18' into pmd7-jdk-18 2022-03-10 16:08:48 +01:00
Andreas Dangel
937eb90a70 [java] Remove support for Java 16 Preview 2022-03-10 15:41:01 +01:00
Andreas Dangel
1e042ce4d0 [java] Fix unit tests for new version 18 2022-03-10 12:22:24 +01:00
Clément Fournier
f981445f8f Fix last bug 2022-02-11 21:41:34 +01:00
Clément Fournier
c5f4f3cd49 Fix #3697 - lookahead error in concise resource spec 2022-02-11 21:27:23 +01:00
Clément Fournier
ed1c9e970a Fix parsing bug 2022-01-29 19:04:32 +01:00
Clément Fournier
778764c682 Support switch stmt properly 2022-01-29 18:48:40 +01:00
Clément Fournier
0be7135122 Fix parsing problem with guarded patterns 2022-01-29 18:27:07 +01:00
Andreas Dangel
247d98d270 [java] Fix parse errors with qualified type names in permits clause 2021-11-26 11:10:55 +01:00
Andreas Dangel
89dd3f97b5 Merge 'issue-3366-support-jdk-17' into pmd7-issue-3366-support-jdk-17 2021-07-30 11:15:31 +02:00
Andreas Dangel
30124628f7 [java] Disallow local sealed/non-sealed classes
This is apparently not valid.
2021-07-30 11:06:51 +02:00
Andreas Dangel
1ec564b22d Fix unit tests 2021-07-22 20:35:18 +02:00
Andreas Dangel
e4431d4d65 Fix compile errors 2021-07-22 19:31:45 +02:00
Andreas Dangel
7ee9aedca8 Merge branch 'issue-3366-support-jdk-17' into
pmd7-issue-3366-support-jdk-17
2021-07-22 12:03:58 +02:00
Andreas Dangel
4a81ec4357 [java] Change how "case null" is parsed 2021-07-22 10:29:11 +02:00
Andreas Dangel
66b642c8c6 [java] Add support for @ParenthesisDepth in Patterns 2021-07-22 09:56:08 +02:00
Andreas Dangel
36f6f50c0f [java] Handle default case in switch labels 2021-07-01 20:29:07 +02:00
Andreas Dangel
808b571a82 [java] Allow guarded pattern for instanceof expressions 2021-07-01 20:28:19 +02:00
Andreas Dangel
e2b1f0f3b9 [java] Add experimental ASTGuardedPattern
Now we can parse guarded patterns in switch labels.
2021-07-01 17:01:48 +02:00
Andreas Dangel
a5d9de59f8 [java] Remove support for Java 15 preview language features 2021-07-01 12:11:54 +02:00
Andreas Dangel
a4ee44f4b3 [java] Support pattern matching for switch for Java 17 Preview
JEP 406: Pattern Matching for switch (Preview)

Guarded and parenthesized patterns are not implemented yet.
More grammar changes to come.
2021-07-01 11:51:30 +02:00
Andreas Dangel
5209a1280d [java] Promote "JEP 409: Sealed Classes" for Java 17
"JEP 409: Sealed Classes" is now a permanent language
feature with Java 17.
2021-07-01 10:39:49 +02:00
Clément Fournier
e62c7e2f33 Merge branch 'master' into 7.0.x 2021-03-05 12:03:07 +01:00
Clément Fournier
d815c5d173 Update grammar changelog 2021-03-05 11:48:05 +01:00
Clément Fournier
24587163c9 Merge branch 'master' into pr/3159 2021-03-05 11:46:59 +01:00
Andreas Dangel
4bfd72e658 [java] Infinite loop when parsing invalid code nested in lambdas
- fixes #3117
- backports part of StatementExpression production from pmd7
2021-03-05 09:58:29 +01:00
Clément Fournier
a0e8107249 Fix #3145 - parse exception with local records 2021-03-04 07:48:39 +01:00
Andreas Dangel
7187e1d451 Apply suggestions from code review
Co-authored-by: Clément Fournier <clement.fournier76@gmail.com>
2021-02-19 09:18:31 +01:00
Andreas Dangel
a1f7c3ebbc [java] Fix tests around records and sealed classes 2021-02-18 15:20:06 +01:00
Andreas Dangel
c23b1a0149 [java] Fix TypePattern and Modifiers 2021-02-18 14:53:20 +01:00
Andreas Dangel
0ef7f4c1cd Merge branch 'java-16-support' into pmd7-java-16-support 2021-02-18 10:44:23 +01:00
Andreas Dangel
2ec77ad02f [java] Remove support for Java 14 preview 2021-02-15 19:58:55 +01:00
Andreas Dangel
3b151e31c4 [java] JEP 397: Sealed Classes (Second Preview) for Java16 Preview 2021-02-15 19:33:36 +01:00
Andreas Dangel
8bc26f95aa [java] JEP 395: Records for Java16
- Renamed ASTRecordConstructorDeclaration to
  ASTCompactConstructorDeclaration to align naming to JLS
- ASTRecordDeclaration, ASTRecordComponentList, ASTRecordComponent,
  ASTRecordBody, ASTCompactConstructorDeclaration are not
  longer @Experimental
2021-02-14 19:42:59 +01:00
Andreas Dangel
64b501e0f4 [java] Rename ASTTypeTestPattern -> ASTTypePattern, remove @Experimental
With JEP 394 / Java16, this production has been renamed.
Pattern Matching for Instanceof is now a standard feature,
therefore the AST node is not experimental anymore.
2021-02-12 12:54:06 +01:00
Andreas Dangel
8c755fabe2 [java] JEP 394: Pattern Matching for instanceof for Java16
The TypePattern now allows the final keyword
and Annotations. Pattern variables are now only
effectively final.
2021-02-12 12:44:08 +01:00
Clément Fournier
e1c552d9eb Remove weird valid java files
Probably old typos. They probably meant to ignore trailing characters,
we don't (they must be eg comments or whitespace)
2020-10-25 11:37:02 +01:00
Clément Fournier
3c1b0afcf6 Fix #2783 2020-09-16 15:40:45 +02:00