Clément Fournier
2c1a7f026e
Fix NPE with empty pattern list
2024-10-07 16:51:50 +02:00
Andreas Dangel
cbc475ede3
[java] Add ImplicitClassDeclaration
...
JEP 477: Implicitly Declared Classes and Instance Main Methods
(Third Preview)
2024-08-01 11:46:41 +02:00
Andreas Dangel
0823c88cba
[java] Support primitive types in instanceof (Java 23 Preview)
...
Allow to use primitive types in patterns, instanceof, and
switch. This is a Java 23 Preview feature.
See JEP 455.
2024-08-01 11:44:45 +02:00
Andreas Dangel
47470b5d0c
[java] Support module import declarations (JEP 476)
...
- new JModuleSymbol
- UnnecessaryImportRule also supports module imports
- module-info.class can be loaded by ClasspathClassLoader
- Support annotations on modules
- Verify that exported packages are loaded
2024-08-01 11:44:37 +02:00
Clément Fournier
50562185d1
Implement record patterns and fix switch pattern scoping
2024-06-03 16:24:41 +02:00
Andreas Dangel
435f0dc7b3
[java] Fix #4912 - grammar for TWR allows this expression ( #4934 )
...
Merge pull request #4934 from oowekyala:issue4912-java-grammar-fix
2024-05-02 11:39:38 +02:00
Clément Fournier
b70521874a
Fix failing tests
2024-04-28 20:10:22 +02:00
Juan Martín Sotuyo Dodero
32680d5b83
Merge branch 'master' into issue4912-java-grammar-fix
2024-04-16 17:38:03 -03:00
Clément Fournier
967c16561a
Refactor how string templates are parsed
...
Fix #4947
2024-04-12 18:02:20 +02:00
Clément Fournier
03b8d1acef
Fix #4912 - grammar for TWR allows this expression
2024-04-05 10:19:58 +02:00
Andreas Dangel
93bf4d59cd
Merge branch 'master' into issue-4794-java-22
2024-03-04 18:28:35 +01:00
Andreas Dangel
2a1aaa6bce
[java] Fix tests with ExplicitConstructorInvocations
2024-02-15 15:07:50 +01:00
Andreas Dangel
bfe9ce66e2
[java] JEP 447: Statements before super(...) (Preview) (Java 22)
2024-02-15 13:20:46 +01:00
Andreas Dangel
4e01a3dafb
[java] JEP 456: Unnamed Variables & Patterns
...
This is now standardized.
2024-02-15 12:12:12 +01:00
Andreas Dangel
cb3ceef17a
[java] Update Tests for JEP 463: Implicitly Declared Classes and Instance Main Methods
2024-02-15 11:26:12 +01:00
Andreas Dangel
fbb9da24f2
[java] Update Tests for JEP 459 String Templates
...
TemplateFragment now has an attribute "content".
2024-02-15 11:16:24 +01:00
Andreas Dangel
c4eccf49af
[java] Remove old java 20 preview features
...
- Record patterns in enhanced for statements
- parenthesized patterns
These features have not been standardized.
2024-02-15 10:16:31 +01:00
Andreas Dangel
5599a8fd65
Merge branch 'master' into issue-4349-cleanup-deprecations
2024-02-08 18:23:41 +01:00
Andreas Dangel
b6adbf5bb5
[java] Remove deprecated classes and methods
...
AbstractPackageNameModuleDirective#getImage
AbstractTypeDeclaration#getImage
ASTAnnotation#getAnnotationName
ASTClassType#ASTClassType(String)
ASTClassType#getImage
ASTClassType#isReferenceToClassSameCompilationUnit
ASTFieldDeclaration#getVariableName
ASTLiteral#is_xxx_Literal
ASTMethodDeclaration#getMethodName
ASTMethodReference#getImage
ASTModuleName#getImage
ASTPrimitiveType#getImage
ASTType#getTypeImage
ASTType#getArrayDepth
ASTType#isPrimitiveType #isArrayType #isClassOrInterfaceType
ASTTypeDeclaration#getImage
ASTUnaryExpression#isPrefix
ASTVariableId#getImage
ASTVariableId#getVariableName
JavaComment#getImage
JavaNode#jjtAccept
JavaParserVisitor
JavaParserVisitorAdapter
ModifierOwner#isFinal #isAbstract ... #isPublic ...
TypeNode#getType
2024-02-08 17:54:19 +01:00
Andreas Dangel
5c02b62623
[core] Remove deprecated members in Reportable
...
Reportable#getBeginLine
Reportable#getBeginColumn
Reportable#getEndLine
Reportable#getEndColumn
2024-02-08 10:10:09 +01:00
Andreas Dangel
fa97cff7ff
Merge pull request #4797 from adangel:lexexception-cpdlexer
...
[core] Rename TokenMgrError to LexException, Tokenizer to CpdLexer #4797
2024-02-02 19:59:41 +01:00
Andreas Dangel
55d91791c3
[core] Rename TokenMgrError to LexException
...
See #4065
2024-01-11 15:56:28 +01:00
Andreas Dangel
7a0f7316b7
[java] Avoid usage of deprecated methods
...
- firstChild() instead of getFirstChildOfType()
- descendants() instead of findDescendantsOfType()
- ancestors() instead of getFirstParentOfType()
2023-12-14 09:40:26 +01:00
Andreas Dangel
21ec4b9235
[java] Update change log in Java.jjt
2023-12-13 10:51:47 +01:00
Andreas Dangel
c579576b32
[java] Rename ASTClassOrInterfaceBody to ASTClassBody
2023-12-13 10:49:13 +01:00
Andreas Dangel
ba0611534d
[java] Rename ASTVariableDeclaratorId to ASTVariableId
2023-12-13 10:30:39 +01:00
Andreas Dangel
8b4caed003
[java] Rename ASTAnyTypeDeclaration to ASTTypeDeclaration
...
Also rename AbstractAnyTypeDeclaration to AbstractTypeDeclaration
2023-12-13 08:54:34 +01:00
Andreas Dangel
e79e8402c1
[java] Rename ASTClassOrInterfaceDeclaration to ASTClassDeclaration
2023-12-12 20:09:51 +01:00
Andreas Dangel
698ca0d3ff
[java] Rename ASTClassOrInterfaceType to ASTClassType
2023-12-12 16:01:34 +01:00
Andreas Dangel
000f2e86fd
[java] Fix more parsing errors after supporting String Templates
2023-08-10 15:36:30 +02:00
Andreas Dangel
41643dd020
[java] Avoid using Thread.fillInStackTrace() for token context
...
This requires to use the option TOKEN_MANAGER_USES_PARSER
2023-08-10 15:36:30 +02:00
Andreas Dangel
f4c86b25ae
[java] Support Unnamed Classes and Instance Main Methods for Java 21 Preview
...
JEP 445
2023-08-10 15:36:29 +02:00
Andreas Dangel
216dd09405
[java] Support Unnamed Patterns and Variables for Java 21 Preview
...
JEP 443
2023-08-10 15:36:28 +02:00
Andreas Dangel
715d58fef3
[java] Support String Templates for Java 21 Preview
...
JEP 430
2023-08-10 15:36:28 +02:00
Andreas Dangel
2488107b23
[java] Update impl for record patterns for java 21
...
- renamed ASTComponentPatternList to ASTPatternList
2023-08-10 15:36:27 +02:00
Andreas Dangel
3bdb921548
[java] Update impl for pattern matching for switch for java 21
...
- renamed ASTSwitchGuard to ASTGuard
2023-08-10 15:36:27 +02:00
Clément Fournier
37e2f8f208
Improve jjt error messages
2023-03-19 22:57:51 +01:00
Andreas Dangel
cac5b15b56
[java] Fix build errors, update LanguageLevelChecker
...
- Update Java20PreviewTreeDumpTest to JUnit5
- Remove GuardedPatterns
- Don't use PatternExpression in case labels
- Update javadocs
2023-02-04 20:14:40 +01:00
Andreas Dangel
f30f904f9d
Merge 'pmd6-java-20' into pmd7-java-20
2023-02-04 19:10:37 +01:00
Andreas Dangel
3ac021da02
[java] Remove support for named record patterns
2023-02-03 19:54:19 +01:00
Andreas Dangel
600ad870db
[java] Support record patterns in for-each loops
2023-02-03 19:37:28 +01:00
Andreas Dangel
36fb459bd9
[java] Correct grammar regarding default case label
...
Update ExhaustiveSwitch so that it compiles with java 20. "case default" is not allowed anymore.
2023-02-03 17:09:58 +01:00
Andreas Dangel
1843ff51c7
[java] Simplify null case label grammar
...
Update DealingWithNull to that it compiles with java 20. Some cases are not allowed anymore.
2023-02-03 16:41:19 +01:00
Andreas Dangel
35a11574ed
[java] Remove language version 18-preview
2023-02-03 15:49:19 +01:00
Andreas Dangel
c46a2d31bf
[java] Add new language versions 20 and 20-preview
2023-02-03 14:55:43 +01:00
Andreas Dangel
120e89f81b
Merge 'master' into pmd/7.0.x
2023-01-27 09:18:07 +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
aeb4978676
Make isUpperBound return true for unbounded wildcard
2022-12-07 22:51:02 +01:00