Ensure #3642 is fixed

Fix #3642
This commit is contained in:
Andreas Dangel
2023-04-28 11:42:30 +02:00
parent e9b30fab94
commit 08f22c6650
4 changed files with 30 additions and 0 deletions

View File

@ -351,4 +351,9 @@ class ParserCornersTest extends BaseJavaTreeDumpTest {
void testGithubBug3101UnresolvedTypeParams() {
java.parseResource("GitHubBug3101.java");
}
@Test
void testGitHubBug3642() {
doTest("GitHubBug3642");
}
}

View File

@ -0,0 +1,11 @@
/*
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
// see https://github.com/pmd/pmd/issues/3642
public class GitHubBug3642 {
@interface Foo {
String v1()[]; // parse error
// equivalent to String[] v1();
}
}

View File

@ -0,0 +1,13 @@
+- CompilationUnit[@PackageName = ""]
+- ClassOrInterfaceDeclaration[@Abstract = false, @Annotation = false, @Anonymous = false, @BinaryName = "GitHubBug3642", @CanonicalName = "GitHubBug3642", @EffectiveVisibility = Visibility.V_PUBLIC, @Enum = false, @Final = false, @Interface = false, @Local = false, @Nested = false, @PackageName = "", @PackagePrivate = false, @Record = false, @RegularClass = true, @RegularInterface = false, @SimpleName = "GitHubBug3642", @TopLevel = true, @Visibility = Visibility.V_PUBLIC]
+- ModifierList[@EffectiveModifiers = "{public}", @ExplicitModifiers = "{public}"]
+- ClassOrInterfaceBody[@Empty = false, @Size = 1]
+- AnnotationTypeDeclaration[@Abstract = true, @Annotation = true, @Anonymous = false, @BinaryName = "GitHubBug3642$Foo", @CanonicalName = "GitHubBug3642.Foo", @EffectiveVisibility = Visibility.V_PACKAGE, @Enum = false, @Final = false, @Interface = true, @Local = false, @Nested = true, @PackageName = "", @Record = false, @RegularClass = false, @RegularInterface = false, @SimpleName = "Foo", @TopLevel = false, @Visibility = Visibility.V_PACKAGE]
+- ModifierList[@EffectiveModifiers = "{abstract, static}", @ExplicitModifiers = "{}"]
+- AnnotationTypeBody[@Empty = false, @Size = 1]
+- MethodDeclaration[@Abstract = true, @Arity = 0, @EffectiveVisibility = Visibility.V_PACKAGE, @Image = "v1", @Name = "v1", @Overridden = false, @Varargs = false, @Visibility = Visibility.V_PUBLIC, @Void = false]
+- ModifierList[@EffectiveModifiers = "{public, abstract}", @ExplicitModifiers = "{}"]
+- ClassOrInterfaceType[@FullyQualified = false, @SimpleName = "String"]
+- FormalParameters[@Empty = true, @Size = 0]
+- ArrayDimensions[@Empty = false, @Size = 1]
+- ArrayTypeDim[@Varargs = false]