160 Commits

Author SHA1 Message Date
Andreas Dangel
c46a2d31bf [java] Add new language versions 20 and 20-preview 2023-02-03 14:55:43 +01:00
Juan Martín Sotuyo Dodero
312ebc173d Allow the escapes new line sequence 2023-01-26 19:36:20 -03:00
Juan Martín Sotuyo Dodero
619e014d0d Properly define TEXT_BLOCK tokens 2023-01-26 18:59:55 -03:00
Juan Martín Sotuyo Dodero
390b040432 Fix TextBlock grammar 2023-01-26 16:43:30 -03:00
Clément Fournier
735197cff4 Support other cases found in checkstyle 2022-11-07 00:44:22 +01:00
Clément Fournier
36f19eda92 Push actual annotation nodes
This is to avoid having rules like UnusedImports
fail to see an annotation usage. This makes the
tree rather messy when there are type annotations
though.
2022-11-06 22:39:38 +01:00
Clément Fournier
00c06343a5 Fix tests 2022-11-06 21:50:33 +01:00
Clément Fournier
2027d2f57f Support generic ctors 2022-11-05 17:05:46 +01:00
Clément Fournier
92ccf1b0ea Support array init with just a comma
Refs #3643
2022-11-05 16:31:17 +01:00
Clément Fournier
b39ba3c560 Add new tests
Refs #3643
2022-11-05 16:30:01 +01:00
Clément Fournier
cd075d2459 Fix #4152 - support type annotations in more places 2022-11-05 15:48:04 +01: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
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
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
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
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
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
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
3c1b0afcf6 Fix #2783 2020-09-16 15:40:45 +02:00
Clément Fournier
fc759db5ca Fix #2767
Problem was the stack is empty if the local var declaration
is the first node of the compilation unit to be pushed.
2020-09-10 12:24:03 +02:00
XenoAmess
244a39db0f fix typos. 2020-08-27 11:47:11 +08:00
Clément Fournier
2e1e0ed3a4 Rename PermittedSubclasses to PermitsList 2020-08-22 19:30:38 +02:00
Andreas Dangel
67b37de334 [java] Rework BlockStatement to allow local interfaces, enums, ... 2020-08-16 21:42:36 +02:00
Andreas Dangel
fceb474df0 [java] Remove "non-sealed" token and use semantic lookahead instead 2020-08-16 18:22:45 +02:00
Andreas Dangel
0d9b5a7c3b [java] Support Sealed Classes with Java 15 Preview 2020-08-14 22:16:41 +02:00
Andreas Dangel
cda155891a [java] Add ugly lookahead for local record declarations
so that it can be distinguished from local var decl or other
statements.
2020-08-14 20:56:26 +02:00