Issue #2396: added ast regression testing
This commit is contained in:
parent
7c0f9a446e
commit
4820a458f0
|
|
@ -0,0 +1,103 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
// checkstyle: Checks Java source code for adherence to a set of rules.
|
||||
// Copyright (C) 2001-2016 the original author or authors.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.puppycrawl.tools.checkstyle.grammars;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.Constructor;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.puppycrawl.tools.checkstyle.BaseCheckTestSupport;
|
||||
|
||||
public class AstRegressionTest extends BaseCheckTestSupport {
|
||||
@Override
|
||||
protected String getPath(String filename) throws IOException {
|
||||
return super.getPath("grammars" + File.separator + filename);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getNonCompilablePath(String filename) throws IOException {
|
||||
return super.getNonCompilablePath("grammars" + File.separator + filename);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClassAstTree1() throws Exception {
|
||||
verifyAst(getPath("InputRegressionJavaClass1Ast.txt"),
|
||||
getPath("InputRegressionJavaClass1.java"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClassAstTree2() throws Exception {
|
||||
verifyAst(getPath("InputRegressionJavaClass2Ast.txt"),
|
||||
getPath("InputRegressionJavaClass2.java"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testJava8ClassAstTree1() throws Exception {
|
||||
verifyAst(getNonCompilablePath("InputRegressionJava8Class1Ast.txt"),
|
||||
getNonCompilablePath("InputRegressionJava8Class1.java"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInterfaceAstTree1() throws Exception {
|
||||
verifyAst(getPath("InputRegressionJavaInterface1Ast.txt"),
|
||||
getPath("InputRegressionJavaInterface1.java"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInterfaceAstTree2() throws Exception {
|
||||
verifyAst(getPath("InputRegressionJavaInterface2Ast.txt"),
|
||||
getPath("InputRegressionJavaInterface2.java"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testJava8InterfaceAstTree1() throws Exception {
|
||||
verifyAst(getNonCompilablePath("InputRegressionJava8Interface1Ast.txt"),
|
||||
getNonCompilablePath("InputRegressionJava8Interface1.java"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEnumAstTree1() throws Exception {
|
||||
verifyAst(getPath("InputRegressionJavaEnum1Ast.txt"),
|
||||
getPath("InputRegressionJavaEnum1.java"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEnumAstTree2() throws Exception {
|
||||
verifyAst(getPath("InputRegressionJavaEnum2Ast.txt"),
|
||||
getPath("InputRegressionJavaEnum2.java"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAnnotationAstTree1() throws Exception {
|
||||
verifyAst(getPath("InputRegressionJavaAnnotation1Ast.txt"),
|
||||
getPath("InputRegressionJavaAnnotation1.java"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnusedMethods() throws Exception {
|
||||
final Class<?> clss = GeneratedJavaLexer.class;
|
||||
final Constructor<?> constructor = clss.getDeclaredConstructor(InputStream.class);
|
||||
|
||||
constructor.newInstance((InputStream) null);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
//Compilable with Java8
|
||||
package com.puppycrawl.tools.checkstyle.grammars;
|
||||
;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.util.function.IntBinaryOperator;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class InputRegressionJava8Class1 {
|
||||
static class Inner1 { static class Inner2<V> { public void m() {} } }
|
||||
static class Inner3<T> { public void m() {} }
|
||||
|
||||
public void m() {}
|
||||
public static void sm() {}
|
||||
void m1() throws @Nullable Exception {}
|
||||
public static <T> void m2(T @Nullable [] array) {}
|
||||
|
||||
{
|
||||
List<String> vlist = new ArrayList<String>();
|
||||
}
|
||||
|
||||
public void instructions() {
|
||||
// used to let inputs compile
|
||||
boolean b = Math.random() > 0;
|
||||
|
||||
int vint;
|
||||
Object o = null;
|
||||
List<String> vlist;
|
||||
vlist = new ArrayList<String>();
|
||||
Supplier<?> s;
|
||||
|
||||
// annotations
|
||||
Map.@Nullable Entry e;
|
||||
String str = (@Nullable String) "";
|
||||
(new Inner3()).<@Nullable String>m();
|
||||
|
||||
// method reference
|
||||
IntBinaryOperator ibo = Math::max;
|
||||
s = InputRegressionJava8Class1::new;
|
||||
s = Inner1.Inner2<String>::new;
|
||||
|
||||
// lambda
|
||||
Runnable r1 = () -> m();
|
||||
Runnable r2 = () -> { m(); } ;
|
||||
Collections.sort(vlist, (l, r) -> l == r ? 0 : 1);
|
||||
Predicate<?> t = (b) ? null : object -> o.equals(object);
|
||||
Double mPi = Math.PI;
|
||||
}
|
||||
|
||||
static final Comparator<?> f = (Comparator<?>) (dateTime1, dateTime2) -> { return 0; };
|
||||
}
|
||||
;
|
||||
@Retention(RetentionPolicy.CLASS)
|
||||
@Target({ ElementType.TYPE_USE })
|
||||
@interface Nullable {
|
||||
}
|
||||
|
|
@ -0,0 +1,610 @@
|
|||
PACKAGE_DEF -> package [2:0]
|
||||
|--ANNOTATIONS -> ANNOTATIONS [2:39]
|
||||
|--DOT -> . [2:39]
|
||||
| |--DOT -> . [2:28]
|
||||
| | |--DOT -> . [2:22]
|
||||
| | | |--DOT -> . [2:11]
|
||||
| | | | |--IDENT -> com [2:8]
|
||||
| | | | `--IDENT -> puppycrawl [2:12]
|
||||
| | | `--IDENT -> tools [2:23]
|
||||
| | `--IDENT -> checkstyle [2:29]
|
||||
| `--IDENT -> grammars [2:40]
|
||||
`--SEMI -> ; [2:48]
|
||||
SEMI -> ; [3:0]
|
||||
IMPORT -> import [4:0]
|
||||
|--DOT -> . [4:27]
|
||||
| |--DOT -> . [4:16]
|
||||
| | |--DOT -> . [4:11]
|
||||
| | | |--IDENT -> java [4:7]
|
||||
| | | `--IDENT -> lang [4:12]
|
||||
| | `--IDENT -> annotation [4:17]
|
||||
| `--IDENT -> ElementType [4:28]
|
||||
`--SEMI -> ; [4:39]
|
||||
IMPORT -> import [5:0]
|
||||
|--DOT -> . [5:27]
|
||||
| |--DOT -> . [5:16]
|
||||
| | |--DOT -> . [5:11]
|
||||
| | | |--IDENT -> java [5:7]
|
||||
| | | `--IDENT -> lang [5:12]
|
||||
| | `--IDENT -> annotation [5:17]
|
||||
| `--IDENT -> Retention [5:28]
|
||||
`--SEMI -> ; [5:37]
|
||||
IMPORT -> import [6:0]
|
||||
|--DOT -> . [6:27]
|
||||
| |--DOT -> . [6:16]
|
||||
| | |--DOT -> . [6:11]
|
||||
| | | |--IDENT -> java [6:7]
|
||||
| | | `--IDENT -> lang [6:12]
|
||||
| | `--IDENT -> annotation [6:17]
|
||||
| `--IDENT -> RetentionPolicy [6:28]
|
||||
`--SEMI -> ; [6:43]
|
||||
IMPORT -> import [7:0]
|
||||
|--DOT -> . [7:27]
|
||||
| |--DOT -> . [7:16]
|
||||
| | |--DOT -> . [7:11]
|
||||
| | | |--IDENT -> java [7:7]
|
||||
| | | `--IDENT -> lang [7:12]
|
||||
| | `--IDENT -> annotation [7:17]
|
||||
| `--IDENT -> Target [7:28]
|
||||
`--SEMI -> ; [7:34]
|
||||
IMPORT -> import [8:0]
|
||||
|--DOT -> . [8:16]
|
||||
| |--DOT -> . [8:11]
|
||||
| | |--IDENT -> java [8:7]
|
||||
| | `--IDENT -> util [8:12]
|
||||
| `--IDENT -> ArrayList [8:17]
|
||||
`--SEMI -> ; [8:26]
|
||||
IMPORT -> import [9:0]
|
||||
|--DOT -> . [9:16]
|
||||
| |--DOT -> . [9:11]
|
||||
| | |--IDENT -> java [9:7]
|
||||
| | `--IDENT -> util [9:12]
|
||||
| `--IDENT -> Collections [9:17]
|
||||
`--SEMI -> ; [9:28]
|
||||
IMPORT -> import [10:0]
|
||||
|--DOT -> . [10:16]
|
||||
| |--DOT -> . [10:11]
|
||||
| | |--IDENT -> java [10:7]
|
||||
| | `--IDENT -> util [10:12]
|
||||
| `--IDENT -> Comparator [10:17]
|
||||
`--SEMI -> ; [10:27]
|
||||
IMPORT -> import [11:0]
|
||||
|--DOT -> . [11:16]
|
||||
| |--DOT -> . [11:11]
|
||||
| | |--IDENT -> java [11:7]
|
||||
| | `--IDENT -> util [11:12]
|
||||
| `--IDENT -> Map [11:17]
|
||||
`--SEMI -> ; [11:20]
|
||||
IMPORT -> import [12:0]
|
||||
|--DOT -> . [12:16]
|
||||
| |--DOT -> . [12:11]
|
||||
| | |--IDENT -> java [12:7]
|
||||
| | `--IDENT -> util [12:12]
|
||||
| `--IDENT -> List [12:17]
|
||||
`--SEMI -> ; [12:21]
|
||||
IMPORT -> import [13:0]
|
||||
|--DOT -> . [13:25]
|
||||
| |--DOT -> . [13:16]
|
||||
| | |--DOT -> . [13:11]
|
||||
| | | |--IDENT -> java [13:7]
|
||||
| | | `--IDENT -> util [13:12]
|
||||
| | `--IDENT -> function [13:17]
|
||||
| `--IDENT -> IntBinaryOperator [13:26]
|
||||
`--SEMI -> ; [13:43]
|
||||
IMPORT -> import [14:0]
|
||||
|--DOT -> . [14:25]
|
||||
| |--DOT -> . [14:16]
|
||||
| | |--DOT -> . [14:11]
|
||||
| | | |--IDENT -> java [14:7]
|
||||
| | | `--IDENT -> util [14:12]
|
||||
| | `--IDENT -> function [14:17]
|
||||
| `--IDENT -> Predicate [14:26]
|
||||
`--SEMI -> ; [14:35]
|
||||
IMPORT -> import [15:0]
|
||||
|--DOT -> . [15:25]
|
||||
| |--DOT -> . [15:16]
|
||||
| | |--DOT -> . [15:11]
|
||||
| | | |--IDENT -> java [15:7]
|
||||
| | | `--IDENT -> util [15:12]
|
||||
| | `--IDENT -> function [15:17]
|
||||
| `--IDENT -> Supplier [15:26]
|
||||
`--SEMI -> ; [15:34]
|
||||
CLASS_DEF -> CLASS_DEF [17:0]
|
||||
|--MODIFIERS -> MODIFIERS [17:0]
|
||||
| `--LITERAL_PUBLIC -> public [17:0]
|
||||
|--LITERAL_CLASS -> class [17:7]
|
||||
|--IDENT -> InputRegressionJava8Class1 [17:13]
|
||||
`--OBJBLOCK -> OBJBLOCK [17:40]
|
||||
|--LCURLY -> { [17:40]
|
||||
|--CLASS_DEF -> CLASS_DEF [18:4]
|
||||
| |--MODIFIERS -> MODIFIERS [18:4]
|
||||
| | `--LITERAL_STATIC -> static [18:4]
|
||||
| |--LITERAL_CLASS -> class [18:11]
|
||||
| |--IDENT -> Inner1 [18:17]
|
||||
| `--OBJBLOCK -> OBJBLOCK [18:24]
|
||||
| |--LCURLY -> { [18:24]
|
||||
| |--CLASS_DEF -> CLASS_DEF [18:26]
|
||||
| | |--MODIFIERS -> MODIFIERS [18:26]
|
||||
| | | `--LITERAL_STATIC -> static [18:26]
|
||||
| | |--LITERAL_CLASS -> class [18:33]
|
||||
| | |--IDENT -> Inner2 [18:39]
|
||||
| | |--TYPE_PARAMETERS -> TYPE_PARAMETERS [18:45]
|
||||
| | | |--GENERIC_START -> < [18:45]
|
||||
| | | |--TYPE_PARAMETER -> TYPE_PARAMETER [18:46]
|
||||
| | | | `--IDENT -> V [18:46]
|
||||
| | | `--GENERIC_END -> > [18:47]
|
||||
| | `--OBJBLOCK -> OBJBLOCK [18:49]
|
||||
| | |--LCURLY -> { [18:49]
|
||||
| | |--METHOD_DEF -> METHOD_DEF [18:51]
|
||||
| | | |--MODIFIERS -> MODIFIERS [18:51]
|
||||
| | | | `--LITERAL_PUBLIC -> public [18:51]
|
||||
| | | |--TYPE -> TYPE [18:58]
|
||||
| | | | `--LITERAL_VOID -> void [18:58]
|
||||
| | | |--IDENT -> m [18:63]
|
||||
| | | |--LPAREN -> ( [18:64]
|
||||
| | | |--PARAMETERS -> PARAMETERS [18:65]
|
||||
| | | |--RPAREN -> ) [18:65]
|
||||
| | | `--SLIST -> { [18:67]
|
||||
| | | `--RCURLY -> } [18:68]
|
||||
| | `--RCURLY -> } [18:70]
|
||||
| `--RCURLY -> } [18:72]
|
||||
|--CLASS_DEF -> CLASS_DEF [19:4]
|
||||
| |--MODIFIERS -> MODIFIERS [19:4]
|
||||
| | `--LITERAL_STATIC -> static [19:4]
|
||||
| |--LITERAL_CLASS -> class [19:11]
|
||||
| |--IDENT -> Inner3 [19:17]
|
||||
| |--TYPE_PARAMETERS -> TYPE_PARAMETERS [19:23]
|
||||
| | |--GENERIC_START -> < [19:23]
|
||||
| | |--TYPE_PARAMETER -> TYPE_PARAMETER [19:24]
|
||||
| | | `--IDENT -> T [19:24]
|
||||
| | `--GENERIC_END -> > [19:25]
|
||||
| `--OBJBLOCK -> OBJBLOCK [19:27]
|
||||
| |--LCURLY -> { [19:27]
|
||||
| |--METHOD_DEF -> METHOD_DEF [19:29]
|
||||
| | |--MODIFIERS -> MODIFIERS [19:29]
|
||||
| | | `--LITERAL_PUBLIC -> public [19:29]
|
||||
| | |--TYPE -> TYPE [19:36]
|
||||
| | | `--LITERAL_VOID -> void [19:36]
|
||||
| | |--IDENT -> m [19:41]
|
||||
| | |--LPAREN -> ( [19:42]
|
||||
| | |--PARAMETERS -> PARAMETERS [19:43]
|
||||
| | |--RPAREN -> ) [19:43]
|
||||
| | `--SLIST -> { [19:45]
|
||||
| | `--RCURLY -> } [19:46]
|
||||
| `--RCURLY -> } [19:48]
|
||||
|--METHOD_DEF -> METHOD_DEF [21:4]
|
||||
| |--MODIFIERS -> MODIFIERS [21:4]
|
||||
| | `--LITERAL_PUBLIC -> public [21:4]
|
||||
| |--TYPE -> TYPE [21:11]
|
||||
| | `--LITERAL_VOID -> void [21:11]
|
||||
| |--IDENT -> m [21:16]
|
||||
| |--LPAREN -> ( [21:17]
|
||||
| |--PARAMETERS -> PARAMETERS [21:18]
|
||||
| |--RPAREN -> ) [21:18]
|
||||
| `--SLIST -> { [21:20]
|
||||
| `--RCURLY -> } [21:21]
|
||||
|--METHOD_DEF -> METHOD_DEF [22:4]
|
||||
| |--MODIFIERS -> MODIFIERS [22:4]
|
||||
| | |--LITERAL_PUBLIC -> public [22:4]
|
||||
| | `--LITERAL_STATIC -> static [22:11]
|
||||
| |--TYPE -> TYPE [22:18]
|
||||
| | `--LITERAL_VOID -> void [22:18]
|
||||
| |--IDENT -> sm [22:23]
|
||||
| |--LPAREN -> ( [22:25]
|
||||
| |--PARAMETERS -> PARAMETERS [22:26]
|
||||
| |--RPAREN -> ) [22:26]
|
||||
| `--SLIST -> { [22:28]
|
||||
| `--RCURLY -> } [22:29]
|
||||
|--METHOD_DEF -> METHOD_DEF [23:4]
|
||||
| |--MODIFIERS -> MODIFIERS [23:4]
|
||||
| |--TYPE -> TYPE [23:4]
|
||||
| | `--LITERAL_VOID -> void [23:4]
|
||||
| |--IDENT -> m1 [23:9]
|
||||
| |--LPAREN -> ( [23:11]
|
||||
| |--PARAMETERS -> PARAMETERS [23:12]
|
||||
| |--RPAREN -> ) [23:12]
|
||||
| |--LITERAL_THROWS -> throws [23:14]
|
||||
| | |--ANNOTATIONS -> ANNOTATIONS [23:21]
|
||||
| | | `--ANNOTATION -> ANNOTATION [23:21]
|
||||
| | | |--AT -> @ [23:21]
|
||||
| | | `--IDENT -> Nullable [23:22]
|
||||
| | `--IDENT -> Exception [23:31]
|
||||
| `--SLIST -> { [23:41]
|
||||
| `--RCURLY -> } [23:42]
|
||||
|--METHOD_DEF -> METHOD_DEF [24:4]
|
||||
| |--MODIFIERS -> MODIFIERS [24:4]
|
||||
| | |--LITERAL_PUBLIC -> public [24:4]
|
||||
| | `--LITERAL_STATIC -> static [24:11]
|
||||
| |--TYPE_PARAMETERS -> TYPE_PARAMETERS [24:18]
|
||||
| | |--GENERIC_START -> < [24:18]
|
||||
| | |--TYPE_PARAMETER -> TYPE_PARAMETER [24:19]
|
||||
| | | `--IDENT -> T [24:19]
|
||||
| | `--GENERIC_END -> > [24:20]
|
||||
| |--TYPE -> TYPE [24:22]
|
||||
| | `--LITERAL_VOID -> void [24:22]
|
||||
| |--IDENT -> m2 [24:27]
|
||||
| |--LPAREN -> ( [24:29]
|
||||
| |--PARAMETERS -> PARAMETERS [24:42]
|
||||
| | `--PARAMETER_DEF -> PARAMETER_DEF [24:42]
|
||||
| | |--MODIFIERS -> MODIFIERS [24:42]
|
||||
| | |--TYPE -> TYPE [24:42]
|
||||
| | | `--ARRAY_DECLARATOR -> [ [24:42]
|
||||
| | | |--IDENT -> T [24:30]
|
||||
| | | |--ANNOTATIONS -> ANNOTATIONS [24:32]
|
||||
| | | | `--ANNOTATION -> ANNOTATION [24:32]
|
||||
| | | | |--AT -> @ [24:32]
|
||||
| | | | `--IDENT -> Nullable [24:33]
|
||||
| | | `--RBRACK -> ] [24:43]
|
||||
| | `--IDENT -> array [24:45]
|
||||
| |--RPAREN -> ) [24:50]
|
||||
| `--SLIST -> { [24:52]
|
||||
| `--RCURLY -> } [24:53]
|
||||
|--INSTANCE_INIT -> INSTANCE_INIT [26:4]
|
||||
| `--SLIST -> { [26:4]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [27:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [27:8]
|
||||
| | |--TYPE -> TYPE [27:8]
|
||||
| | | |--IDENT -> List [27:8]
|
||||
| | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [27:12]
|
||||
| | | |--GENERIC_START -> < [27:12]
|
||||
| | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [27:13]
|
||||
| | | | `--IDENT -> String [27:13]
|
||||
| | | `--GENERIC_END -> > [27:19]
|
||||
| | |--IDENT -> vlist [27:21]
|
||||
| | `--ASSIGN -> = [27:27]
|
||||
| | `--EXPR -> EXPR [27:29]
|
||||
| | `--LITERAL_NEW -> new [27:29]
|
||||
| | |--IDENT -> ArrayList [27:33]
|
||||
| | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [27:42]
|
||||
| | | |--GENERIC_START -> < [27:42]
|
||||
| | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [27:43]
|
||||
| | | | `--IDENT -> String [27:43]
|
||||
| | | `--GENERIC_END -> > [27:49]
|
||||
| | |--LPAREN -> ( [27:50]
|
||||
| | |--ELIST -> ELIST [27:51]
|
||||
| | `--RPAREN -> ) [27:51]
|
||||
| |--SEMI -> ; [27:52]
|
||||
| `--RCURLY -> } [28:4]
|
||||
|--METHOD_DEF -> METHOD_DEF [30:4]
|
||||
| |--MODIFIERS -> MODIFIERS [30:4]
|
||||
| | `--LITERAL_PUBLIC -> public [30:4]
|
||||
| |--TYPE -> TYPE [30:11]
|
||||
| | `--LITERAL_VOID -> void [30:11]
|
||||
| |--IDENT -> instructions [30:16]
|
||||
| |--LPAREN -> ( [30:28]
|
||||
| |--PARAMETERS -> PARAMETERS [30:29]
|
||||
| |--RPAREN -> ) [30:29]
|
||||
| `--SLIST -> { [30:31]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [32:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [32:8]
|
||||
| | |--TYPE -> TYPE [32:8]
|
||||
| | | `--LITERAL_BOOLEAN -> boolean [32:8]
|
||||
| | |--IDENT -> b [32:16]
|
||||
| | `--ASSIGN -> = [32:18]
|
||||
| | `--EXPR -> EXPR [32:34]
|
||||
| | `--GT -> > [32:34]
|
||||
| | |--METHOD_CALL -> ( [32:31]
|
||||
| | | |--DOT -> . [32:24]
|
||||
| | | | |--IDENT -> Math [32:20]
|
||||
| | | | `--IDENT -> random [32:25]
|
||||
| | | |--ELIST -> ELIST [32:32]
|
||||
| | | `--RPAREN -> ) [32:32]
|
||||
| | `--NUM_INT -> 0 [32:36]
|
||||
| |--SEMI -> ; [32:37]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [34:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [34:8]
|
||||
| | |--TYPE -> TYPE [34:8]
|
||||
| | | `--LITERAL_INT -> int [34:8]
|
||||
| | `--IDENT -> vint [34:12]
|
||||
| |--SEMI -> ; [34:16]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [35:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [35:8]
|
||||
| | |--TYPE -> TYPE [35:8]
|
||||
| | | `--IDENT -> Object [35:8]
|
||||
| | |--IDENT -> o [35:15]
|
||||
| | `--ASSIGN -> = [35:17]
|
||||
| | `--EXPR -> EXPR [35:19]
|
||||
| | `--LITERAL_NULL -> null [35:19]
|
||||
| |--SEMI -> ; [35:23]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [36:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [36:8]
|
||||
| | |--TYPE -> TYPE [36:8]
|
||||
| | | |--IDENT -> List [36:8]
|
||||
| | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [36:12]
|
||||
| | | |--GENERIC_START -> < [36:12]
|
||||
| | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [36:13]
|
||||
| | | | `--IDENT -> String [36:13]
|
||||
| | | `--GENERIC_END -> > [36:19]
|
||||
| | `--IDENT -> vlist [36:21]
|
||||
| |--SEMI -> ; [36:26]
|
||||
| |--EXPR -> EXPR [37:14]
|
||||
| | `--ASSIGN -> = [37:14]
|
||||
| | |--IDENT -> vlist [37:8]
|
||||
| | `--LITERAL_NEW -> new [37:16]
|
||||
| | |--IDENT -> ArrayList [37:20]
|
||||
| | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [37:29]
|
||||
| | | |--GENERIC_START -> < [37:29]
|
||||
| | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [37:30]
|
||||
| | | | `--IDENT -> String [37:30]
|
||||
| | | `--GENERIC_END -> > [37:36]
|
||||
| | |--LPAREN -> ( [37:37]
|
||||
| | |--ELIST -> ELIST [37:38]
|
||||
| | `--RPAREN -> ) [37:38]
|
||||
| |--SEMI -> ; [37:39]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [38:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [38:8]
|
||||
| | |--TYPE -> TYPE [38:8]
|
||||
| | | |--IDENT -> Supplier [38:8]
|
||||
| | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [38:16]
|
||||
| | | |--GENERIC_START -> < [38:16]
|
||||
| | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [38:17]
|
||||
| | | | `--WILDCARD_TYPE -> ? [38:17]
|
||||
| | | `--GENERIC_END -> > [38:18]
|
||||
| | `--IDENT -> s [38:20]
|
||||
| |--SEMI -> ; [38:21]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [41:11]
|
||||
| | |--MODIFIERS -> MODIFIERS [41:11]
|
||||
| | |--TYPE -> TYPE [41:11]
|
||||
| | | `--DOT -> . [41:11]
|
||||
| | | |--IDENT -> Map [41:8]
|
||||
| | | |--ANNOTATIONS -> ANNOTATIONS [41:12]
|
||||
| | | | `--ANNOTATION -> ANNOTATION [41:12]
|
||||
| | | | |--AT -> @ [41:12]
|
||||
| | | | `--IDENT -> Nullable [41:13]
|
||||
| | | `--IDENT -> Entry [41:22]
|
||||
| | `--IDENT -> e [41:28]
|
||||
| |--SEMI -> ; [41:29]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [42:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [42:8]
|
||||
| | |--TYPE -> TYPE [42:8]
|
||||
| | | `--IDENT -> String [42:8]
|
||||
| | |--IDENT -> str [42:15]
|
||||
| | `--ASSIGN -> = [42:19]
|
||||
| | `--EXPR -> EXPR [42:21]
|
||||
| | `--TYPECAST -> ( [42:21]
|
||||
| | |--TYPE -> TYPE [42:22]
|
||||
| | | |--ANNOTATIONS -> ANNOTATIONS [42:22]
|
||||
| | | | `--ANNOTATION -> ANNOTATION [42:22]
|
||||
| | | | |--AT -> @ [42:22]
|
||||
| | | | `--IDENT -> Nullable [42:23]
|
||||
| | | `--IDENT -> String [42:32]
|
||||
| | |--RPAREN -> ) [42:38]
|
||||
| | `--STRING_LITERAL -> "" [42:40]
|
||||
| |--SEMI -> ; [42:42]
|
||||
| |--EXPR -> EXPR [43:42]
|
||||
| | `--METHOD_CALL -> ( [43:42]
|
||||
| | |--DOT -> . [43:22]
|
||||
| | | |--LPAREN -> ( [43:8]
|
||||
| | | |--LITERAL_NEW -> new [43:9]
|
||||
| | | | |--IDENT -> Inner3 [43:13]
|
||||
| | | | |--LPAREN -> ( [43:19]
|
||||
| | | | |--ELIST -> ELIST [43:20]
|
||||
| | | | `--RPAREN -> ) [43:20]
|
||||
| | | |--RPAREN -> ) [43:21]
|
||||
| | | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [43:23]
|
||||
| | | | |--GENERIC_START -> < [43:23]
|
||||
| | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [43:24]
|
||||
| | | | | |--ANNOTATIONS -> ANNOTATIONS [43:24]
|
||||
| | | | | | `--ANNOTATION -> ANNOTATION [43:24]
|
||||
| | | | | | |--AT -> @ [43:24]
|
||||
| | | | | | `--IDENT -> Nullable [43:25]
|
||||
| | | | | `--IDENT -> String [43:34]
|
||||
| | | | `--GENERIC_END -> > [43:40]
|
||||
| | | `--IDENT -> m [43:41]
|
||||
| | |--ELIST -> ELIST [43:43]
|
||||
| | `--RPAREN -> ) [43:43]
|
||||
| |--SEMI -> ; [43:44]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [46:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [46:8]
|
||||
| | |--TYPE -> TYPE [46:8]
|
||||
| | | `--IDENT -> IntBinaryOperator [46:8]
|
||||
| | |--IDENT -> ibo [46:26]
|
||||
| | `--ASSIGN -> = [46:30]
|
||||
| | `--EXPR -> EXPR [46:36]
|
||||
| | `--METHOD_REF -> :: [46:36]
|
||||
| | |--IDENT -> Math [46:32]
|
||||
| | `--IDENT -> max [46:38]
|
||||
| |--SEMI -> ; [46:41]
|
||||
| |--EXPR -> EXPR [47:10]
|
||||
| | `--ASSIGN -> = [47:10]
|
||||
| | |--IDENT -> s [47:8]
|
||||
| | `--METHOD_REF -> :: [47:38]
|
||||
| | |--IDENT -> InputRegressionJava8Class1 [47:12]
|
||||
| | `--LITERAL_NEW -> new [47:40]
|
||||
| |--SEMI -> ; [47:43]
|
||||
| |--EXPR -> EXPR [48:10]
|
||||
| | `--ASSIGN -> = [48:10]
|
||||
| | |--IDENT -> s [48:8]
|
||||
| | `--METHOD_REF -> :: [48:33]
|
||||
| | |--DOT -> . [48:18]
|
||||
| | | |--IDENT -> Inner1 [48:12]
|
||||
| | | |--IDENT -> Inner2 [48:19]
|
||||
| | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [48:25]
|
||||
| | | |--GENERIC_START -> < [48:25]
|
||||
| | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [48:26]
|
||||
| | | | `--IDENT -> String [48:26]
|
||||
| | | `--GENERIC_END -> > [48:32]
|
||||
| | `--LITERAL_NEW -> new [48:35]
|
||||
| |--SEMI -> ; [48:38]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [51:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [51:8]
|
||||
| | |--TYPE -> TYPE [51:8]
|
||||
| | | `--IDENT -> Runnable [51:8]
|
||||
| | |--IDENT -> r1 [51:17]
|
||||
| | `--ASSIGN -> = [51:20]
|
||||
| | `--LAMBDA -> -> [51:25]
|
||||
| | |--LPAREN -> ( [51:22]
|
||||
| | |--PARAMETERS -> PARAMETERS [51:23]
|
||||
| | |--RPAREN -> ) [51:23]
|
||||
| | `--EXPR -> EXPR [51:29]
|
||||
| | `--METHOD_CALL -> ( [51:29]
|
||||
| | |--IDENT -> m [51:28]
|
||||
| | |--ELIST -> ELIST [51:30]
|
||||
| | `--RPAREN -> ) [51:30]
|
||||
| |--SEMI -> ; [51:31]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [52:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [52:8]
|
||||
| | |--TYPE -> TYPE [52:8]
|
||||
| | | `--IDENT -> Runnable [52:8]
|
||||
| | |--IDENT -> r2 [52:17]
|
||||
| | `--ASSIGN -> = [52:20]
|
||||
| | `--LAMBDA -> -> [52:25]
|
||||
| | |--LPAREN -> ( [52:22]
|
||||
| | |--PARAMETERS -> PARAMETERS [52:23]
|
||||
| | |--RPAREN -> ) [52:23]
|
||||
| | `--SLIST -> { [52:28]
|
||||
| | |--EXPR -> EXPR [52:31]
|
||||
| | | `--METHOD_CALL -> ( [52:31]
|
||||
| | | |--IDENT -> m [52:30]
|
||||
| | | |--ELIST -> ELIST [52:32]
|
||||
| | | `--RPAREN -> ) [52:32]
|
||||
| | |--SEMI -> ; [52:33]
|
||||
| | `--RCURLY -> } [52:35]
|
||||
| |--SEMI -> ; [52:37]
|
||||
| |--EXPR -> EXPR [53:24]
|
||||
| | `--METHOD_CALL -> ( [53:24]
|
||||
| | |--DOT -> . [53:19]
|
||||
| | | |--IDENT -> Collections [53:8]
|
||||
| | | `--IDENT -> sort [53:20]
|
||||
| | |--ELIST -> ELIST [53:25]
|
||||
| | | |--EXPR -> EXPR [53:25]
|
||||
| | | | `--IDENT -> vlist [53:25]
|
||||
| | | |--COMMA -> , [53:30]
|
||||
| | | `--LAMBDA -> -> [53:40]
|
||||
| | | |--LPAREN -> ( [53:32]
|
||||
| | | |--PARAMETERS -> PARAMETERS [53:33]
|
||||
| | | | |--PARAMETER_DEF -> PARAMETER_DEF [53:33]
|
||||
| | | | | |--MODIFIERS -> MODIFIERS [53:33]
|
||||
| | | | | |--TYPE -> TYPE [53:33]
|
||||
| | | | | `--IDENT -> l [53:33]
|
||||
| | | | |--COMMA -> , [53:34]
|
||||
| | | | `--PARAMETER_DEF -> PARAMETER_DEF [53:37]
|
||||
| | | | |--MODIFIERS -> MODIFIERS [53:37]
|
||||
| | | | |--TYPE -> TYPE [53:37]
|
||||
| | | | `--IDENT -> r [53:37]
|
||||
| | | |--RPAREN -> ) [53:38]
|
||||
| | | `--EXPR -> EXPR [53:50]
|
||||
| | | `--QUESTION -> ? [53:50]
|
||||
| | | |--EQUAL -> == [53:45]
|
||||
| | | | |--IDENT -> l [53:43]
|
||||
| | | | `--IDENT -> r [53:48]
|
||||
| | | |--NUM_INT -> 0 [53:52]
|
||||
| | | |--COLON -> : [53:54]
|
||||
| | | `--NUM_INT -> 1 [53:56]
|
||||
| | `--RPAREN -> ) [53:57]
|
||||
| |--SEMI -> ; [53:58]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [54:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [54:8]
|
||||
| | |--TYPE -> TYPE [54:8]
|
||||
| | | |--IDENT -> Predicate [54:8]
|
||||
| | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [54:17]
|
||||
| | | |--GENERIC_START -> < [54:17]
|
||||
| | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [54:18]
|
||||
| | | | `--WILDCARD_TYPE -> ? [54:18]
|
||||
| | | `--GENERIC_END -> > [54:19]
|
||||
| | |--IDENT -> t [54:21]
|
||||
| | `--ASSIGN -> = [54:23]
|
||||
| | `--EXPR -> EXPR [54:29]
|
||||
| | `--QUESTION -> ? [54:29]
|
||||
| | |--LPAREN -> ( [54:25]
|
||||
| | |--IDENT -> b [54:26]
|
||||
| | |--RPAREN -> ) [54:27]
|
||||
| | |--LITERAL_NULL -> null [54:31]
|
||||
| | |--COLON -> : [54:36]
|
||||
| | `--LAMBDA -> -> [54:45]
|
||||
| | |--IDENT -> object [54:38]
|
||||
| | `--EXPR -> EXPR [54:56]
|
||||
| | `--METHOD_CALL -> ( [54:56]
|
||||
| | |--DOT -> . [54:49]
|
||||
| | | |--IDENT -> o [54:48]
|
||||
| | | `--IDENT -> equals [54:50]
|
||||
| | |--ELIST -> ELIST [54:57]
|
||||
| | | `--EXPR -> EXPR [54:57]
|
||||
| | | `--IDENT -> object [54:57]
|
||||
| | `--RPAREN -> ) [54:63]
|
||||
| |--SEMI -> ; [54:64]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [55:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [55:8]
|
||||
| | |--TYPE -> TYPE [55:8]
|
||||
| | | `--IDENT -> Double [55:8]
|
||||
| | |--IDENT -> mPi [55:15]
|
||||
| | `--ASSIGN -> = [55:19]
|
||||
| | `--EXPR -> EXPR [55:25]
|
||||
| | `--DOT -> . [55:25]
|
||||
| | |--IDENT -> Math [55:21]
|
||||
| | `--IDENT -> PI [55:26]
|
||||
| |--SEMI -> ; [55:28]
|
||||
| `--RCURLY -> } [56:4]
|
||||
|--VARIABLE_DEF -> VARIABLE_DEF [58:4]
|
||||
| |--MODIFIERS -> MODIFIERS [58:4]
|
||||
| | |--LITERAL_STATIC -> static [58:4]
|
||||
| | `--FINAL -> final [58:11]
|
||||
| |--TYPE -> TYPE [58:17]
|
||||
| | |--IDENT -> Comparator [58:17]
|
||||
| | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [58:27]
|
||||
| | |--GENERIC_START -> < [58:27]
|
||||
| | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [58:28]
|
||||
| | | `--WILDCARD_TYPE -> ? [58:28]
|
||||
| | `--GENERIC_END -> > [58:29]
|
||||
| |--IDENT -> f [58:31]
|
||||
| |--ASSIGN -> = [58:33]
|
||||
| | `--EXPR -> EXPR [58:35]
|
||||
| | `--TYPECAST -> ( [58:35]
|
||||
| | |--TYPE -> TYPE [58:36]
|
||||
| | | |--IDENT -> Comparator [58:36]
|
||||
| | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [58:46]
|
||||
| | | |--GENERIC_START -> < [58:46]
|
||||
| | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [58:47]
|
||||
| | | | `--WILDCARD_TYPE -> ? [58:47]
|
||||
| | | `--GENERIC_END -> > [58:48]
|
||||
| | |--RPAREN -> ) [58:49]
|
||||
| | `--LAMBDA -> -> [58:74]
|
||||
| | |--LPAREN -> ( [58:51]
|
||||
| | |--PARAMETERS -> PARAMETERS [58:52]
|
||||
| | | |--PARAMETER_DEF -> PARAMETER_DEF [58:52]
|
||||
| | | | |--MODIFIERS -> MODIFIERS [58:52]
|
||||
| | | | |--TYPE -> TYPE [58:52]
|
||||
| | | | `--IDENT -> dateTime1 [58:52]
|
||||
| | | |--COMMA -> , [58:61]
|
||||
| | | `--PARAMETER_DEF -> PARAMETER_DEF [58:63]
|
||||
| | | |--MODIFIERS -> MODIFIERS [58:63]
|
||||
| | | |--TYPE -> TYPE [58:63]
|
||||
| | | `--IDENT -> dateTime2 [58:63]
|
||||
| | |--RPAREN -> ) [58:72]
|
||||
| | `--SLIST -> { [58:77]
|
||||
| | |--LITERAL_RETURN -> return [58:79]
|
||||
| | | |--EXPR -> EXPR [58:86]
|
||||
| | | | `--NUM_INT -> 0 [58:86]
|
||||
| | | `--SEMI -> ; [58:87]
|
||||
| | `--RCURLY -> } [58:89]
|
||||
| `--SEMI -> ; [58:90]
|
||||
`--RCURLY -> } [59:0]
|
||||
SEMI -> ; [60:0]
|
||||
ANNOTATION_DEF -> ANNOTATION_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]
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
//Compilable with Java8
|
||||
package com.puppycrawl.tools.checkstyle.grammars;
|
||||
|
||||
public interface InputRegressionJava8Interface1 {
|
||||
default void m() {}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
PACKAGE_DEF -> package [2:0]
|
||||
|--ANNOTATIONS -> ANNOTATIONS [2:39]
|
||||
|--DOT -> . [2:39]
|
||||
| |--DOT -> . [2:28]
|
||||
| | |--DOT -> . [2:22]
|
||||
| | | |--DOT -> . [2:11]
|
||||
| | | | |--IDENT -> com [2:8]
|
||||
| | | | `--IDENT -> puppycrawl [2:12]
|
||||
| | | `--IDENT -> tools [2:23]
|
||||
| | `--IDENT -> checkstyle [2:29]
|
||||
| `--IDENT -> grammars [2:40]
|
||||
`--SEMI -> ; [2:48]
|
||||
INTERFACE_DEF -> INTERFACE_DEF [4:0]
|
||||
|--MODIFIERS -> MODIFIERS [4:0]
|
||||
| `--LITERAL_PUBLIC -> public [4:0]
|
||||
|--LITERAL_INTERFACE -> interface [4:7]
|
||||
|--IDENT -> InputRegressionJava8Interface1 [4:17]
|
||||
`--OBJBLOCK -> OBJBLOCK [4:48]
|
||||
|--LCURLY -> { [4:48]
|
||||
|--METHOD_DEF -> METHOD_DEF [5:4]
|
||||
| |--MODIFIERS -> MODIFIERS [5:4]
|
||||
| | `--LITERAL_DEFAULT -> default [5:4]
|
||||
| |--TYPE -> TYPE [5:12]
|
||||
| | `--LITERAL_VOID -> void [5:12]
|
||||
| |--IDENT -> m [5:17]
|
||||
| |--LPAREN -> ( [5:18]
|
||||
| |--PARAMETERS -> PARAMETERS [5:19]
|
||||
| |--RPAREN -> ) [5:19]
|
||||
| `--SLIST -> { [5:21]
|
||||
| `--RCURLY -> } [5:22]
|
||||
`--RCURLY -> } [6:0]
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.puppycrawl.tools.checkstyle.grammars;
|
||||
|
||||
@interface InputRegressionJavaAnnotation1 {
|
||||
int f1 = 0;
|
||||
|
||||
String[] m1();
|
||||
String[] m2() default {};
|
||||
|
||||
class SomeClass {
|
||||
private SomeClass() {}
|
||||
}
|
||||
}
|
||||
@interface ComplexAnnotation {
|
||||
InputRegressionJavaAnnotation1[] value();
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
PACKAGE_DEF -> package [1:0]
|
||||
|--ANNOTATIONS -> ANNOTATIONS [1:39]
|
||||
|--DOT -> . [1:39]
|
||||
| |--DOT -> . [1:28]
|
||||
| | |--DOT -> . [1:22]
|
||||
| | | |--DOT -> . [1:11]
|
||||
| | | | |--IDENT -> com [1:8]
|
||||
| | | | `--IDENT -> puppycrawl [1:12]
|
||||
| | | `--IDENT -> tools [1:23]
|
||||
| | `--IDENT -> checkstyle [1:29]
|
||||
| `--IDENT -> grammars [1:40]
|
||||
`--SEMI -> ; [1:48]
|
||||
ANNOTATION_DEF -> ANNOTATION_DEF [3:0]
|
||||
|--MODIFIERS -> MODIFIERS [3:0]
|
||||
|--AT -> @ [3:0]
|
||||
|--LITERAL_INTERFACE -> interface [3:1]
|
||||
|--IDENT -> InputRegressionJavaAnnotation1 [3:11]
|
||||
`--OBJBLOCK -> OBJBLOCK [3:42]
|
||||
|--LCURLY -> { [3:42]
|
||||
|--VARIABLE_DEF -> VARIABLE_DEF [4:4]
|
||||
| |--MODIFIERS -> MODIFIERS [4:4]
|
||||
| |--TYPE -> TYPE [4:4]
|
||||
| | `--LITERAL_INT -> int [4:4]
|
||||
| |--IDENT -> f1 [4:8]
|
||||
| |--ASSIGN -> = [4:11]
|
||||
| | `--EXPR -> EXPR [4:13]
|
||||
| | `--NUM_INT -> 0 [4:13]
|
||||
| `--SEMI -> ; [4:14]
|
||||
|--ANNOTATION_FIELD_DEF -> ANNOTATION_FIELD_DEF [6:10]
|
||||
| |--MODIFIERS -> MODIFIERS [6:10]
|
||||
| |--TYPE -> TYPE [6:10]
|
||||
| | `--ARRAY_DECLARATOR -> [ [6:10]
|
||||
| | |--IDENT -> String [6:4]
|
||||
| | `--RBRACK -> ] [6:11]
|
||||
| |--IDENT -> m1 [6:13]
|
||||
| |--LPAREN -> ( [6:15]
|
||||
| |--RPAREN -> ) [6:16]
|
||||
| `--SEMI -> ; [6:17]
|
||||
|--ANNOTATION_FIELD_DEF -> ANNOTATION_FIELD_DEF [7:10]
|
||||
| |--MODIFIERS -> MODIFIERS [7:10]
|
||||
| |--TYPE -> TYPE [7:10]
|
||||
| | `--ARRAY_DECLARATOR -> [ [7:10]
|
||||
| | |--IDENT -> String [7:4]
|
||||
| | `--RBRACK -> ] [7:11]
|
||||
| |--IDENT -> m2 [7:13]
|
||||
| |--LPAREN -> ( [7:15]
|
||||
| |--RPAREN -> ) [7:16]
|
||||
| |--LITERAL_DEFAULT -> default [7:18]
|
||||
| | `--ANNOTATION_ARRAY_INIT -> { [7:26]
|
||||
| | `--RCURLY -> } [7:27]
|
||||
| `--SEMI -> ; [7:28]
|
||||
|--CLASS_DEF -> CLASS_DEF [9:4]
|
||||
| |--MODIFIERS -> MODIFIERS [9:4]
|
||||
| |--LITERAL_CLASS -> class [9:4]
|
||||
| |--IDENT -> SomeClass [9:10]
|
||||
| `--OBJBLOCK -> OBJBLOCK [9:20]
|
||||
| |--LCURLY -> { [9:20]
|
||||
| |--CTOR_DEF -> CTOR_DEF [10:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [10:8]
|
||||
| | | `--LITERAL_PRIVATE -> private [10:8]
|
||||
| | |--IDENT -> SomeClass [10:16]
|
||||
| | |--LPAREN -> ( [10:25]
|
||||
| | |--PARAMETERS -> PARAMETERS [10:26]
|
||||
| | |--RPAREN -> ) [10:26]
|
||||
| | `--SLIST -> { [10:28]
|
||||
| | `--RCURLY -> } [10:29]
|
||||
| `--RCURLY -> } [11:4]
|
||||
`--RCURLY -> } [12:0]
|
||||
ANNOTATION_DEF -> ANNOTATION_DEF [13:0]
|
||||
|--MODIFIERS -> MODIFIERS [13:0]
|
||||
|--AT -> @ [13:0]
|
||||
|--LITERAL_INTERFACE -> interface [13:1]
|
||||
|--IDENT -> ComplexAnnotation [13:11]
|
||||
`--OBJBLOCK -> OBJBLOCK [13:29]
|
||||
|--LCURLY -> { [13:29]
|
||||
|--ANNOTATION_FIELD_DEF -> ANNOTATION_FIELD_DEF [14:34]
|
||||
| |--MODIFIERS -> MODIFIERS [14:34]
|
||||
| |--TYPE -> TYPE [14:34]
|
||||
| | `--ARRAY_DECLARATOR -> [ [14:34]
|
||||
| | |--IDENT -> InputRegressionJavaAnnotation1 [14:4]
|
||||
| | `--RBRACK -> ] [14:35]
|
||||
| |--IDENT -> value [14:37]
|
||||
| |--LPAREN -> ( [14:42]
|
||||
| |--RPAREN -> ) [14:43]
|
||||
| `--SEMI -> ; [14:44]
|
||||
`--RCURLY -> } [15:0]
|
||||
|
|
@ -0,0 +1,348 @@
|
|||
package com.puppycrawl.tools.checkstyle.grammars;
|
||||
|
||||
import static java.lang.String.valueOf;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.xml.*;
|
||||
|
||||
public class InputRegressionJavaClass1 {
|
||||
//comments
|
||||
|
||||
// single line
|
||||
/* multi on single line */
|
||||
/* multi
|
||||
line */
|
||||
/** javadoc */
|
||||
// tab -> <-
|
||||
|
||||
// fields
|
||||
// modifiers
|
||||
public int f1;
|
||||
private int f2;
|
||||
protected int f3;
|
||||
int f4;
|
||||
static int f5;
|
||||
final int f6;
|
||||
volatile int f7;
|
||||
transient int f8;
|
||||
Object f9;
|
||||
|
||||
// constructors
|
||||
static {}
|
||||
public InputRegressionJavaClass1() {f6 = 0;}
|
||||
public InputRegressionJavaClass1(int i) {this.f6 = i;}
|
||||
public InputRegressionJavaClass1(float f) {this((int)f);}
|
||||
InputRegressionJavaClass1(double a) throws Exception {f6 = 0;}
|
||||
|
||||
// methods
|
||||
// modifiers
|
||||
native void m1();
|
||||
void m2() {}
|
||||
synchronized void m4() {}
|
||||
strictfp void m5() {}
|
||||
|
||||
// returns
|
||||
public int[] m6() {return null;}
|
||||
public int m7() [] {return null;}
|
||||
|
||||
// parameters
|
||||
public void m10(String p1) {}
|
||||
public void m11(final String p1) {}
|
||||
public void m12(String[] p1) {}
|
||||
public void m13(String[][] p1) {}
|
||||
public void m14(String p1, String p2) {}
|
||||
public void m15(String... p1) {}
|
||||
public void m16(String[]... p1) {}
|
||||
public void m17(int p1, String[]... p2) {}
|
||||
|
||||
// throws
|
||||
public void m18() throws Exception {}
|
||||
public void m19() throws IOException, Exception {}
|
||||
|
||||
// types
|
||||
public <T_$> T_$ m20() {return null;}
|
||||
public <$_T> $_T m21() {return null;}
|
||||
public <T extends Enum<T>> void m22() {}
|
||||
public <T> void m23() {};
|
||||
public <T extends RuntimeException & java.io.Serializable> void m24() {}
|
||||
|
||||
// annotations
|
||||
@SuppressWarnings({})
|
||||
public void m50() {}
|
||||
@SuppressWarnings({"1"})
|
||||
public void m51() {}
|
||||
@SuppressWarnings({"1","2"})
|
||||
public void m52() {}
|
||||
@SuppressWarnings(value={"1"})
|
||||
public void m53() {}
|
||||
@SuppressWarnings(value={"1",})
|
||||
public void m54() {}
|
||||
@SuppressWarnings(value={"1","2"})
|
||||
public void m55() {}
|
||||
@InputRegressionJavaAnnotation1(m1="1", m2="2")
|
||||
public void m56() {}
|
||||
@ComplexAnnotation({
|
||||
@InputRegressionJavaAnnotation1(m1 = "1"), @InputRegressionJavaAnnotation1(m1 = "1")
|
||||
})
|
||||
public void m57() {}
|
||||
public void m58(@Deprecated String s) {}
|
||||
public void m59(final @Deprecated List l) {}
|
||||
|
||||
// extra
|
||||
{}
|
||||
;
|
||||
|
||||
// instructions
|
||||
public void instructions() throws Exception {
|
||||
// used to let inputs compile
|
||||
boolean b = Math.random() > 0;
|
||||
|
||||
// variables and types
|
||||
byte vbyte;
|
||||
boolean vboolean;
|
||||
char vchar;
|
||||
short vshort;
|
||||
int vint;
|
||||
long vlong;
|
||||
float vfloat;
|
||||
double vdouble;
|
||||
int[] varray;
|
||||
int varray2[];
|
||||
boolean test1 = true;
|
||||
|
||||
// types
|
||||
String vstring;
|
||||
List<String> vlist;
|
||||
Map<String, String[]> vmap;
|
||||
int[] test2 = {};
|
||||
List<char[]> test3;
|
||||
Class<?> test4;
|
||||
List<? extends InputRegressionJavaClass1> test5;
|
||||
List<? extends List<Object>> test6;
|
||||
List<? extends List<List<Object>>> test7;
|
||||
List<? extends int[]> test8;
|
||||
List<? super InputRegressionJavaClass1> test9;
|
||||
|
||||
// literals
|
||||
vboolean = true;
|
||||
vboolean = false;
|
||||
vchar = ' ';
|
||||
vchar = '"';
|
||||
vchar = '\0';
|
||||
vchar = '\'';
|
||||
vchar = '\n';
|
||||
vchar = '\r';
|
||||
vchar = '\t';
|
||||
vchar = '\b';
|
||||
vchar = '\f';
|
||||
vchar = '\"';
|
||||
vchar = '\'';
|
||||
vchar = '\\';
|
||||
vchar = '\00';
|
||||
vchar = '\013';
|
||||
vchar = '\4';
|
||||
vchar = '\40';
|
||||
vchar = '\u0000';
|
||||
vchar = '\u1234';
|
||||
vchar = '\u005C\u005C';
|
||||
vchar = '\u005c\u005c';
|
||||
vchar = '\uu005C\uuuuu005C';
|
||||
vchar = '\u005cn';
|
||||
vchar = '\u005cr';
|
||||
vchar = '\u005ct';
|
||||
vchar = '\u005cb';
|
||||
vchar = '\u005cf';
|
||||
vchar = '\u005c"';
|
||||
vchar = '\u005c'';
|
||||
vchar = '\u005c\';
|
||||
vint = 0;
|
||||
vint = -1;
|
||||
vint = +1;
|
||||
vint = 100_000;
|
||||
vint = 0x00;
|
||||
vint = 0x12345678;
|
||||
vint = 0X9;
|
||||
vint = 0x1234_5678;
|
||||
vint = 0b101;
|
||||
vint = 0B101;
|
||||
vint = 0b1;
|
||||
vint = 0b1_0;
|
||||
vint = 012345670;
|
||||
vint = 01234_5670;
|
||||
vlong = 0L;
|
||||
vlong = 1L;
|
||||
vlong = 0b1L;
|
||||
vlong = 1234567890l;
|
||||
vlong = 1234567890L;
|
||||
vlong = 0x0l;
|
||||
vlong = 0xABCDEFl;
|
||||
vlong = 0XABCDEFL;
|
||||
vfloat = 0f;
|
||||
vfloat = 0F;
|
||||
vfloat = 1.1f;
|
||||
vfloat = 1.10_1F;
|
||||
vfloat = 0_1.1_1F;
|
||||
vfloat = 1e0f;
|
||||
vfloat = 1e0F;
|
||||
vfloat = 1.0e0F;
|
||||
vfloat = 0x2__3_34.4___AFP00_00f;
|
||||
vdouble = 10.;
|
||||
vdouble = .1;
|
||||
vdouble = .1__1_1;
|
||||
vdouble = 0.0;
|
||||
vdouble = 1000.0;
|
||||
vdouble = .1d;
|
||||
vdouble = 1.D;
|
||||
vdouble = 0_1.0d;
|
||||
vdouble = 0_1.0D;
|
||||
vdouble = 4e23;
|
||||
vdouble = 4E23;
|
||||
vdouble = 4E2_3;
|
||||
vdouble = 0x0.0000000000001p-1022;
|
||||
vdouble = 0x0.0000000000001P-1022;
|
||||
vdouble = 0X0.0000000000001p+1022;
|
||||
vdouble = 0X0.0000000000001P+1022;
|
||||
vdouble = 0x.0P0;
|
||||
vdouble = 0X0p+2;
|
||||
vdouble = 0X0p+20F;
|
||||
vdouble = 0X0p+2D;
|
||||
vdouble = 0X0p+2d;
|
||||
vdouble = 0x1.P-1;
|
||||
vdouble = 0x.1___AFp1;
|
||||
vstring = null;
|
||||
vstring = "";
|
||||
vstring = "\\";
|
||||
|
||||
// assignments and operators
|
||||
vint = 1 + 1;
|
||||
vint = 1 - 1;
|
||||
vint = 1 * 1;
|
||||
vint = 1 / 1;
|
||||
vint = 1 % 1;
|
||||
vint = 1 & 1;
|
||||
vint = 1 | 1;
|
||||
vint = 1 ^ 1;
|
||||
vint = ~1;
|
||||
vboolean = 1 != 0;
|
||||
vboolean = 1 == 0;
|
||||
vboolean = 1 > 0;
|
||||
vboolean = 1 >= 0;
|
||||
vboolean = 1 < 0;
|
||||
vboolean = 1 <= 0;
|
||||
vboolean = true && true;
|
||||
vboolean = true || true;
|
||||
vboolean = true ? true : false;
|
||||
vboolean = !true;
|
||||
vboolean = f9 instanceof Object;
|
||||
vint = 1 << 1;
|
||||
vint = 1 >> 1;
|
||||
vint = 1 >>> 1;
|
||||
vint += 1;
|
||||
vint -= 1;
|
||||
vint *= 1;
|
||||
vint /= 1;
|
||||
vint %= 1;
|
||||
vint &= 1;
|
||||
vint |= 1;
|
||||
vint ^= 1;
|
||||
vint <<= 1;
|
||||
vint >>= 1;
|
||||
vint >>>= 1;
|
||||
vint++;
|
||||
vint--;
|
||||
++vint;
|
||||
--vint;
|
||||
String[] arrayinit = {};
|
||||
String[] arrayinit2 = {""};
|
||||
String[] arrayinit3 = {"", "",};
|
||||
|
||||
// new
|
||||
varray = new int[]{};
|
||||
varray = new int[]{0};
|
||||
varray = new int[]{0, 1};
|
||||
varray = new int[5];
|
||||
vlist = new ArrayList<String>();
|
||||
vmap = new HashMap<String, String[]>();
|
||||
Object anonymous = new InputRegressionJavaClass1() {};
|
||||
|
||||
// stataments
|
||||
;
|
||||
this.f1 = 0;
|
||||
|
||||
// labels
|
||||
test_label1:
|
||||
|
||||
// blocks
|
||||
{}
|
||||
if (true) ;
|
||||
if (true) {}
|
||||
if (true) {} else ;
|
||||
if (true) {} else {}
|
||||
if (b) { for (;;) ; }
|
||||
if (b) { for (;;) {} }
|
||||
for (int i = 0; i < 1; i++) {}
|
||||
for (int i = 0, j = 0; i < 1; i++, j += 2) {}
|
||||
for (int value: new int[]{}) ;
|
||||
for (String s : new String[]{}) ;
|
||||
for (final String s : new String[]{}) ;
|
||||
if (b) { while (true) ; }
|
||||
if (b) { while (true) {} }
|
||||
do {} while (false);
|
||||
synchronized (f9) {}
|
||||
|
||||
switch (0) {
|
||||
case 1:
|
||||
case 0: break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
try {
|
||||
if (b) { throw new IOException(); }
|
||||
if (b) { throw new ArrayIndexOutOfBoundsException(); }
|
||||
throw new Exception();
|
||||
} catch (IOException | ArrayIndexOutOfBoundsException e) {
|
||||
} catch (Exception e) {
|
||||
} finally {}
|
||||
try (BufferedReader br = new BufferedReader(new FileReader(""))) {}
|
||||
try (BufferedReader br1 = new BufferedReader(new FileReader(""));
|
||||
BufferedReader br2 = new BufferedReader(new FileReader(""));) {}
|
||||
|
||||
// access
|
||||
test4 = InputRegressionJavaClass1.class;
|
||||
test4 = List[].class;
|
||||
test4 = boolean[].class;
|
||||
varray[0] = 0;
|
||||
for (String[] s : new String[][]{{}}) ;
|
||||
for (Map.Entry<String, String[]> e : vmap.entrySet()) { }
|
||||
|
||||
// others
|
||||
for (;;) {break;}
|
||||
test_label2:
|
||||
for (;;) {break test_label2;}
|
||||
if (b) { for (;;) {continue;} }
|
||||
if (b) { test_label3: for (;;) {continue test_label3;} }
|
||||
if (false) return;
|
||||
if (false) throw new Exception();
|
||||
assert(false);
|
||||
assert true : "false";
|
||||
f9 = (Object) f9;
|
||||
f9.equals(((vstring = "")));
|
||||
for (int i = 0; ((i) < (6+6)); i++) ;
|
||||
if ((b & b)) {}
|
||||
|
||||
// ast error handling
|
||||
vint = vboolean ? (vint = 1) : (vint = 0);
|
||||
varray[vint] = Integer.parseInt("0");
|
||||
}
|
||||
|
||||
public @interface innerAnnotation {}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,41 @@
|
|||
package com.puppycrawl.tools.checkstyle.grammars;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
class InputRegressionJavaClass2 extends ArrayList implements List, Collection {
|
||||
public InputRegressionJavaClass2() { super(); }
|
||||
|
||||
@Override
|
||||
public int size() { return super.size(); }
|
||||
@Override()
|
||||
public boolean isEmpty() { return InputRegressionJavaClass2.super.isEmpty(); }
|
||||
|
||||
public class Inner1 {
|
||||
public void m() {
|
||||
class Inner2 {
|
||||
}
|
||||
};
|
||||
|
||||
public InputRegressionJavaClass2 m2() {
|
||||
return InputRegressionJavaClass2.this;
|
||||
}
|
||||
}
|
||||
|
||||
public void m() { this.new Inner1().m(); }
|
||||
}
|
||||
class _c1 {}
|
||||
abstract class c2 {}
|
||||
class c3<A> { public c3<A> m(){return null;} }
|
||||
class c4<A,B> extends c3<A> {
|
||||
class c4a {}
|
||||
|
||||
public c4() { <String>super(); }
|
||||
public c3<A> m() { return super.<A>m(); }
|
||||
}
|
||||
class c5 extends c4.c4a {
|
||||
c5() { new c4().super(); }
|
||||
c5(int a) { new c4().<String>super(); }
|
||||
}
|
||||
|
|
@ -0,0 +1,370 @@
|
|||
PACKAGE_DEF -> package [1:0]
|
||||
|--ANNOTATIONS -> ANNOTATIONS [1:39]
|
||||
|--DOT -> . [1:39]
|
||||
| |--DOT -> . [1:28]
|
||||
| | |--DOT -> . [1:22]
|
||||
| | | |--DOT -> . [1:11]
|
||||
| | | | |--IDENT -> com [1:8]
|
||||
| | | | `--IDENT -> puppycrawl [1:12]
|
||||
| | | `--IDENT -> tools [1:23]
|
||||
| | `--IDENT -> checkstyle [1:29]
|
||||
| `--IDENT -> grammars [1:40]
|
||||
`--SEMI -> ; [1:48]
|
||||
IMPORT -> import [3:0]
|
||||
|--DOT -> . [3:16]
|
||||
| |--DOT -> . [3:11]
|
||||
| | |--IDENT -> java [3:7]
|
||||
| | `--IDENT -> util [3:12]
|
||||
| `--IDENT -> ArrayList [3:17]
|
||||
`--SEMI -> ; [3:26]
|
||||
IMPORT -> import [4:0]
|
||||
|--DOT -> . [4:16]
|
||||
| |--DOT -> . [4:11]
|
||||
| | |--IDENT -> java [4:7]
|
||||
| | `--IDENT -> util [4:12]
|
||||
| `--IDENT -> Collection [4:17]
|
||||
`--SEMI -> ; [4:27]
|
||||
IMPORT -> import [5:0]
|
||||
|--DOT -> . [5:16]
|
||||
| |--DOT -> . [5:11]
|
||||
| | |--IDENT -> java [5:7]
|
||||
| | `--IDENT -> util [5:12]
|
||||
| `--IDENT -> List [5:17]
|
||||
`--SEMI -> ; [5:21]
|
||||
CLASS_DEF -> CLASS_DEF [7:0]
|
||||
|--MODIFIERS -> MODIFIERS [7:0]
|
||||
| `--ANNOTATION -> ANNOTATION [7:0]
|
||||
| |--AT -> @ [7:0]
|
||||
| |--IDENT -> SuppressWarnings [7:1]
|
||||
| |--LPAREN -> ( [7:17]
|
||||
| |--EXPR -> EXPR [7:18]
|
||||
| | `--STRING_LITERAL -> "serial" [7:18]
|
||||
| `--RPAREN -> ) [7:26]
|
||||
|--LITERAL_CLASS -> class [8:0]
|
||||
|--IDENT -> InputRegressionJavaClass2 [8:6]
|
||||
|--EXTENDS_CLAUSE -> extends [8:32]
|
||||
| `--IDENT -> ArrayList [8:40]
|
||||
|--IMPLEMENTS_CLAUSE -> implements [8:50]
|
||||
| |--IDENT -> List [8:61]
|
||||
| |--COMMA -> , [8:65]
|
||||
| `--IDENT -> Collection [8:67]
|
||||
`--OBJBLOCK -> OBJBLOCK [8:78]
|
||||
|--LCURLY -> { [8:78]
|
||||
|--CTOR_DEF -> CTOR_DEF [9:4]
|
||||
| |--MODIFIERS -> MODIFIERS [9:4]
|
||||
| | `--LITERAL_PUBLIC -> public [9:4]
|
||||
| |--IDENT -> InputRegressionJavaClass2 [9:11]
|
||||
| |--LPAREN -> ( [9:36]
|
||||
| |--PARAMETERS -> PARAMETERS [9:37]
|
||||
| |--RPAREN -> ) [9:37]
|
||||
| `--SLIST -> { [9:39]
|
||||
| |--SUPER_CTOR_CALL -> super [9:41]
|
||||
| | |--LPAREN -> ( [9:46]
|
||||
| | |--ELIST -> ELIST [9:47]
|
||||
| | |--RPAREN -> ) [9:47]
|
||||
| | `--SEMI -> ; [9:48]
|
||||
| `--RCURLY -> } [9:50]
|
||||
|--METHOD_DEF -> METHOD_DEF [11:4]
|
||||
| |--MODIFIERS -> MODIFIERS [11:4]
|
||||
| | |--ANNOTATION -> ANNOTATION [11:4]
|
||||
| | | |--AT -> @ [11:4]
|
||||
| | | `--IDENT -> Override [11:5]
|
||||
| | `--LITERAL_PUBLIC -> public [12:4]
|
||||
| |--TYPE -> TYPE [12:11]
|
||||
| | `--LITERAL_INT -> int [12:11]
|
||||
| |--IDENT -> size [12:15]
|
||||
| |--LPAREN -> ( [12:19]
|
||||
| |--PARAMETERS -> PARAMETERS [12:20]
|
||||
| |--RPAREN -> ) [12:20]
|
||||
| `--SLIST -> { [12:22]
|
||||
| |--LITERAL_RETURN -> return [12:24]
|
||||
| | |--EXPR -> EXPR [12:41]
|
||||
| | | `--METHOD_CALL -> ( [12:41]
|
||||
| | | |--DOT -> . [12:36]
|
||||
| | | | |--LITERAL_SUPER -> super [12:31]
|
||||
| | | | `--IDENT -> size [12:37]
|
||||
| | | |--ELIST -> ELIST [12:42]
|
||||
| | | `--RPAREN -> ) [12:42]
|
||||
| | `--SEMI -> ; [12:43]
|
||||
| `--RCURLY -> } [12:45]
|
||||
|--METHOD_DEF -> METHOD_DEF [13:4]
|
||||
| |--MODIFIERS -> MODIFIERS [13:4]
|
||||
| | |--ANNOTATION -> ANNOTATION [13:4]
|
||||
| | | |--AT -> @ [13:4]
|
||||
| | | |--IDENT -> Override [13:5]
|
||||
| | | |--LPAREN -> ( [13:13]
|
||||
| | | `--RPAREN -> ) [13:14]
|
||||
| | `--LITERAL_PUBLIC -> public [14:4]
|
||||
| |--TYPE -> TYPE [14:11]
|
||||
| | `--LITERAL_BOOLEAN -> boolean [14:11]
|
||||
| |--IDENT -> isEmpty [14:19]
|
||||
| |--LPAREN -> ( [14:26]
|
||||
| |--PARAMETERS -> PARAMETERS [14:27]
|
||||
| |--RPAREN -> ) [14:27]
|
||||
| `--SLIST -> { [14:29]
|
||||
| |--LITERAL_RETURN -> return [14:31]
|
||||
| | |--EXPR -> EXPR [14:77]
|
||||
| | | `--METHOD_CALL -> ( [14:77]
|
||||
| | | |--DOT -> . [14:69]
|
||||
| | | | |--DOT -> . [14:63]
|
||||
| | | | | |--IDENT -> InputRegressionJavaClass2 [14:38]
|
||||
| | | | | `--LITERAL_SUPER -> super [14:64]
|
||||
| | | | `--IDENT -> isEmpty [14:70]
|
||||
| | | |--ELIST -> ELIST [14:78]
|
||||
| | | `--RPAREN -> ) [14:78]
|
||||
| | `--SEMI -> ; [14:79]
|
||||
| `--RCURLY -> } [14:81]
|
||||
|--CLASS_DEF -> CLASS_DEF [16:4]
|
||||
| |--MODIFIERS -> MODIFIERS [16:4]
|
||||
| | `--LITERAL_PUBLIC -> public [16:4]
|
||||
| |--LITERAL_CLASS -> class [16:11]
|
||||
| |--IDENT -> Inner1 [16:17]
|
||||
| `--OBJBLOCK -> OBJBLOCK [16:24]
|
||||
| |--LCURLY -> { [16:24]
|
||||
| |--METHOD_DEF -> METHOD_DEF [17:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [17:8]
|
||||
| | | `--LITERAL_PUBLIC -> public [17:8]
|
||||
| | |--TYPE -> TYPE [17:15]
|
||||
| | | `--LITERAL_VOID -> void [17:15]
|
||||
| | |--IDENT -> m [17:20]
|
||||
| | |--LPAREN -> ( [17:21]
|
||||
| | |--PARAMETERS -> PARAMETERS [17:22]
|
||||
| | |--RPAREN -> ) [17:22]
|
||||
| | `--SLIST -> { [17:24]
|
||||
| | |--CLASS_DEF -> CLASS_DEF [18:12]
|
||||
| | | |--MODIFIERS -> MODIFIERS [18:12]
|
||||
| | | |--LITERAL_CLASS -> class [18:12]
|
||||
| | | |--IDENT -> Inner2 [18:18]
|
||||
| | | `--OBJBLOCK -> OBJBLOCK [18:25]
|
||||
| | | |--LCURLY -> { [18:25]
|
||||
| | | `--RCURLY -> } [19:12]
|
||||
| | `--RCURLY -> } [20:8]
|
||||
| |--SEMI -> ; [20:9]
|
||||
| |--METHOD_DEF -> METHOD_DEF [22:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [22:8]
|
||||
| | | `--LITERAL_PUBLIC -> public [22:8]
|
||||
| | |--TYPE -> TYPE [22:15]
|
||||
| | | `--IDENT -> InputRegressionJavaClass2 [22:15]
|
||||
| | |--IDENT -> m2 [22:41]
|
||||
| | |--LPAREN -> ( [22:43]
|
||||
| | |--PARAMETERS -> PARAMETERS [22:44]
|
||||
| | |--RPAREN -> ) [22:44]
|
||||
| | `--SLIST -> { [22:46]
|
||||
| | |--LITERAL_RETURN -> return [23:12]
|
||||
| | | |--EXPR -> EXPR [23:44]
|
||||
| | | | `--DOT -> . [23:44]
|
||||
| | | | |--IDENT -> InputRegressionJavaClass2 [23:19]
|
||||
| | | | `--LITERAL_THIS -> this [23:45]
|
||||
| | | `--SEMI -> ; [23:49]
|
||||
| | `--RCURLY -> } [24:8]
|
||||
| `--RCURLY -> } [25:4]
|
||||
|--METHOD_DEF -> METHOD_DEF [27:4]
|
||||
| |--MODIFIERS -> MODIFIERS [27:4]
|
||||
| | `--LITERAL_PUBLIC -> public [27:4]
|
||||
| |--TYPE -> TYPE [27:11]
|
||||
| | `--LITERAL_VOID -> void [27:11]
|
||||
| |--IDENT -> m [27:16]
|
||||
| |--LPAREN -> ( [27:17]
|
||||
| |--PARAMETERS -> PARAMETERS [27:18]
|
||||
| |--RPAREN -> ) [27:18]
|
||||
| `--SLIST -> { [27:20]
|
||||
| |--EXPR -> EXPR [27:41]
|
||||
| | `--METHOD_CALL -> ( [27:41]
|
||||
| | |--DOT -> . [27:39]
|
||||
| | | |--DOT -> . [27:26]
|
||||
| | | | |--LITERAL_THIS -> this [27:22]
|
||||
| | | | `--LITERAL_NEW -> new [27:27]
|
||||
| | | | |--IDENT -> Inner1 [27:31]
|
||||
| | | | |--LPAREN -> ( [27:37]
|
||||
| | | | |--ELIST -> ELIST [27:38]
|
||||
| | | | `--RPAREN -> ) [27:38]
|
||||
| | | `--IDENT -> m [27:40]
|
||||
| | |--ELIST -> ELIST [27:42]
|
||||
| | `--RPAREN -> ) [27:42]
|
||||
| |--SEMI -> ; [27:43]
|
||||
| `--RCURLY -> } [27:45]
|
||||
`--RCURLY -> } [28:0]
|
||||
CLASS_DEF -> CLASS_DEF [29:0]
|
||||
|--MODIFIERS -> MODIFIERS [29:0]
|
||||
|--LITERAL_CLASS -> class [29:0]
|
||||
|--IDENT -> _c1 [29:6]
|
||||
`--OBJBLOCK -> OBJBLOCK [29:10]
|
||||
|--LCURLY -> { [29:10]
|
||||
`--RCURLY -> } [29:11]
|
||||
CLASS_DEF -> CLASS_DEF [30:0]
|
||||
|--MODIFIERS -> MODIFIERS [30:0]
|
||||
| `--ABSTRACT -> abstract [30:0]
|
||||
|--LITERAL_CLASS -> class [30:9]
|
||||
|--IDENT -> c2 [30:15]
|
||||
`--OBJBLOCK -> OBJBLOCK [30:18]
|
||||
|--LCURLY -> { [30:18]
|
||||
`--RCURLY -> } [30:19]
|
||||
CLASS_DEF -> CLASS_DEF [31:0]
|
||||
|--MODIFIERS -> MODIFIERS [31:0]
|
||||
|--LITERAL_CLASS -> class [31:0]
|
||||
|--IDENT -> c3 [31:6]
|
||||
|--TYPE_PARAMETERS -> TYPE_PARAMETERS [31:8]
|
||||
| |--GENERIC_START -> < [31:8]
|
||||
| |--TYPE_PARAMETER -> TYPE_PARAMETER [31:9]
|
||||
| | `--IDENT -> A [31:9]
|
||||
| `--GENERIC_END -> > [31:10]
|
||||
`--OBJBLOCK -> OBJBLOCK [31:12]
|
||||
|--LCURLY -> { [31:12]
|
||||
|--METHOD_DEF -> METHOD_DEF [31:14]
|
||||
| |--MODIFIERS -> MODIFIERS [31:14]
|
||||
| | `--LITERAL_PUBLIC -> public [31:14]
|
||||
| |--TYPE -> TYPE [31:21]
|
||||
| | |--IDENT -> c3 [31:21]
|
||||
| | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [31:23]
|
||||
| | |--GENERIC_START -> < [31:23]
|
||||
| | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [31:24]
|
||||
| | | `--IDENT -> A [31:24]
|
||||
| | `--GENERIC_END -> > [31:25]
|
||||
| |--IDENT -> m [31:27]
|
||||
| |--LPAREN -> ( [31:28]
|
||||
| |--PARAMETERS -> PARAMETERS [31:29]
|
||||
| |--RPAREN -> ) [31:29]
|
||||
| `--SLIST -> { [31:30]
|
||||
| |--LITERAL_RETURN -> return [31:31]
|
||||
| | |--EXPR -> EXPR [31:38]
|
||||
| | | `--LITERAL_NULL -> null [31:38]
|
||||
| | `--SEMI -> ; [31:42]
|
||||
| `--RCURLY -> } [31:43]
|
||||
`--RCURLY -> } [31:45]
|
||||
CLASS_DEF -> CLASS_DEF [32:0]
|
||||
|--MODIFIERS -> MODIFIERS [32:0]
|
||||
|--LITERAL_CLASS -> class [32:0]
|
||||
|--IDENT -> c4 [32:6]
|
||||
|--TYPE_PARAMETERS -> TYPE_PARAMETERS [32:8]
|
||||
| |--GENERIC_START -> < [32:8]
|
||||
| |--TYPE_PARAMETER -> TYPE_PARAMETER [32:9]
|
||||
| | `--IDENT -> A [32:9]
|
||||
| |--COMMA -> , [32:10]
|
||||
| |--TYPE_PARAMETER -> TYPE_PARAMETER [32:11]
|
||||
| | `--IDENT -> B [32:11]
|
||||
| `--GENERIC_END -> > [32:12]
|
||||
|--EXTENDS_CLAUSE -> extends [32:14]
|
||||
| |--IDENT -> c3 [32:22]
|
||||
| `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [32:24]
|
||||
| |--GENERIC_START -> < [32:24]
|
||||
| |--TYPE_ARGUMENT -> TYPE_ARGUMENT [32:25]
|
||||
| | `--IDENT -> A [32:25]
|
||||
| `--GENERIC_END -> > [32:26]
|
||||
`--OBJBLOCK -> OBJBLOCK [32:28]
|
||||
|--LCURLY -> { [32:28]
|
||||
|--CLASS_DEF -> CLASS_DEF [33:4]
|
||||
| |--MODIFIERS -> MODIFIERS [33:4]
|
||||
| |--LITERAL_CLASS -> class [33:4]
|
||||
| |--IDENT -> c4a [33:10]
|
||||
| `--OBJBLOCK -> OBJBLOCK [33:14]
|
||||
| |--LCURLY -> { [33:14]
|
||||
| `--RCURLY -> } [33:15]
|
||||
|--CTOR_DEF -> CTOR_DEF [35:4]
|
||||
| |--MODIFIERS -> MODIFIERS [35:4]
|
||||
| | `--LITERAL_PUBLIC -> public [35:4]
|
||||
| |--IDENT -> c4 [35:11]
|
||||
| |--LPAREN -> ( [35:13]
|
||||
| |--PARAMETERS -> PARAMETERS [35:14]
|
||||
| |--RPAREN -> ) [35:14]
|
||||
| `--SLIST -> { [35:16]
|
||||
| |--SUPER_CTOR_CALL -> super [35:26]
|
||||
| | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [35:18]
|
||||
| | | |--GENERIC_START -> < [35:18]
|
||||
| | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [35:19]
|
||||
| | | | `--IDENT -> String [35:19]
|
||||
| | | `--GENERIC_END -> > [35:25]
|
||||
| | |--LPAREN -> ( [35:31]
|
||||
| | |--ELIST -> ELIST [35:32]
|
||||
| | |--RPAREN -> ) [35:32]
|
||||
| | `--SEMI -> ; [35:33]
|
||||
| `--RCURLY -> } [35:35]
|
||||
|--METHOD_DEF -> METHOD_DEF [36:4]
|
||||
| |--MODIFIERS -> MODIFIERS [36:4]
|
||||
| | `--LITERAL_PUBLIC -> public [36:4]
|
||||
| |--TYPE -> TYPE [36:11]
|
||||
| | |--IDENT -> c3 [36:11]
|
||||
| | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [36:13]
|
||||
| | |--GENERIC_START -> < [36:13]
|
||||
| | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [36:14]
|
||||
| | | `--IDENT -> A [36:14]
|
||||
| | `--GENERIC_END -> > [36:15]
|
||||
| |--IDENT -> m [36:17]
|
||||
| |--LPAREN -> ( [36:18]
|
||||
| |--PARAMETERS -> PARAMETERS [36:19]
|
||||
| |--RPAREN -> ) [36:19]
|
||||
| `--SLIST -> { [36:21]
|
||||
| |--LITERAL_RETURN -> return [36:23]
|
||||
| | |--EXPR -> EXPR [36:40]
|
||||
| | | `--METHOD_CALL -> ( [36:40]
|
||||
| | | |--DOT -> . [36:35]
|
||||
| | | | |--LITERAL_SUPER -> super [36:30]
|
||||
| | | | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [36:36]
|
||||
| | | | | |--GENERIC_START -> < [36:36]
|
||||
| | | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [36:37]
|
||||
| | | | | | `--IDENT -> A [36:37]
|
||||
| | | | | `--GENERIC_END -> > [36:38]
|
||||
| | | | `--IDENT -> m [36:39]
|
||||
| | | |--ELIST -> ELIST [36:41]
|
||||
| | | `--RPAREN -> ) [36:41]
|
||||
| | `--SEMI -> ; [36:42]
|
||||
| `--RCURLY -> } [36:44]
|
||||
`--RCURLY -> } [37:0]
|
||||
CLASS_DEF -> CLASS_DEF [38:0]
|
||||
|--MODIFIERS -> MODIFIERS [38:0]
|
||||
|--LITERAL_CLASS -> class [38:0]
|
||||
|--IDENT -> c5 [38:6]
|
||||
|--EXTENDS_CLAUSE -> extends [38:9]
|
||||
| `--DOT -> . [38:19]
|
||||
| |--IDENT -> c4 [38:17]
|
||||
| `--IDENT -> c4a [38:20]
|
||||
`--OBJBLOCK -> OBJBLOCK [38:24]
|
||||
|--LCURLY -> { [38:24]
|
||||
|--CTOR_DEF -> CTOR_DEF [39:4]
|
||||
| |--MODIFIERS -> MODIFIERS [39:4]
|
||||
| |--IDENT -> c5 [39:4]
|
||||
| |--LPAREN -> ( [39:6]
|
||||
| |--PARAMETERS -> PARAMETERS [39:7]
|
||||
| |--RPAREN -> ) [39:7]
|
||||
| `--SLIST -> { [39:9]
|
||||
| |--SUPER_CTOR_CALL -> super [39:20]
|
||||
| | |--LITERAL_NEW -> new [39:11]
|
||||
| | | |--IDENT -> c4 [39:15]
|
||||
| | | |--LPAREN -> ( [39:17]
|
||||
| | | |--ELIST -> ELIST [39:18]
|
||||
| | | `--RPAREN -> ) [39:18]
|
||||
| | |--DOT -> . [39:19]
|
||||
| | |--LPAREN -> ( [39:25]
|
||||
| | |--ELIST -> ELIST [39:26]
|
||||
| | |--RPAREN -> ) [39:26]
|
||||
| | `--SEMI -> ; [39:27]
|
||||
| `--RCURLY -> } [39:29]
|
||||
|--CTOR_DEF -> CTOR_DEF [40:4]
|
||||
| |--MODIFIERS -> MODIFIERS [40:4]
|
||||
| |--IDENT -> c5 [40:4]
|
||||
| |--LPAREN -> ( [40:6]
|
||||
| |--PARAMETERS -> PARAMETERS [40:7]
|
||||
| | `--PARAMETER_DEF -> PARAMETER_DEF [40:7]
|
||||
| | |--MODIFIERS -> MODIFIERS [40:7]
|
||||
| | |--TYPE -> TYPE [40:7]
|
||||
| | | `--LITERAL_INT -> int [40:7]
|
||||
| | `--IDENT -> a [40:11]
|
||||
| |--RPAREN -> ) [40:12]
|
||||
| `--SLIST -> { [40:14]
|
||||
| |--SUPER_CTOR_CALL -> super [40:33]
|
||||
| | |--LITERAL_NEW -> new [40:16]
|
||||
| | | |--IDENT -> c4 [40:20]
|
||||
| | | |--LPAREN -> ( [40:22]
|
||||
| | | |--ELIST -> ELIST [40:23]
|
||||
| | | `--RPAREN -> ) [40:23]
|
||||
| | |--DOT -> . [40:24]
|
||||
| | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [40:25]
|
||||
| | | |--GENERIC_START -> < [40:25]
|
||||
| | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [40:26]
|
||||
| | | | `--IDENT -> String [40:26]
|
||||
| | | `--GENERIC_END -> > [40:32]
|
||||
| | |--LPAREN -> ( [40:38]
|
||||
| | |--ELIST -> ELIST [40:39]
|
||||
| | |--RPAREN -> ) [40:39]
|
||||
| | `--SEMI -> ; [40:40]
|
||||
| `--RCURLY -> } [40:42]
|
||||
`--RCURLY -> } [41:0]
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.puppycrawl.tools.checkstyle.grammars;
|
||||
|
||||
public enum InputRegressionJavaEnum1 {
|
||||
E1(), E2 {
|
||||
class anonymous {}
|
||||
private static final int f = 1;
|
||||
|
||||
@Override
|
||||
public void override() {};
|
||||
public <T> void m1() {};
|
||||
public void m2() throws Exception { throw new Exception(); };
|
||||
public native void m3() throws Exception;
|
||||
|
||||
{;}
|
||||
}
|
||||
;
|
||||
|
||||
public void override() {}
|
||||
}
|
||||
enum e1 {
|
||||
E1(),;
|
||||
}
|
||||
enum e2 {
|
||||
E1();;
|
||||
}
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
PACKAGE_DEF -> package [1:0]
|
||||
|--ANNOTATIONS -> ANNOTATIONS [1:39]
|
||||
|--DOT -> . [1:39]
|
||||
| |--DOT -> . [1:28]
|
||||
| | |--DOT -> . [1:22]
|
||||
| | | |--DOT -> . [1:11]
|
||||
| | | | |--IDENT -> com [1:8]
|
||||
| | | | `--IDENT -> puppycrawl [1:12]
|
||||
| | | `--IDENT -> tools [1:23]
|
||||
| | `--IDENT -> checkstyle [1:29]
|
||||
| `--IDENT -> grammars [1:40]
|
||||
`--SEMI -> ; [1:48]
|
||||
ENUM_DEF -> ENUM_DEF [3:0]
|
||||
|--MODIFIERS -> MODIFIERS [3:0]
|
||||
| `--LITERAL_PUBLIC -> public [3:0]
|
||||
|--ENUM -> enum [3:7]
|
||||
|--IDENT -> InputRegressionJavaEnum1 [3:12]
|
||||
`--OBJBLOCK -> OBJBLOCK [3:37]
|
||||
|--LCURLY -> { [3:37]
|
||||
|--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [4:4]
|
||||
| |--ANNOTATIONS -> ANNOTATIONS [4:4]
|
||||
| |--IDENT -> E1 [4:4]
|
||||
| |--LPAREN -> ( [4:6]
|
||||
| |--ELIST -> ELIST [4:7]
|
||||
| `--RPAREN -> ) [4:7]
|
||||
|--COMMA -> , [4:8]
|
||||
|--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [4:10]
|
||||
| |--ANNOTATIONS -> ANNOTATIONS [4:10]
|
||||
| |--IDENT -> E2 [4:10]
|
||||
| `--OBJBLOCK -> OBJBLOCK [4:13]
|
||||
| |--LCURLY -> { [4:13]
|
||||
| |--CLASS_DEF -> CLASS_DEF [5:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [5:8]
|
||||
| | |--LITERAL_CLASS -> class [5:8]
|
||||
| | |--IDENT -> anonymous [5:14]
|
||||
| | `--OBJBLOCK -> OBJBLOCK [5:24]
|
||||
| | |--LCURLY -> { [5:24]
|
||||
| | `--RCURLY -> } [5:25]
|
||||
| |--VARIABLE_DEF -> VARIABLE_DEF [6:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [6:8]
|
||||
| | | |--LITERAL_PRIVATE -> private [6:8]
|
||||
| | | |--LITERAL_STATIC -> static [6:16]
|
||||
| | | `--FINAL -> final [6:23]
|
||||
| | |--TYPE -> TYPE [6:29]
|
||||
| | | `--LITERAL_INT -> int [6:29]
|
||||
| | |--IDENT -> f [6:33]
|
||||
| | |--ASSIGN -> = [6:35]
|
||||
| | | `--EXPR -> EXPR [6:37]
|
||||
| | | `--NUM_INT -> 1 [6:37]
|
||||
| | `--SEMI -> ; [6:38]
|
||||
| |--METHOD_DEF -> METHOD_DEF [8:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [8:8]
|
||||
| | | |--ANNOTATION -> ANNOTATION [8:8]
|
||||
| | | | |--AT -> @ [8:8]
|
||||
| | | | `--IDENT -> Override [8:9]
|
||||
| | | `--LITERAL_PUBLIC -> public [9:8]
|
||||
| | |--TYPE -> TYPE [9:15]
|
||||
| | | `--LITERAL_VOID -> void [9:15]
|
||||
| | |--IDENT -> override [9:20]
|
||||
| | |--LPAREN -> ( [9:28]
|
||||
| | |--PARAMETERS -> PARAMETERS [9:29]
|
||||
| | |--RPAREN -> ) [9:29]
|
||||
| | `--SLIST -> { [9:31]
|
||||
| | `--RCURLY -> } [9:32]
|
||||
| |--SEMI -> ; [9:33]
|
||||
| |--METHOD_DEF -> METHOD_DEF [10:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [10:8]
|
||||
| | | `--LITERAL_PUBLIC -> public [10:8]
|
||||
| | |--TYPE_PARAMETERS -> TYPE_PARAMETERS [10:15]
|
||||
| | | |--GENERIC_START -> < [10:15]
|
||||
| | | |--TYPE_PARAMETER -> TYPE_PARAMETER [10:16]
|
||||
| | | | `--IDENT -> T [10:16]
|
||||
| | | `--GENERIC_END -> > [10:17]
|
||||
| | |--TYPE -> TYPE [10:19]
|
||||
| | | `--LITERAL_VOID -> void [10:19]
|
||||
| | |--IDENT -> m1 [10:24]
|
||||
| | |--LPAREN -> ( [10:26]
|
||||
| | |--PARAMETERS -> PARAMETERS [10:27]
|
||||
| | |--RPAREN -> ) [10:27]
|
||||
| | `--SLIST -> { [10:29]
|
||||
| | `--RCURLY -> } [10:30]
|
||||
| |--SEMI -> ; [10:31]
|
||||
| |--METHOD_DEF -> METHOD_DEF [11:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [11:8]
|
||||
| | | `--LITERAL_PUBLIC -> public [11:8]
|
||||
| | |--TYPE -> TYPE [11:15]
|
||||
| | | `--LITERAL_VOID -> void [11:15]
|
||||
| | |--IDENT -> m2 [11:20]
|
||||
| | |--LPAREN -> ( [11:22]
|
||||
| | |--PARAMETERS -> PARAMETERS [11:23]
|
||||
| | |--RPAREN -> ) [11:23]
|
||||
| | |--LITERAL_THROWS -> throws [11:25]
|
||||
| | | `--IDENT -> Exception [11:32]
|
||||
| | `--SLIST -> { [11:42]
|
||||
| | |--LITERAL_THROW -> throw [11:44]
|
||||
| | | |--EXPR -> EXPR [11:50]
|
||||
| | | | `--LITERAL_NEW -> new [11:50]
|
||||
| | | | |--IDENT -> Exception [11:54]
|
||||
| | | | |--LPAREN -> ( [11:63]
|
||||
| | | | |--ELIST -> ELIST [11:64]
|
||||
| | | | `--RPAREN -> ) [11:64]
|
||||
| | | `--SEMI -> ; [11:65]
|
||||
| | `--RCURLY -> } [11:67]
|
||||
| |--SEMI -> ; [11:68]
|
||||
| |--METHOD_DEF -> METHOD_DEF [12:8]
|
||||
| | |--MODIFIERS -> MODIFIERS [12:8]
|
||||
| | | |--LITERAL_PUBLIC -> public [12:8]
|
||||
| | | `--LITERAL_NATIVE -> native [12:15]
|
||||
| | |--TYPE -> TYPE [12:22]
|
||||
| | | `--LITERAL_VOID -> void [12:22]
|
||||
| | |--IDENT -> m3 [12:27]
|
||||
| | |--LPAREN -> ( [12:29]
|
||||
| | |--PARAMETERS -> PARAMETERS [12:30]
|
||||
| | |--RPAREN -> ) [12:30]
|
||||
| | |--LITERAL_THROWS -> throws [12:32]
|
||||
| | | `--IDENT -> Exception [12:39]
|
||||
| | `--SEMI -> ; [12:48]
|
||||
| |--INSTANCE_INIT -> INSTANCE_INIT [14:8]
|
||||
| | `--SLIST -> { [14:8]
|
||||
| | |--EMPTY_STAT -> ; [14:9]
|
||||
| | `--RCURLY -> } [14:10]
|
||||
| `--RCURLY -> } [15:4]
|
||||
|--SEMI -> ; [16:4]
|
||||
|--METHOD_DEF -> METHOD_DEF [18:4]
|
||||
| |--MODIFIERS -> MODIFIERS [18:4]
|
||||
| | `--LITERAL_PUBLIC -> public [18:4]
|
||||
| |--TYPE -> TYPE [18:11]
|
||||
| | `--LITERAL_VOID -> void [18:11]
|
||||
| |--IDENT -> override [18:16]
|
||||
| |--LPAREN -> ( [18:24]
|
||||
| |--PARAMETERS -> PARAMETERS [18:25]
|
||||
| |--RPAREN -> ) [18:25]
|
||||
| `--SLIST -> { [18:27]
|
||||
| `--RCURLY -> } [18:28]
|
||||
`--RCURLY -> } [19:0]
|
||||
ENUM_DEF -> ENUM_DEF [20:0]
|
||||
|--MODIFIERS -> MODIFIERS [20:0]
|
||||
|--ENUM -> enum [20:0]
|
||||
|--IDENT -> e1 [20:5]
|
||||
`--OBJBLOCK -> OBJBLOCK [20:8]
|
||||
|--LCURLY -> { [20:8]
|
||||
|--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [21:4]
|
||||
| |--ANNOTATIONS -> ANNOTATIONS [21:4]
|
||||
| |--IDENT -> E1 [21:4]
|
||||
| |--LPAREN -> ( [21:6]
|
||||
| |--ELIST -> ELIST [21:7]
|
||||
| `--RPAREN -> ) [21:7]
|
||||
|--COMMA -> , [21:8]
|
||||
|--SEMI -> ; [21:9]
|
||||
`--RCURLY -> } [22:0]
|
||||
ENUM_DEF -> ENUM_DEF [23:0]
|
||||
|--MODIFIERS -> MODIFIERS [23:0]
|
||||
|--ENUM -> enum [23:0]
|
||||
|--IDENT -> e2 [23:5]
|
||||
`--OBJBLOCK -> OBJBLOCK [23:8]
|
||||
|--LCURLY -> { [23:8]
|
||||
|--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [24:4]
|
||||
| |--ANNOTATIONS -> ANNOTATIONS [24:4]
|
||||
| |--IDENT -> E1 [24:4]
|
||||
| |--LPAREN -> ( [24:6]
|
||||
| |--ELIST -> ELIST [24:7]
|
||||
| `--RPAREN -> ) [24:7]
|
||||
|--SEMI -> ; [24:8]
|
||||
|--SEMI -> ; [24:9]
|
||||
`--RCURLY -> } [25:0]
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
package com.puppycrawl.tools.checkstyle.grammars;
|
||||
|
||||
public enum InputRegressionJavaEnum2 {
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
PACKAGE_DEF -> package [1:0]
|
||||
|--ANNOTATIONS -> ANNOTATIONS [1:39]
|
||||
|--DOT -> . [1:39]
|
||||
| |--DOT -> . [1:28]
|
||||
| | |--DOT -> . [1:22]
|
||||
| | | |--DOT -> . [1:11]
|
||||
| | | | |--IDENT -> com [1:8]
|
||||
| | | | `--IDENT -> puppycrawl [1:12]
|
||||
| | | `--IDENT -> tools [1:23]
|
||||
| | `--IDENT -> checkstyle [1:29]
|
||||
| `--IDENT -> grammars [1:40]
|
||||
`--SEMI -> ; [1:48]
|
||||
ENUM_DEF -> ENUM_DEF [3:0]
|
||||
|--MODIFIERS -> MODIFIERS [3:0]
|
||||
| `--LITERAL_PUBLIC -> public [3:0]
|
||||
|--ENUM -> enum [3:7]
|
||||
|--IDENT -> InputRegressionJavaEnum2 [3:12]
|
||||
`--OBJBLOCK -> OBJBLOCK [3:37]
|
||||
|--LCURLY -> { [3:37]
|
||||
`--RCURLY -> } [4:0]
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
package com.puppycrawl.tools.checkstyle.grammars;
|
||||
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public interface InputRegressionJavaInterface1 extends List, Collection {
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
PACKAGE_DEF -> package [1:0]
|
||||
|--ANNOTATIONS -> ANNOTATIONS [1:39]
|
||||
|--DOT -> . [1:39]
|
||||
| |--DOT -> . [1:28]
|
||||
| | |--DOT -> . [1:22]
|
||||
| | | |--DOT -> . [1:11]
|
||||
| | | | |--IDENT -> com [1:8]
|
||||
| | | | `--IDENT -> puppycrawl [1:12]
|
||||
| | | `--IDENT -> tools [1:23]
|
||||
| | `--IDENT -> checkstyle [1:29]
|
||||
| `--IDENT -> grammars [1:40]
|
||||
`--SEMI -> ; [1:48]
|
||||
IMPORT -> import [4:0]
|
||||
|--DOT -> . [4:16]
|
||||
| |--DOT -> . [4:11]
|
||||
| | |--IDENT -> java [4:7]
|
||||
| | `--IDENT -> util [4:12]
|
||||
| `--IDENT -> Collection [4:17]
|
||||
`--SEMI -> ; [4:27]
|
||||
IMPORT -> import [5:0]
|
||||
|--DOT -> . [5:16]
|
||||
| |--DOT -> . [5:11]
|
||||
| | |--IDENT -> java [5:7]
|
||||
| | `--IDENT -> util [5:12]
|
||||
| `--IDENT -> List [5:17]
|
||||
`--SEMI -> ; [5:21]
|
||||
INTERFACE_DEF -> INTERFACE_DEF [7:0]
|
||||
|--MODIFIERS -> MODIFIERS [7:0]
|
||||
| `--LITERAL_PUBLIC -> public [7:0]
|
||||
|--LITERAL_INTERFACE -> interface [7:7]
|
||||
|--IDENT -> InputRegressionJavaInterface1 [7:17]
|
||||
|--EXTENDS_CLAUSE -> extends [7:47]
|
||||
| |--IDENT -> List [7:55]
|
||||
| |--COMMA -> , [7:59]
|
||||
| `--IDENT -> Collection [7:61]
|
||||
`--OBJBLOCK -> OBJBLOCK [7:72]
|
||||
|--LCURLY -> { [7:72]
|
||||
`--RCURLY -> } [8:0]
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
package com.puppycrawl.tools.checkstyle.grammars;
|
||||
|
||||
public interface InputRegressionJavaInterface2 {
|
||||
}
|
||||
interface MyInterface<T> {
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
PACKAGE_DEF -> package [1:0]
|
||||
|--ANNOTATIONS -> ANNOTATIONS [1:39]
|
||||
|--DOT -> . [1:39]
|
||||
| |--DOT -> . [1:28]
|
||||
| | |--DOT -> . [1:22]
|
||||
| | | |--DOT -> . [1:11]
|
||||
| | | | |--IDENT -> com [1:8]
|
||||
| | | | `--IDENT -> puppycrawl [1:12]
|
||||
| | | `--IDENT -> tools [1:23]
|
||||
| | `--IDENT -> checkstyle [1:29]
|
||||
| `--IDENT -> grammars [1:40]
|
||||
`--SEMI -> ; [1:48]
|
||||
INTERFACE_DEF -> INTERFACE_DEF [3:0]
|
||||
|--MODIFIERS -> MODIFIERS [3:0]
|
||||
| `--LITERAL_PUBLIC -> public [3:0]
|
||||
|--LITERAL_INTERFACE -> interface [3:7]
|
||||
|--IDENT -> InputRegressionJavaInterface2 [3:17]
|
||||
`--OBJBLOCK -> OBJBLOCK [3:47]
|
||||
|--LCURLY -> { [3:47]
|
||||
`--RCURLY -> } [4:0]
|
||||
INTERFACE_DEF -> INTERFACE_DEF [5:0]
|
||||
|--MODIFIERS -> MODIFIERS [5:0]
|
||||
|--LITERAL_INTERFACE -> interface [5:0]
|
||||
|--IDENT -> MyInterface [5:10]
|
||||
|--TYPE_PARAMETERS -> TYPE_PARAMETERS [5:21]
|
||||
| |--GENERIC_START -> < [5:21]
|
||||
| |--TYPE_PARAMETER -> TYPE_PARAMETER [5:22]
|
||||
| | `--IDENT -> T [5:22]
|
||||
| `--GENERIC_END -> > [5:23]
|
||||
`--OBJBLOCK -> OBJBLOCK [5:25]
|
||||
|--LCURLY -> { [5:25]
|
||||
`--RCURLY -> } [6:0]
|
||||
Loading…
Reference in New Issue