diff options
author | rnveach <rveach02@gmail.com> | 2016-06-02 11:49:17 -0400 |
---|---|---|
committer | Roman Ivanov <romani@users.noreply.github.com> | 2016-06-02 08:49:17 -0700 |
commit | f47b9a2b35b3d2b393406cd18d6164a08a110ce2 (patch) | |
tree | 998ecb2e157315e0245eeff6a8b5cbea9d7d8171 /src/test | |
parent | 4b4fdda9bddbe6f352ebbe2d3b08c8fd3b0ed88b (diff) | |
download | checkstyle-f47b9a2b35b3d2b393406cd18d6164a08a110ce2.tar.gz |
Issue #3240: added type annotation to java grammar (#3243)
Diffstat (limited to 'src/test')
4 files changed, 59 insertions, 27 deletions
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/grammars/java8/AnnotationTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/grammars/java8/AnnotationTest.java index b859693e9..86ce856c9 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/grammars/java8/AnnotationTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/grammars/java8/AnnotationTest.java @@ -142,4 +142,13 @@ public class AnnotationTest extends BaseCheckTestSupport { } + @Test + public void testAnnotationInTypeParameters() + throws Exception { + final DefaultConfiguration checkConfig = + createCheckConfig(MemberNameCheck.class); + final String[] expected = CommonUtils.EMPTY_STRING_ARRAY; + verify(checkConfig, getNonCompilablePath("InputAnnotations11.java"), expected); + + } } diff --git a/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1.java b/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1.java index 384a858c8..2203c45e2 100644 --- a/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1.java +++ b/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1.java @@ -58,6 +58,8 @@ public class InputRegressionJava8Class1 { static final Comparator<?> f = (Comparator<?>) (dateTime1, dateTime2) -> { return 0; }; } ; +class InputRegressionJava8TypeParam <@Nullable T> { +} @Retention(RetentionPolicy.CLASS) @Target({ ElementType.TYPE_USE }) @interface Nullable { diff --git a/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1Ast.txt b/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1Ast.txt index 6b92ddbd0..1f65a7108 100644 --- a/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1Ast.txt +++ b/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1Ast.txt @@ -580,31 +580,47 @@ CLASS_DEF -> CLASS_DEF [17:0] | `--SEMI -> ; [58:90] `--RCURLY -> } [59:0] SEMI -> ; [60:0] -ANNOTATION_DEF -> ANNOTATION_DEF [61:0] +CLASS_DEF -> CLASS_DEF [61:0] |--MODIFIERS -> MODIFIERS [61:0] -| |--ANNOTATION -> ANNOTATION [61:0] -| | |--AT -> @ [61:0] -| | |--IDENT -> Retention [61:1] -| | |--LPAREN -> ( [61:10] -| | |--EXPR -> EXPR [61:26] -| | | `--DOT -> . [61:26] -| | | |--IDENT -> RetentionPolicy [61:11] -| | | `--IDENT -> CLASS [61:27] -| | `--RPAREN -> ) [61:32] -| `--ANNOTATION -> ANNOTATION [62:0] -| |--AT -> @ [62:0] -| |--IDENT -> Target [62:1] -| |--LPAREN -> ( [62:7] -| |--ANNOTATION_ARRAY_INIT -> { [62:8] -| | |--EXPR -> EXPR [62:21] -| | | `--DOT -> . [62:21] -| | | |--IDENT -> ElementType [62:10] -| | | `--IDENT -> TYPE_USE [62:22] -| | `--RCURLY -> } [62:31] -| `--RPAREN -> ) [62:32] -|--AT -> @ [63:0] -|--LITERAL_INTERFACE -> interface [63:1] -|--IDENT -> Nullable [63:11] -`--OBJBLOCK -> OBJBLOCK [63:20] - |--LCURLY -> { [63:20] - `--RCURLY -> } [64:0] +|--LITERAL_CLASS -> class [61:0] +|--IDENT -> InputRegressionJava8TypeParam [61:6] +|--TYPE_PARAMETERS -> TYPE_PARAMETERS [61:36] +| |--GENERIC_START -> < [61:36] +| |--TYPE_PARAMETER -> TYPE_PARAMETER [61:37] +| | |--ANNOTATIONS -> ANNOTATIONS [61:37] +| | | `--ANNOTATION -> ANNOTATION [61:37] +| | | |--AT -> @ [61:37] +| | | `--IDENT -> Nullable [61:38] +| | `--IDENT -> T [61:47] +| `--GENERIC_END -> > [61:48] +`--OBJBLOCK -> OBJBLOCK [61:50] + |--LCURLY -> { [61:50] + `--RCURLY -> } [62:0] +ANNOTATION_DEF -> ANNOTATION_DEF [63:0] +|--MODIFIERS -> MODIFIERS [63:0] +| |--ANNOTATION -> ANNOTATION [63:0] +| | |--AT -> @ [63:0] +| | |--IDENT -> Retention [63:1] +| | |--LPAREN -> ( [63:10] +| | |--EXPR -> EXPR [63:26] +| | | `--DOT -> . [63:26] +| | | |--IDENT -> RetentionPolicy [63:11] +| | | `--IDENT -> CLASS [63:27] +| | `--RPAREN -> ) [63:32] +| `--ANNOTATION -> ANNOTATION [64:0] +| |--AT -> @ [64:0] +| |--IDENT -> Target [64:1] +| |--LPAREN -> ( [64:7] +| |--ANNOTATION_ARRAY_INIT -> { [64:8] +| | |--EXPR -> EXPR [64:21] +| | | `--DOT -> . [64:21] +| | | |--IDENT -> ElementType [64:10] +| | | `--IDENT -> TYPE_USE [64:22] +| | `--RCURLY -> } [64:31] +| `--RPAREN -> ) [64:32] +|--AT -> @ [65:0] +|--LITERAL_INTERFACE -> interface [65:1] +|--IDENT -> Nullable [65:11] +`--OBJBLOCK -> OBJBLOCK [65:20] + |--LCURLY -> { [65:20] + `--RCURLY -> } [66:0] diff --git a/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/java8/InputAnnotations11.java b/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/java8/InputAnnotations11.java new file mode 100644 index 000000000..4a6db6656 --- /dev/null +++ b/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/grammars/java8/InputAnnotations11.java @@ -0,0 +1,5 @@ +//Compilable with Java8 +package com.puppycrawl.tools.checkstyle.grammars.java8; + +class InputAnnotations11 <@Nullable T> { +} |