aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorrnveach <rveach02@gmail.com>2016-06-12 09:21:29 -0400
committerRoman Ivanov <romani@users.noreply.github.com>2016-06-12 06:21:29 -0700
commitc7834c28ce1c55e053062dd7a21785d9e161414a (patch)
tree2e6689682a1d9a1d5959bb1aaf8b7ca637fe98df /src/test
parentbca44e516ea063983ad64fffb4e1b7d37ce3f11b (diff)
downloadcheckstyle-c7834c28ce1c55e053062dd7a21785d9e161414a.tar.gz
Issue #3239: added receiver parameter to java grammar (#3260)
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/puppycrawl/tools/checkstyle/grammars/java8/ReceiverParameterTest.java47
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1Ast.txt805
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/java8/InputReceiverParameter.java10
4 files changed, 495 insertions, 373 deletions
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/grammars/java8/ReceiverParameterTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/grammars/java8/ReceiverParameterTest.java
new file mode 100644
index 000000000..33df1841e
--- /dev/null
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/grammars/java8/ReceiverParameterTest.java
@@ -0,0 +1,47 @@
+////////////////////////////////////////////////////////////////////////////////
+// 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.java8;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.Test;
+
+import com.puppycrawl.tools.checkstyle.BaseCheckTestSupport;
+import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
+import com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck;
+import com.puppycrawl.tools.checkstyle.utils.CommonUtils;
+
+public class ReceiverParameterTest extends BaseCheckTestSupport {
+ @Override
+ protected String getPath(String filename) throws IOException {
+ return super.getPath("grammars" + File.separator
+ + "java8" + File.separator + filename);
+ }
+
+ @Test
+ public void testCanParse()
+ throws Exception {
+ final DefaultConfiguration checkConfig =
+ createCheckConfig(MemberNameCheck.class);
+ final String[] expected = CommonUtils.EMPTY_STRING_ARRAY;
+ verify(checkConfig, getPath("InputReceiverParameter.java"), expected);
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1.java b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1.java
index 5e4f369ed..cac287930 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1.java
@@ -23,6 +23,8 @@ public class InputRegressionJava8Class1 {
void m1() throws @Nullable Exception {}
public static <T> void m2(T @Nullable [] array) {}
public void m3() throws NullPointerException, @Nullable ArrayIndexOutOfBoundsException {}
+ public void m4(InputRegressionJava8Class1 this) {}
+ public void m5(@Nullable InputRegressionJava8Class1 this) {}
{
List<String> vlist = new ArrayList<String>();
@@ -57,6 +59,10 @@ public class InputRegressionJava8Class1 {
}
static final Comparator<?> f = (Comparator<?>) (dateTime1, dateTime2) -> { return 0; };
+
+ private class Inner {
+ public Inner(InputRegressionJava8Class1 InputRegressionJava8Class1.this) {}
+ }
}
;
class InputRegressionJava8TypeParam <@Nullable T> {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1Ast.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1Ast.txt
index b1e1f344d..c0c519928 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1Ast.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/InputRegressionJava8Class1Ast.txt
@@ -258,388 +258,447 @@ CLASS_DEF -> CLASS_DEF [17:0]
| | `--IDENT -> ArrayIndexOutOfBoundsException [25:60]
| `--SLIST -> { [25:91]
| `--RCURLY -> } [25:92]
- |--INSTANCE_INIT -> INSTANCE_INIT [27:4]
- | `--SLIST -> { [27:4]
- | |--VARIABLE_DEF -> VARIABLE_DEF [28:8]
- | | |--MODIFIERS -> MODIFIERS [28:8]
- | | |--TYPE -> TYPE [28:8]
- | | | |--IDENT -> List [28:8]
- | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [28:12]
- | | | |--GENERIC_START -> < [28:12]
- | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [28:13]
- | | | | `--IDENT -> String [28:13]
- | | | `--GENERIC_END -> > [28:19]
- | | |--IDENT -> vlist [28:21]
- | | `--ASSIGN -> = [28:27]
- | | `--EXPR -> EXPR [28:29]
- | | `--LITERAL_NEW -> new [28:29]
- | | |--IDENT -> ArrayList [28:33]
- | | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [28:42]
- | | | |--GENERIC_START -> < [28:42]
- | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [28:43]
- | | | | `--IDENT -> String [28:43]
- | | | `--GENERIC_END -> > [28:49]
- | | |--LPAREN -> ( [28:50]
- | | |--ELIST -> ELIST [28:51]
- | | `--RPAREN -> ) [28:51]
- | |--SEMI -> ; [28:52]
- | `--RCURLY -> } [29:4]
- |--METHOD_DEF -> METHOD_DEF [31:4]
- | |--MODIFIERS -> MODIFIERS [31:4]
- | | `--LITERAL_PUBLIC -> public [31:4]
- | |--TYPE -> TYPE [31:11]
- | | `--LITERAL_VOID -> void [31:11]
- | |--IDENT -> instructions [31:16]
- | |--LPAREN -> ( [31:28]
- | |--PARAMETERS -> PARAMETERS [31:29]
- | |--RPAREN -> ) [31:29]
- | `--SLIST -> { [31:31]
- | |--VARIABLE_DEF -> VARIABLE_DEF [33:8]
- | | |--MODIFIERS -> MODIFIERS [33:8]
- | | |--TYPE -> TYPE [33:8]
- | | | `--LITERAL_BOOLEAN -> boolean [33:8]
- | | |--IDENT -> b [33:16]
- | | `--ASSIGN -> = [33:18]
- | | `--EXPR -> EXPR [33:34]
- | | `--GT -> > [33:34]
- | | |--METHOD_CALL -> ( [33:31]
- | | | |--DOT -> . [33:24]
- | | | | |--IDENT -> Math [33:20]
- | | | | `--IDENT -> random [33:25]
- | | | |--ELIST -> ELIST [33:32]
- | | | `--RPAREN -> ) [33:32]
- | | `--NUM_INT -> 0 [33:36]
- | |--SEMI -> ; [33:37]
+ |--METHOD_DEF -> METHOD_DEF [26:4]
+ | |--MODIFIERS -> MODIFIERS [26:4]
+ | | `--LITERAL_PUBLIC -> public [26:4]
+ | |--TYPE -> TYPE [26:11]
+ | | `--LITERAL_VOID -> void [26:11]
+ | |--IDENT -> m4 [26:16]
+ | |--LPAREN -> ( [26:18]
+ | |--PARAMETERS -> PARAMETERS [26:19]
+ | | `--PARAMETER_DEF -> PARAMETER_DEF [26:19]
+ | | |--MODIFIERS -> MODIFIERS [26:19]
+ | | |--TYPE -> TYPE [26:19]
+ | | | `--IDENT -> InputRegressionJava8Class1 [26:19]
+ | | `--LITERAL_THIS -> this [26:46]
+ | |--RPAREN -> ) [26:50]
+ | `--SLIST -> { [26:52]
+ | `--RCURLY -> } [26:53]
+ |--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 -> m5 [27:16]
+ | |--LPAREN -> ( [27:18]
+ | |--PARAMETERS -> PARAMETERS [27:19]
+ | | `--PARAMETER_DEF -> PARAMETER_DEF [27:19]
+ | | |--MODIFIERS -> MODIFIERS [27:19]
+ | | | `--ANNOTATION -> ANNOTATION [27:19]
+ | | | |--AT -> @ [27:19]
+ | | | `--IDENT -> Nullable [27:20]
+ | | |--TYPE -> TYPE [27:29]
+ | | | `--IDENT -> InputRegressionJava8Class1 [27:29]
+ | | `--LITERAL_THIS -> this [27:56]
+ | |--RPAREN -> ) [27:60]
+ | `--SLIST -> { [27:62]
+ | `--RCURLY -> } [27:63]
+ |--INSTANCE_INIT -> INSTANCE_INIT [29:4]
+ | `--SLIST -> { [29:4]
+ | |--VARIABLE_DEF -> VARIABLE_DEF [30:8]
+ | | |--MODIFIERS -> MODIFIERS [30:8]
+ | | |--TYPE -> TYPE [30:8]
+ | | | |--IDENT -> List [30:8]
+ | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [30:12]
+ | | | |--GENERIC_START -> < [30:12]
+ | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [30:13]
+ | | | | `--IDENT -> String [30:13]
+ | | | `--GENERIC_END -> > [30:19]
+ | | |--IDENT -> vlist [30:21]
+ | | `--ASSIGN -> = [30:27]
+ | | `--EXPR -> EXPR [30:29]
+ | | `--LITERAL_NEW -> new [30:29]
+ | | |--IDENT -> ArrayList [30:33]
+ | | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [30:42]
+ | | | |--GENERIC_START -> < [30:42]
+ | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [30:43]
+ | | | | `--IDENT -> String [30:43]
+ | | | `--GENERIC_END -> > [30:49]
+ | | |--LPAREN -> ( [30:50]
+ | | |--ELIST -> ELIST [30:51]
+ | | `--RPAREN -> ) [30:51]
+ | |--SEMI -> ; [30:52]
+ | `--RCURLY -> } [31:4]
+ |--METHOD_DEF -> METHOD_DEF [33:4]
+ | |--MODIFIERS -> MODIFIERS [33:4]
+ | | `--LITERAL_PUBLIC -> public [33:4]
+ | |--TYPE -> TYPE [33:11]
+ | | `--LITERAL_VOID -> void [33:11]
+ | |--IDENT -> instructions [33:16]
+ | |--LPAREN -> ( [33:28]
+ | |--PARAMETERS -> PARAMETERS [33:29]
+ | |--RPAREN -> ) [33:29]
+ | `--SLIST -> { [33:31]
| |--VARIABLE_DEF -> VARIABLE_DEF [35:8]
| | |--MODIFIERS -> MODIFIERS [35:8]
| | |--TYPE -> TYPE [35:8]
- | | | `--LITERAL_INT -> int [35:8]
- | | `--IDENT -> vint [35:12]
- | |--SEMI -> ; [35:16]
- | |--VARIABLE_DEF -> VARIABLE_DEF [36:8]
- | | |--MODIFIERS -> MODIFIERS [36:8]
- | | |--TYPE -> TYPE [36:8]
- | | | `--IDENT -> Object [36:8]
- | | |--IDENT -> o [36:15]
- | | `--ASSIGN -> = [36:17]
- | | `--EXPR -> EXPR [36:19]
- | | `--LITERAL_NULL -> null [36:19]
- | |--SEMI -> ; [36:23]
+ | | | `--LITERAL_BOOLEAN -> boolean [35:8]
+ | | |--IDENT -> b [35:16]
+ | | `--ASSIGN -> = [35:18]
+ | | `--EXPR -> EXPR [35:34]
+ | | `--GT -> > [35:34]
+ | | |--METHOD_CALL -> ( [35:31]
+ | | | |--DOT -> . [35:24]
+ | | | | |--IDENT -> Math [35:20]
+ | | | | `--IDENT -> random [35:25]
+ | | | |--ELIST -> ELIST [35:32]
+ | | | `--RPAREN -> ) [35:32]
+ | | `--NUM_INT -> 0 [35:36]
+ | |--SEMI -> ; [35:37]
| |--VARIABLE_DEF -> VARIABLE_DEF [37:8]
| | |--MODIFIERS -> MODIFIERS [37:8]
| | |--TYPE -> TYPE [37:8]
- | | | |--IDENT -> List [37:8]
- | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [37:12]
- | | | |--GENERIC_START -> < [37:12]
- | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [37:13]
- | | | | `--IDENT -> String [37:13]
- | | | `--GENERIC_END -> > [37:19]
- | | `--IDENT -> vlist [37:21]
- | |--SEMI -> ; [37:26]
- | |--EXPR -> EXPR [38:14]
- | | `--ASSIGN -> = [38:14]
- | | |--IDENT -> vlist [38:8]
- | | `--LITERAL_NEW -> new [38:16]
- | | |--IDENT -> ArrayList [38:20]
- | | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [38:29]
- | | | |--GENERIC_START -> < [38:29]
- | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [38:30]
- | | | | `--IDENT -> String [38:30]
- | | | `--GENERIC_END -> > [38:36]
- | | |--LPAREN -> ( [38:37]
- | | |--ELIST -> ELIST [38:38]
- | | `--RPAREN -> ) [38:38]
- | |--SEMI -> ; [38:39]
+ | | | `--LITERAL_INT -> int [37:8]
+ | | `--IDENT -> vint [37:12]
+ | |--SEMI -> ; [37:16]
+ | |--VARIABLE_DEF -> VARIABLE_DEF [38:8]
+ | | |--MODIFIERS -> MODIFIERS [38:8]
+ | | |--TYPE -> TYPE [38:8]
+ | | | `--IDENT -> Object [38:8]
+ | | |--IDENT -> o [38:15]
+ | | `--ASSIGN -> = [38:17]
+ | | `--EXPR -> EXPR [38:19]
+ | | `--LITERAL_NULL -> null [38:19]
+ | |--SEMI -> ; [38:23]
| |--VARIABLE_DEF -> VARIABLE_DEF [39:8]
| | |--MODIFIERS -> MODIFIERS [39:8]
| | |--TYPE -> TYPE [39:8]
- | | | |--IDENT -> Supplier [39:8]
- | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [39:16]
- | | | |--GENERIC_START -> < [39:16]
- | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [39:17]
- | | | | `--WILDCARD_TYPE -> ? [39:17]
- | | | `--GENERIC_END -> > [39:18]
- | | `--IDENT -> s [39:20]
- | |--SEMI -> ; [39:21]
- | |--VARIABLE_DEF -> VARIABLE_DEF [42:11]
- | | |--MODIFIERS -> MODIFIERS [42:11]
- | | |--TYPE -> TYPE [42:11]
- | | | `--DOT -> . [42:11]
- | | | |--IDENT -> Map [42:8]
- | | | |--ANNOTATIONS -> ANNOTATIONS [42:12]
- | | | | `--ANNOTATION -> ANNOTATION [42:12]
- | | | | |--AT -> @ [42:12]
- | | | | `--IDENT -> Nullable [42:13]
- | | | `--IDENT -> Entry [42:22]
- | | `--IDENT -> e [42:28]
- | |--SEMI -> ; [42:29]
- | |--VARIABLE_DEF -> VARIABLE_DEF [43:8]
- | | |--MODIFIERS -> MODIFIERS [43:8]
- | | |--TYPE -> TYPE [43:8]
- | | | `--IDENT -> String [43:8]
- | | |--IDENT -> str [43:15]
- | | `--ASSIGN -> = [43:19]
- | | `--EXPR -> EXPR [43:21]
- | | `--TYPECAST -> ( [43:21]
- | | |--TYPE -> TYPE [43:22]
- | | | |--ANNOTATIONS -> ANNOTATIONS [43:22]
- | | | | `--ANNOTATION -> ANNOTATION [43:22]
- | | | | |--AT -> @ [43:22]
- | | | | `--IDENT -> Nullable [43:23]
- | | | `--IDENT -> String [43:32]
- | | |--RPAREN -> ) [43:38]
- | | `--STRING_LITERAL -> "" [43:40]
- | |--SEMI -> ; [43:42]
- | |--EXPR -> EXPR [44:42]
- | | `--METHOD_CALL -> ( [44:42]
- | | |--DOT -> . [44:22]
- | | | |--LPAREN -> ( [44:8]
- | | | |--LITERAL_NEW -> new [44:9]
- | | | | |--IDENT -> Inner3 [44:13]
- | | | | |--LPAREN -> ( [44:19]
- | | | | |--ELIST -> ELIST [44:20]
- | | | | `--RPAREN -> ) [44:20]
- | | | |--RPAREN -> ) [44:21]
- | | | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [44:23]
- | | | | |--GENERIC_START -> < [44:23]
- | | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [44:24]
- | | | | | |--ANNOTATIONS -> ANNOTATIONS [44:24]
- | | | | | | `--ANNOTATION -> ANNOTATION [44:24]
- | | | | | | |--AT -> @ [44:24]
- | | | | | | `--IDENT -> Nullable [44:25]
- | | | | | `--IDENT -> String [44:34]
- | | | | `--GENERIC_END -> > [44:40]
- | | | `--IDENT -> m [44:41]
- | | |--ELIST -> ELIST [44:43]
- | | `--RPAREN -> ) [44:43]
- | |--SEMI -> ; [44:44]
- | |--VARIABLE_DEF -> VARIABLE_DEF [47:8]
- | | |--MODIFIERS -> MODIFIERS [47:8]
- | | |--TYPE -> TYPE [47:8]
- | | | `--IDENT -> IntBinaryOperator [47:8]
- | | |--IDENT -> ibo [47:26]
- | | `--ASSIGN -> = [47:30]
- | | `--EXPR -> EXPR [47:36]
- | | `--METHOD_REF -> :: [47:36]
- | | |--IDENT -> Math [47:32]
- | | `--IDENT -> max [47:38]
- | |--SEMI -> ; [47:41]
- | |--EXPR -> EXPR [48:10]
- | | `--ASSIGN -> = [48:10]
- | | |--IDENT -> s [48:8]
- | | `--METHOD_REF -> :: [48:38]
- | | |--IDENT -> InputRegressionJava8Class1 [48:12]
- | | `--LITERAL_NEW -> new [48:40]
- | |--SEMI -> ; [48:43]
- | |--EXPR -> EXPR [49:10]
- | | `--ASSIGN -> = [49:10]
- | | |--IDENT -> s [49:8]
- | | `--METHOD_REF -> :: [49:33]
- | | |--DOT -> . [49:18]
- | | | |--IDENT -> Inner1 [49:12]
- | | | |--IDENT -> Inner2 [49:19]
- | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [49:25]
- | | | |--GENERIC_START -> < [49:25]
- | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [49:26]
- | | | | `--IDENT -> String [49:26]
- | | | `--GENERIC_END -> > [49:32]
- | | `--LITERAL_NEW -> new [49:35]
- | |--SEMI -> ; [49:38]
- | |--VARIABLE_DEF -> VARIABLE_DEF [52:8]
- | | |--MODIFIERS -> MODIFIERS [52:8]
- | | |--TYPE -> TYPE [52:8]
- | | | `--IDENT -> Runnable [52:8]
- | | |--IDENT -> r1 [52:17]
- | | `--ASSIGN -> = [52:20]
- | | `--LAMBDA -> -> [52:25]
- | | |--LPAREN -> ( [52:22]
- | | |--PARAMETERS -> PARAMETERS [52:23]
- | | |--RPAREN -> ) [52:23]
- | | `--EXPR -> EXPR [52:29]
- | | `--METHOD_CALL -> ( [52:29]
- | | |--IDENT -> m [52:28]
- | | |--ELIST -> ELIST [52:30]
- | | `--RPAREN -> ) [52:30]
- | |--SEMI -> ; [52:31]
- | |--VARIABLE_DEF -> VARIABLE_DEF [53:8]
- | | |--MODIFIERS -> MODIFIERS [53:8]
- | | |--TYPE -> TYPE [53:8]
- | | | `--IDENT -> Runnable [53:8]
- | | |--IDENT -> r2 [53:17]
- | | `--ASSIGN -> = [53:20]
- | | `--LAMBDA -> -> [53:25]
- | | |--LPAREN -> ( [53:22]
- | | |--PARAMETERS -> PARAMETERS [53:23]
- | | |--RPAREN -> ) [53:23]
- | | `--SLIST -> { [53:28]
- | | |--EXPR -> EXPR [53:31]
- | | | `--METHOD_CALL -> ( [53:31]
- | | | |--IDENT -> m [53:30]
- | | | |--ELIST -> ELIST [53:32]
- | | | `--RPAREN -> ) [53:32]
- | | |--SEMI -> ; [53:33]
- | | `--RCURLY -> } [53:35]
- | |--SEMI -> ; [53:37]
- | |--EXPR -> EXPR [54:24]
- | | `--METHOD_CALL -> ( [54:24]
- | | |--DOT -> . [54:19]
- | | | |--IDENT -> Collections [54:8]
- | | | `--IDENT -> sort [54:20]
- | | |--ELIST -> ELIST [54:25]
- | | | |--EXPR -> EXPR [54:25]
- | | | | `--IDENT -> vlist [54:25]
- | | | |--COMMA -> , [54:30]
- | | | `--LAMBDA -> -> [54:40]
- | | | |--LPAREN -> ( [54:32]
- | | | |--PARAMETERS -> PARAMETERS [54:33]
- | | | | |--PARAMETER_DEF -> PARAMETER_DEF [54:33]
- | | | | | |--MODIFIERS -> MODIFIERS [54:33]
- | | | | | |--TYPE -> TYPE [54:33]
- | | | | | `--IDENT -> l [54:33]
- | | | | |--COMMA -> , [54:34]
- | | | | `--PARAMETER_DEF -> PARAMETER_DEF [54:37]
- | | | | |--MODIFIERS -> MODIFIERS [54:37]
- | | | | |--TYPE -> TYPE [54:37]
- | | | | `--IDENT -> r [54:37]
- | | | |--RPAREN -> ) [54:38]
- | | | `--EXPR -> EXPR [54:50]
- | | | `--QUESTION -> ? [54:50]
- | | | |--EQUAL -> == [54:45]
- | | | | |--IDENT -> l [54:43]
- | | | | `--IDENT -> r [54:48]
- | | | |--NUM_INT -> 0 [54:52]
- | | | |--COLON -> : [54:54]
- | | | `--NUM_INT -> 1 [54:56]
- | | `--RPAREN -> ) [54:57]
- | |--SEMI -> ; [54:58]
+ | | | |--IDENT -> List [39:8]
+ | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [39:12]
+ | | | |--GENERIC_START -> < [39:12]
+ | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [39:13]
+ | | | | `--IDENT -> String [39:13]
+ | | | `--GENERIC_END -> > [39:19]
+ | | `--IDENT -> vlist [39:21]
+ | |--SEMI -> ; [39:26]
+ | |--EXPR -> EXPR [40:14]
+ | | `--ASSIGN -> = [40:14]
+ | | |--IDENT -> vlist [40:8]
+ | | `--LITERAL_NEW -> new [40:16]
+ | | |--IDENT -> ArrayList [40:20]
+ | | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [40:29]
+ | | | |--GENERIC_START -> < [40:29]
+ | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [40:30]
+ | | | | `--IDENT -> String [40:30]
+ | | | `--GENERIC_END -> > [40:36]
+ | | |--LPAREN -> ( [40:37]
+ | | |--ELIST -> ELIST [40:38]
+ | | `--RPAREN -> ) [40:38]
+ | |--SEMI -> ; [40:39]
+ | |--VARIABLE_DEF -> VARIABLE_DEF [41:8]
+ | | |--MODIFIERS -> MODIFIERS [41:8]
+ | | |--TYPE -> TYPE [41:8]
+ | | | |--IDENT -> Supplier [41:8]
+ | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [41:16]
+ | | | |--GENERIC_START -> < [41:16]
+ | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [41:17]
+ | | | | `--WILDCARD_TYPE -> ? [41:17]
+ | | | `--GENERIC_END -> > [41:18]
+ | | `--IDENT -> s [41:20]
+ | |--SEMI -> ; [41:21]
+ | |--VARIABLE_DEF -> VARIABLE_DEF [44:11]
+ | | |--MODIFIERS -> MODIFIERS [44:11]
+ | | |--TYPE -> TYPE [44:11]
+ | | | `--DOT -> . [44:11]
+ | | | |--IDENT -> Map [44:8]
+ | | | |--ANNOTATIONS -> ANNOTATIONS [44:12]
+ | | | | `--ANNOTATION -> ANNOTATION [44:12]
+ | | | | |--AT -> @ [44:12]
+ | | | | `--IDENT -> Nullable [44:13]
+ | | | `--IDENT -> Entry [44:22]
+ | | `--IDENT -> e [44:28]
+ | |--SEMI -> ; [44:29]
+ | |--VARIABLE_DEF -> VARIABLE_DEF [45:8]
+ | | |--MODIFIERS -> MODIFIERS [45:8]
+ | | |--TYPE -> TYPE [45:8]
+ | | | `--IDENT -> String [45:8]
+ | | |--IDENT -> str [45:15]
+ | | `--ASSIGN -> = [45:19]
+ | | `--EXPR -> EXPR [45:21]
+ | | `--TYPECAST -> ( [45:21]
+ | | |--TYPE -> TYPE [45:22]
+ | | | |--ANNOTATIONS -> ANNOTATIONS [45:22]
+ | | | | `--ANNOTATION -> ANNOTATION [45:22]
+ | | | | |--AT -> @ [45:22]
+ | | | | `--IDENT -> Nullable [45:23]
+ | | | `--IDENT -> String [45:32]
+ | | |--RPAREN -> ) [45:38]
+ | | `--STRING_LITERAL -> "" [45:40]
+ | |--SEMI -> ; [45:42]
+ | |--EXPR -> EXPR [46:42]
+ | | `--METHOD_CALL -> ( [46:42]
+ | | |--DOT -> . [46:22]
+ | | | |--LPAREN -> ( [46:8]
+ | | | |--LITERAL_NEW -> new [46:9]
+ | | | | |--IDENT -> Inner3 [46:13]
+ | | | | |--LPAREN -> ( [46:19]
+ | | | | |--ELIST -> ELIST [46:20]
+ | | | | `--RPAREN -> ) [46:20]
+ | | | |--RPAREN -> ) [46:21]
+ | | | |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [46:23]
+ | | | | |--GENERIC_START -> < [46:23]
+ | | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [46:24]
+ | | | | | |--ANNOTATIONS -> ANNOTATIONS [46:24]
+ | | | | | | `--ANNOTATION -> ANNOTATION [46:24]
+ | | | | | | |--AT -> @ [46:24]
+ | | | | | | `--IDENT -> Nullable [46:25]
+ | | | | | `--IDENT -> String [46:34]
+ | | | | `--GENERIC_END -> > [46:40]
+ | | | `--IDENT -> m [46:41]
+ | | |--ELIST -> ELIST [46:43]
+ | | `--RPAREN -> ) [46:43]
+ | |--SEMI -> ; [46:44]
+ | |--VARIABLE_DEF -> VARIABLE_DEF [49:8]
+ | | |--MODIFIERS -> MODIFIERS [49:8]
+ | | |--TYPE -> TYPE [49:8]
+ | | | `--IDENT -> IntBinaryOperator [49:8]
+ | | |--IDENT -> ibo [49:26]
+ | | `--ASSIGN -> = [49:30]
+ | | `--EXPR -> EXPR [49:36]
+ | | `--METHOD_REF -> :: [49:36]
+ | | |--IDENT -> Math [49:32]
+ | | `--IDENT -> max [49:38]
+ | |--SEMI -> ; [49:41]
+ | |--EXPR -> EXPR [50:10]
+ | | `--ASSIGN -> = [50:10]
+ | | |--IDENT -> s [50:8]
+ | | `--METHOD_REF -> :: [50:38]
+ | | |--IDENT -> InputRegressionJava8Class1 [50:12]
+ | | `--LITERAL_NEW -> new [50:40]
+ | |--SEMI -> ; [50:43]
+ | |--EXPR -> EXPR [51:10]
+ | | `--ASSIGN -> = [51:10]
+ | | |--IDENT -> s [51:8]
+ | | `--METHOD_REF -> :: [51:33]
+ | | |--DOT -> . [51:18]
+ | | | |--IDENT -> Inner1 [51:12]
+ | | | |--IDENT -> Inner2 [51:19]
+ | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [51:25]
+ | | | |--GENERIC_START -> < [51:25]
+ | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [51:26]
+ | | | | `--IDENT -> String [51:26]
+ | | | `--GENERIC_END -> > [51:32]
+ | | `--LITERAL_NEW -> new [51:35]
+ | |--SEMI -> ; [51:38]
+ | |--VARIABLE_DEF -> VARIABLE_DEF [54:8]
+ | | |--MODIFIERS -> MODIFIERS [54:8]
+ | | |--TYPE -> TYPE [54:8]
+ | | | `--IDENT -> Runnable [54:8]
+ | | |--IDENT -> r1 [54:17]
+ | | `--ASSIGN -> = [54:20]
+ | | `--LAMBDA -> -> [54:25]
+ | | |--LPAREN -> ( [54:22]
+ | | |--PARAMETERS -> PARAMETERS [54:23]
+ | | |--RPAREN -> ) [54:23]
+ | | `--EXPR -> EXPR [54:29]
+ | | `--METHOD_CALL -> ( [54:29]
+ | | |--IDENT -> m [54:28]
+ | | |--ELIST -> ELIST [54:30]
+ | | `--RPAREN -> ) [54:30]
+ | |--SEMI -> ; [54:31]
| |--VARIABLE_DEF -> VARIABLE_DEF [55:8]
| | |--MODIFIERS -> MODIFIERS [55:8]
| | |--TYPE -> TYPE [55:8]
- | | | |--IDENT -> Predicate [55:8]
- | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [55:17]
- | | | |--GENERIC_START -> < [55:17]
- | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [55:18]
- | | | | `--WILDCARD_TYPE -> ? [55:18]
- | | | `--GENERIC_END -> > [55:19]
- | | |--IDENT -> t [55:21]
- | | `--ASSIGN -> = [55:23]
- | | `--EXPR -> EXPR [55:29]
- | | `--QUESTION -> ? [55:29]
- | | |--LPAREN -> ( [55:25]
- | | |--IDENT -> b [55:26]
- | | |--RPAREN -> ) [55:27]
- | | |--LITERAL_NULL -> null [55:31]
- | | |--COLON -> : [55:36]
- | | `--LAMBDA -> -> [55:45]
- | | |--IDENT -> object [55:38]
- | | `--EXPR -> EXPR [55:56]
- | | `--METHOD_CALL -> ( [55:56]
- | | |--DOT -> . [55:49]
- | | | |--IDENT -> o [55:48]
- | | | `--IDENT -> equals [55:50]
- | | |--ELIST -> ELIST [55:57]
- | | | `--EXPR -> EXPR [55:57]
- | | | `--IDENT -> object [55:57]
- | | `--RPAREN -> ) [55:63]
- | |--SEMI -> ; [55:64]
- | |--VARIABLE_DEF -> VARIABLE_DEF [56:8]
- | | |--MODIFIERS -> MODIFIERS [56:8]
- | | |--TYPE -> TYPE [56:8]
- | | | `--IDENT -> Double [56:8]
- | | |--IDENT -> mPi [56:15]
- | | `--ASSIGN -> = [56:19]
- | | `--EXPR -> EXPR [56:25]
- | | `--DOT -> . [56:25]
- | | |--IDENT -> Math [56:21]
- | | `--IDENT -> PI [56:26]
- | |--SEMI -> ; [56:28]
- | `--RCURLY -> } [57:4]
- |--VARIABLE_DEF -> VARIABLE_DEF [59:4]
- | |--MODIFIERS -> MODIFIERS [59:4]
- | | |--LITERAL_STATIC -> static [59:4]
- | | `--FINAL -> final [59:11]
- | |--TYPE -> TYPE [59:17]
- | | |--IDENT -> Comparator [59:17]
- | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [59:27]
- | | |--GENERIC_START -> < [59:27]
- | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [59:28]
- | | | `--WILDCARD_TYPE -> ? [59:28]
- | | `--GENERIC_END -> > [59:29]
- | |--IDENT -> f [59:31]
- | |--ASSIGN -> = [59:33]
- | | `--EXPR -> EXPR [59:35]
- | | `--TYPECAST -> ( [59:35]
- | | |--TYPE -> TYPE [59:36]
- | | | |--IDENT -> Comparator [59:36]
- | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [59:46]
- | | | |--GENERIC_START -> < [59:46]
- | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [59:47]
- | | | | `--WILDCARD_TYPE -> ? [59:47]
- | | | `--GENERIC_END -> > [59:48]
- | | |--RPAREN -> ) [59:49]
- | | `--LAMBDA -> -> [59:74]
- | | |--LPAREN -> ( [59:51]
- | | |--PARAMETERS -> PARAMETERS [59:52]
- | | | |--PARAMETER_DEF -> PARAMETER_DEF [59:52]
- | | | | |--MODIFIERS -> MODIFIERS [59:52]
- | | | | |--TYPE -> TYPE [59:52]
- | | | | `--IDENT -> dateTime1 [59:52]
- | | | |--COMMA -> , [59:61]
- | | | `--PARAMETER_DEF -> PARAMETER_DEF [59:63]
- | | | |--MODIFIERS -> MODIFIERS [59:63]
- | | | |--TYPE -> TYPE [59:63]
- | | | `--IDENT -> dateTime2 [59:63]
- | | |--RPAREN -> ) [59:72]
- | | `--SLIST -> { [59:77]
- | | |--LITERAL_RETURN -> return [59:79]
- | | | |--EXPR -> EXPR [59:86]
- | | | | `--NUM_INT -> 0 [59:86]
- | | | `--SEMI -> ; [59:87]
- | | `--RCURLY -> } [59:89]
- | `--SEMI -> ; [59:90]
- `--RCURLY -> } [60:0]
-SEMI -> ; [61:0]
-CLASS_DEF -> CLASS_DEF [62:0]
-|--MODIFIERS -> MODIFIERS [62:0]
-|--LITERAL_CLASS -> class [62:0]
-|--IDENT -> InputRegressionJava8TypeParam [62:6]
-|--TYPE_PARAMETERS -> TYPE_PARAMETERS [62:36]
-| |--GENERIC_START -> < [62:36]
-| |--TYPE_PARAMETER -> TYPE_PARAMETER [62:37]
-| | |--ANNOTATIONS -> ANNOTATIONS [62:37]
-| | | `--ANNOTATION -> ANNOTATION [62:37]
-| | | |--AT -> @ [62:37]
-| | | `--IDENT -> Nullable [62:38]
-| | `--IDENT -> T [62:47]
-| `--GENERIC_END -> > [62:48]
-`--OBJBLOCK -> OBJBLOCK [62:50]
- |--LCURLY -> { [62:50]
- `--RCURLY -> } [63:0]
-ANNOTATION_DEF -> ANNOTATION_DEF [64:0]
-|--MODIFIERS -> MODIFIERS [64:0]
-| |--ANNOTATION -> ANNOTATION [64:0]
-| | |--AT -> @ [64:0]
-| | |--IDENT -> Retention [64:1]
-| | |--LPAREN -> ( [64:10]
-| | |--EXPR -> EXPR [64:26]
-| | | `--DOT -> . [64:26]
-| | | |--IDENT -> RetentionPolicy [64:11]
-| | | `--IDENT -> CLASS [64:27]
-| | `--RPAREN -> ) [64:32]
-| `--ANNOTATION -> ANNOTATION [65:0]
-| |--AT -> @ [65:0]
-| |--IDENT -> Target [65:1]
-| |--LPAREN -> ( [65:7]
-| |--ANNOTATION_ARRAY_INIT -> { [65:8]
-| | |--EXPR -> EXPR [65:21]
-| | | `--DOT -> . [65:21]
-| | | |--IDENT -> ElementType [65:10]
-| | | `--IDENT -> TYPE_USE [65:22]
-| | `--RCURLY -> } [65:31]
-| `--RPAREN -> ) [65:32]
-|--AT -> @ [66:0]
-|--LITERAL_INTERFACE -> interface [66:1]
-|--IDENT -> Nullable [66:11]
-`--OBJBLOCK -> OBJBLOCK [66:20]
- |--LCURLY -> { [66:20]
- `--RCURLY -> } [67:0]
+ | | | `--IDENT -> Runnable [55:8]
+ | | |--IDENT -> r2 [55:17]
+ | | `--ASSIGN -> = [55:20]
+ | | `--LAMBDA -> -> [55:25]
+ | | |--LPAREN -> ( [55:22]
+ | | |--PARAMETERS -> PARAMETERS [55:23]
+ | | |--RPAREN -> ) [55:23]
+ | | `--SLIST -> { [55:28]
+ | | |--EXPR -> EXPR [55:31]
+ | | | `--METHOD_CALL -> ( [55:31]
+ | | | |--IDENT -> m [55:30]
+ | | | |--ELIST -> ELIST [55:32]
+ | | | `--RPAREN -> ) [55:32]
+ | | |--SEMI -> ; [55:33]
+ | | `--RCURLY -> } [55:35]
+ | |--SEMI -> ; [55:37]
+ | |--EXPR -> EXPR [56:24]
+ | | `--METHOD_CALL -> ( [56:24]
+ | | |--DOT -> . [56:19]
+ | | | |--IDENT -> Collections [56:8]
+ | | | `--IDENT -> sort [56:20]
+ | | |--ELIST -> ELIST [56:25]
+ | | | |--EXPR -> EXPR [56:25]
+ | | | | `--IDENT -> vlist [56:25]
+ | | | |--COMMA -> , [56:30]
+ | | | `--LAMBDA -> -> [56:40]
+ | | | |--LPAREN -> ( [56:32]
+ | | | |--PARAMETERS -> PARAMETERS [56:33]
+ | | | | |--PARAMETER_DEF -> PARAMETER_DEF [56:33]
+ | | | | | |--MODIFIERS -> MODIFIERS [56:33]
+ | | | | | |--TYPE -> TYPE [56:33]
+ | | | | | `--IDENT -> l [56:33]
+ | | | | |--COMMA -> , [56:34]
+ | | | | `--PARAMETER_DEF -> PARAMETER_DEF [56:37]
+ | | | | |--MODIFIERS -> MODIFIERS [56:37]
+ | | | | |--TYPE -> TYPE [56:37]
+ | | | | `--IDENT -> r [56:37]
+ | | | |--RPAREN -> ) [56:38]
+ | | | `--EXPR -> EXPR [56:50]
+ | | | `--QUESTION -> ? [56:50]
+ | | | |--EQUAL -> == [56:45]
+ | | | | |--IDENT -> l [56:43]
+ | | | | `--IDENT -> r [56:48]
+ | | | |--NUM_INT -> 0 [56:52]
+ | | | |--COLON -> : [56:54]
+ | | | `--NUM_INT -> 1 [56:56]
+ | | `--RPAREN -> ) [56:57]
+ | |--SEMI -> ; [56:58]
+ | |--VARIABLE_DEF -> VARIABLE_DEF [57:8]
+ | | |--MODIFIERS -> MODIFIERS [57:8]
+ | | |--TYPE -> TYPE [57:8]
+ | | | |--IDENT -> Predicate [57:8]
+ | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [57:17]
+ | | | |--GENERIC_START -> < [57:17]
+ | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [57:18]
+ | | | | `--WILDCARD_TYPE -> ? [57:18]
+ | | | `--GENERIC_END -> > [57:19]
+ | | |--IDENT -> t [57:21]
+ | | `--ASSIGN -> = [57:23]
+ | | `--EXPR -> EXPR [57:29]
+ | | `--QUESTION -> ? [57:29]
+ | | |--LPAREN -> ( [57:25]
+ | | |--IDENT -> b [57:26]
+ | | |--RPAREN -> ) [57:27]
+ | | |--LITERAL_NULL -> null [57:31]
+ | | |--COLON -> : [57:36]
+ | | `--LAMBDA -> -> [57:45]
+ | | |--IDENT -> object [57:38]
+ | | `--EXPR -> EXPR [57:56]
+ | | `--METHOD_CALL -> ( [57:56]
+ | | |--DOT -> . [57:49]
+ | | | |--IDENT -> o [57:48]
+ | | | `--IDENT -> equals [57:50]
+ | | |--ELIST -> ELIST [57:57]
+ | | | `--EXPR -> EXPR [57:57]
+ | | | `--IDENT -> object [57:57]
+ | | `--RPAREN -> ) [57:63]
+ | |--SEMI -> ; [57:64]
+ | |--VARIABLE_DEF -> VARIABLE_DEF [58:8]
+ | | |--MODIFIERS -> MODIFIERS [58:8]
+ | | |--TYPE -> TYPE [58:8]
+ | | | `--IDENT -> Double [58:8]
+ | | |--IDENT -> mPi [58:15]
+ | | `--ASSIGN -> = [58:19]
+ | | `--EXPR -> EXPR [58:25]
+ | | `--DOT -> . [58:25]
+ | | |--IDENT -> Math [58:21]
+ | | `--IDENT -> PI [58:26]
+ | |--SEMI -> ; [58:28]
+ | `--RCURLY -> } [59:4]
+ |--VARIABLE_DEF -> VARIABLE_DEF [61:4]
+ | |--MODIFIERS -> MODIFIERS [61:4]
+ | | |--LITERAL_STATIC -> static [61:4]
+ | | `--FINAL -> final [61:11]
+ | |--TYPE -> TYPE [61:17]
+ | | |--IDENT -> Comparator [61:17]
+ | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [61:27]
+ | | |--GENERIC_START -> < [61:27]
+ | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [61:28]
+ | | | `--WILDCARD_TYPE -> ? [61:28]
+ | | `--GENERIC_END -> > [61:29]
+ | |--IDENT -> f [61:31]
+ | |--ASSIGN -> = [61:33]
+ | | `--EXPR -> EXPR [61:35]
+ | | `--TYPECAST -> ( [61:35]
+ | | |--TYPE -> TYPE [61:36]
+ | | | |--IDENT -> Comparator [61:36]
+ | | | `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [61:46]
+ | | | |--GENERIC_START -> < [61:46]
+ | | | |--TYPE_ARGUMENT -> TYPE_ARGUMENT [61:47]
+ | | | | `--WILDCARD_TYPE -> ? [61:47]
+ | | | `--GENERIC_END -> > [61:48]
+ | | |--RPAREN -> ) [61:49]
+ | | `--LAMBDA -> -> [61:74]
+ | | |--LPAREN -> ( [61:51]
+ | | |--PARAMETERS -> PARAMETERS [61:52]
+ | | | |--PARAMETER_DEF -> PARAMETER_DEF [61:52]
+ | | | | |--MODIFIERS -> MODIFIERS [61:52]
+ | | | | |--TYPE -> TYPE [61:52]
+ | | | | `--IDENT -> dateTime1 [61:52]
+ | | | |--COMMA -> , [61:61]
+ | | | `--PARAMETER_DEF -> PARAMETER_DEF [61:63]
+ | | | |--MODIFIERS -> MODIFIERS [61:63]
+ | | | |--TYPE -> TYPE [61:63]
+ | | | `--IDENT -> dateTime2 [61:63]
+ | | |--RPAREN -> ) [61:72]
+ | | `--SLIST -> { [61:77]
+ | | |--LITERAL_RETURN -> return [61:79]
+ | | | |--EXPR -> EXPR [61:86]
+ | | | | `--NUM_INT -> 0 [61:86]
+ | | | `--SEMI -> ; [61:87]
+ | | `--RCURLY -> } [61:89]
+ | `--SEMI -> ; [61:90]
+ |--CLASS_DEF -> CLASS_DEF [63:4]
+ | |--MODIFIERS -> MODIFIERS [63:4]
+ | | `--LITERAL_PRIVATE -> private [63:4]
+ | |--LITERAL_CLASS -> class [63:12]
+ | |--IDENT -> Inner [63:18]
+ | `--OBJBLOCK -> OBJBLOCK [63:24]
+ | |--LCURLY -> { [63:24]
+ | |--CTOR_DEF -> CTOR_DEF [64:8]
+ | | |--MODIFIERS -> MODIFIERS [64:8]
+ | | | `--LITERAL_PUBLIC -> public [64:8]
+ | | |--IDENT -> Inner [64:15]
+ | | |--LPAREN -> ( [64:20]
+ | | |--PARAMETERS -> PARAMETERS [64:21]
+ | | | `--PARAMETER_DEF -> PARAMETER_DEF [64:21]
+ | | | |--MODIFIERS -> MODIFIERS [64:21]
+ | | | |--TYPE -> TYPE [64:21]
+ | | | | `--IDENT -> InputRegressionJava8Class1 [64:21]
+ | | | `--DOT -> . [64:74]
+ | | | |--IDENT -> InputRegressionJava8Class1 [64:48]
+ | | | `--LITERAL_THIS -> this [64:75]
+ | | |--RPAREN -> ) [64:79]
+ | | `--SLIST -> { [64:81]
+ | | `--RCURLY -> } [64:82]
+ | `--RCURLY -> } [65:4]
+ `--RCURLY -> } [66:0]
+SEMI -> ; [67:0]
+CLASS_DEF -> CLASS_DEF [68:0]
+|--MODIFIERS -> MODIFIERS [68:0]
+|--LITERAL_CLASS -> class [68:0]
+|--IDENT -> InputRegressionJava8TypeParam [68:6]
+|--TYPE_PARAMETERS -> TYPE_PARAMETERS [68:36]
+| |--GENERIC_START -> < [68:36]
+| |--TYPE_PARAMETER -> TYPE_PARAMETER [68:37]
+| | |--ANNOTATIONS -> ANNOTATIONS [68:37]
+| | | `--ANNOTATION -> ANNOTATION [68:37]
+| | | |--AT -> @ [68:37]
+| | | `--IDENT -> Nullable [68:38]
+| | `--IDENT -> T [68:47]
+| `--GENERIC_END -> > [68:48]
+`--OBJBLOCK -> OBJBLOCK [68:50]
+ |--LCURLY -> { [68:50]
+ `--RCURLY -> } [69:0]
+ANNOTATION_DEF -> ANNOTATION_DEF [70:0]
+|--MODIFIERS -> MODIFIERS [70:0]
+| |--ANNOTATION -> ANNOTATION [70:0]
+| | |--AT -> @ [70:0]
+| | |--IDENT -> Retention [70:1]
+| | |--LPAREN -> ( [70:10]
+| | |--EXPR -> EXPR [70:26]
+| | | `--DOT -> . [70:26]
+| | | |--IDENT -> RetentionPolicy [70:11]
+| | | `--IDENT -> CLASS [70:27]
+| | `--RPAREN -> ) [70:32]
+| `--ANNOTATION -> ANNOTATION [71:0]
+| |--AT -> @ [71:0]
+| |--IDENT -> Target [71:1]
+| |--LPAREN -> ( [71:7]
+| |--ANNOTATION_ARRAY_INIT -> { [71:8]
+| | |--EXPR -> EXPR [71:21]
+| | | `--DOT -> . [71:21]
+| | | |--IDENT -> ElementType [71:10]
+| | | `--IDENT -> TYPE_USE [71:22]
+| | `--RCURLY -> } [71:31]
+| `--RPAREN -> ) [71:32]
+|--AT -> @ [72:0]
+|--LITERAL_INTERFACE -> interface [72:1]
+|--IDENT -> Nullable [72:11]
+`--OBJBLOCK -> OBJBLOCK [72:20]
+ |--LCURLY -> { [72:20]
+ `--RCURLY -> } [73:0]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/java8/InputReceiverParameter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/java8/InputReceiverParameter.java
new file mode 100644
index 000000000..c5f5ef391
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/java8/InputReceiverParameter.java
@@ -0,0 +1,10 @@
+//Compilable with Java8
+package com.puppycrawl.tools.checkstyle.grammars.java8;
+
+public class InputReceiverParameter {
+ public void m4(InputReceiverParameter this) {}
+
+ private class Inner {
+ public Inner(InputReceiverParameter InputReceiverParameter.this) {}
+ }
+} \ No newline at end of file