diff --git a/.fleet/run.json b/.fleet/run.json
new file mode 100644
index 000000000..661ea3f8b
--- /dev/null
+++ b/.fleet/run.json
@@ -0,0 +1,18 @@
+{
+ "configurations": [
+ {
+ "type": "gradle",
+ "name": "Build web version",
+ "tasks": [
+ "buildWeb"
+ ]
+ },
+ {
+ "type": "gradle",
+ "name": "Build pdf version",
+ "tasks": [
+ "buildPdf"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.fleet/settings.json b/.fleet/settings.json
new file mode 100644
index 000000000..af76c3445
--- /dev/null
+++ b/.fleet/settings.json
@@ -0,0 +1,3 @@
+{
+ "backend.maxHeapSizeMb": 4096
+}
\ No newline at end of file
diff --git a/docs/build.gradle.kts b/docs/build.gradle.kts
index 39264518a..c9c8753c4 100644
--- a/docs/build.gradle.kts
+++ b/docs/build.gradle.kts
@@ -17,26 +17,6 @@ val jsBuildDir = "$resourcesBuildDir/js"
val scriptsDir = "$projectDir/scripts/build"
val ls: String = System.lineSeparator()
-fun getScriptText(scriptName: String): String {
- val disableTODOS = project.findProperty("disableTODOS") != null
- val enableStaticMath = project.findProperty("enableStaticMath") != null
-
- val buildTemplate = File("$scriptsDir/$scriptName.sh").readText()
-
- val res = with(StringBuilder()) {
- append("PROJECT_DIR=$projectDir$ls")
- if (disableTODOS) append("TODO_OPTION=--disable-todos$ls")
- else append("TODO_OPTION=--enable-todos$ls")
-
- if (enableStaticMath) append("STATIC_MATH_OPTION=--enable-static-math$ls")
- else append("STATIC_MATH_OPTION=--disable-static-math$ls")
-
- append(buildTemplate)
- }
-
- return "$res"
-}
-
repositories {
maven {
url = URI("https://maven.vorpal-research.science")
diff --git a/docs/scripts/build/settings.sh b/docs/scripts/build/settings.sh
index 5a9e0a425..eb9235e54 100644
--- a/docs/scripts/build/settings.sh
+++ b/docs/scripts/build/settings.sh
@@ -10,6 +10,7 @@ COMMON_PANDOC_OPTIONS="\
--variable filecolor=cyan \
--syntax-definition=kotlin.xml \
--variable=subparagraph \
+ --variable=math: \
--top-level-division=part"
TOC_PANDOC_OPTIONS="\
@@ -29,5 +30,8 @@ init_settings() {
PREAMBLE_OPTIONS="-H ./preamble.tex"
elif [ "${type}" == "html" ]; then
PREAMBLE_OPTIONS="-H ./preamble.html --include-before-body ./preface.html --include-after-body ./epilogue.html"
+ if [ "${STATIC_MATH_OPTION}" == "--disable-static-math" ]; then
+ PREAMBLE_OPTIONS="$PREAMBLE_OPTIONS -H ./dynamic_math.html"
+ fi
fi
}
diff --git a/docs/src/md/commands.md b/docs/src/md/commands.md
index 697755d79..6ce3097de 100644
--- a/docs/src/md/commands.md
+++ b/docs/src/md/commands.md
@@ -1,6 +1,6 @@
<#mode quote>
-\newcommand{\currentKotlinMajorVersion}{\textrm{1.7}}
+\newcommand{\currentKotlinMajorVersion}{\textrm{1.8}}
\newcommand{\opMathTT}[2]{%
\expandafter\newcommand{#1}{\operatorname{\texttt{#2}}}%
diff --git a/docs/src/md/dynamic_math.html b/docs/src/md/dynamic_math.html
new file mode 100644
index 000000000..d21b5616c
--- /dev/null
+++ b/docs/src/md/dynamic_math.html
@@ -0,0 +1,27 @@
+
diff --git a/docs/src/md/index.md b/docs/src/md/index.md
index f207c4b63..bf7846ad2 100644
--- a/docs/src/md/index.md
+++ b/docs/src/md/index.md
@@ -4,7 +4,7 @@ title: Kotlin language specification
author:
- Marat Akhin
- Mikhail Belyaev
-subtitle: Version 1.7-rfc+0.1
+subtitle: Version 1.8-rfc+0.1
---
<#include "commands.md">
diff --git a/docs/src/md/kotlin.core/annotations.md b/docs/src/md/kotlin.core/annotations.md
index b604d621e..bdd23d95d 100644
--- a/docs/src/md/kotlin.core/annotations.md
+++ b/docs/src/md/kotlin.core/annotations.md
@@ -2,7 +2,9 @@
Annotations are a form of syntactically-defined metadata which may be associated with different entities in a Kotlin program.
Annotations are specified in the source code of the program and may be accessed on a particular platform using platform-specific mechanisms both by the compiler (and source-processing tools) and at runtime (using [reflection][Reflection] facilities).
-Values of annotation types cannot be created directly, but can be operated on when accessed using platform-specific facilities.
+Values of annotation types can also be created directly, but are usually operated on using platform-specific facilities.
+
+> Note: before Kotlin 1.6, annotation types could not be created directly.
### Annotation values
diff --git a/docs/src/md/kotlin.core/cdfa.md b/docs/src/md/kotlin.core/cdfa.md
index d4d8e7092..9ab300cb3 100644
--- a/docs/src/md/kotlin.core/cdfa.md
+++ b/docs/src/md/kotlin.core/cdfa.md
@@ -1390,7 +1390,7 @@ See the [corresponding section][Smart casts] for details.
#### Function contracts
-> Note: as of Kotlin 1.5.0, contracts for user-defined functions are an experimental feature and, thus, not described here
+> Note: as of Kotlin $\currentKotlinMajorVersion{}$, contracts for user-defined functions are an experimental feature and, thus, not described here
Some standard-library functions in Kotlin are defined in such a way that they adhere to a specific *call contract* that affects the way calls to such functions are analyzed from the perspective of the caller's control flow graph.
A function's call contract consists of one or more *effects*.
diff --git a/docs/src/md/kotlin.core/declarations.md b/docs/src/md/kotlin.core/declarations.md
index 7ec68b57e..b4116757d 100644
--- a/docs/src/md/kotlin.core/declarations.md
+++ b/docs/src/md/kotlin.core/declarations.md
@@ -38,8 +38,6 @@ There are three kinds of classifier declarations:
> Important: [object literals] are similar to [object declarations][Object declaration] and are considered to be anonymous classifier declarations, despite being [expressions].
-
-
#### Class declaration
A simple class declaration consists of the following parts.
@@ -627,7 +625,11 @@ Annotation classes have the following properties:
> Note: annotation classes can have type parameters, but cannot use them as types for their primary constructor parameters.
> Their main use is for various annotation processing tools, which can access the type arguments from the source code.
-Annotation classes cannot be constructed directly unless passed as arguments to other annotations, but their primary constructors are used when specifying [code annotations][Annotations] for other entities.
+The main use of annotation classes is when specifying [code annotations][Annotations] for other entities.
+Additionally, annotation classes can be instantiated directly, for cases when you require working with an annotation instance directly.
+For example, this is needed for interoperability with some Java annotation APIs, as in Java you can implement an annotation interface and then instantiate it.
+
+> Note: before Kotlin 1.6, annotation classes could not be instantiated directly.
> Examples:
>
@@ -659,9 +661,6 @@ Annotation classes cannot be constructed directly unless passed as arguments to
#### Value class declaration
-> Note: as of Kotlin 1.5.0, user-defined value classes are an experimental feature.
-> There is, however, a number of value classes in Kotlin standard library.
-
A class may be declared a **value** class by using `inline` or `value` modifier in its declaration.
Value classes must adhere to the following limitations:
@@ -670,18 +669,21 @@ Value classes must adhere to the following limitations:
* Value classes must have a primary constructor with a single property constructor parameter, which is the data property of the class;
* This property cannot be specified as `vararg` constructor argument;
* This property must be declared `public`;
-* This property must be of [a runtime-available type][Runtime-available types];
* They must not override `equals` and `hashCode` member functions of `kotlin.Any`;
* They must not have any base classes besides `kotlin.Any`;
* No other properties of this class may have backing fields.
> Note: `inline` modifier for value classes is supported as a legacy feature for compatibility with Kotlin 1.4 experimental inline classes and will be deprecated in the future.
+> Note: before Kotlin 1.8, value classes supported only properties of [a runtime-available types].
+
Value classes implicitly override `equals` and `hashCode` member functions of `kotlin.Any` by delegating them to their only data property.
Unless `toString` is overridden by the value class definition, it is also implicitly overridden by delegating to the data property.
In addition to these, an value class is allowed by the implementation to be **inlined** where applicable, so that its data property is operated on instead.
This also means that the property may be boxed back to the value class by using its primary constructor at any time if the compiler decides it is the right thing to do.
+> Note: when inlining a data property of a non-runtime-available type $U$ (i.e., a non-reified type parameter), the property is considered to be of type, which is the runtime-available upper bound of $U$.
+
Due to these restrictions, it is highly discouraged to use value classes with the [reference equality operators][Reference equality expressions].
> Note: in the future versions of Kotlin, value classes may be allowed to have more than one data property.
@@ -694,13 +696,16 @@ In other aspects they are similar to classes, therefore we shall specify their d
* An interface can be declared only in a declaration scope;
* Additionally, an interface cannot be declared in an [object literal][Object literals];
* An interface cannot have a class as its supertype;
+ * This also means it is not considered to have `kotlin.Any` as its supertype for the purposes of [inheriting] and [overriding] callables;
+ * However, it is still considered to be a subtype of `kotlin.Any` w.r.t. [subtyping];
* An interface cannot have a constructor;
* Interface properties cannot have initializers or backing fields;
* Interface properties cannot be delegated;
* An interface cannot have inner classes;
* An interface and all its members are implicitly open;
* All interface member properties and functions are implicitly public;
- * Trying to declare a non-public member property or function in an interface is an compile-time error.
+ * Trying to declare a non-public member property or function in an interface is an compile-time error;
+* Interface member properties and functions without implementation are implicitly abstract.
##### Functional interface declaration
@@ -947,7 +952,7 @@ In other cases return type $R$ cannot be omitted and must be specified explicitl
> As type `kotlin.Nothing` has a [special meaning][`kotlin.Nothing`-typesystem] in Kotlin type system, it must be specified explicitly, to avoid spurious `kotlin.Nothing` function return types.
Function body $b$ is optional; if it is omitted, a function declaration creates an *abstract* function, which does not have an implementation.
-This is allowed only inside an [abstract class][Abstract classes-declarations].
+This is allowed only inside an [abstract class][Abstract classes-declarations] or an [interface][Interface declaration].
If a function body $b$ is present, it should evaluate to type $B$ which should satisfy $B <: R$.
[`kotlin.Nothing`-typesystem]: #kotlin.nothing-typesystem
@@ -1128,8 +1133,12 @@ Particular platforms may introduce additional restrictions or guarantees for the
> Examples:
>
> ```kotlin
-> fun bar(value: Any?) {...}
-> inline fun fee(arg: () -> Unit) {...}
+> fun bar(value: Any?) {}
+>
+> inline fun inlineParameter(arg: () -> Unit) { arg() }
+> inline fun noinlineParameter(noinline arg: () -> Unit) { arg() }
+> inline fun crossinlineParameter(crossinline arg: () -> Unit) { arg() }
+>
> inline fun foo(inl: () -> Unit,
> crossinline cinl: () -> Unit,
> noinline noinl: () -> Unit) {
@@ -1138,22 +1147,61 @@ Particular platforms may introduce additional restrictions or guarantees for the
> cinl()
> noinl()
> // all arguments may be passed as inline
-> fee(inl)
-> fee(cinl)
-> fee(noinl)
-> // passing to non-inline function
-> // is allowed only for noinline parameters
+> inlineParameter(inl)
+> inlineParameter(cinl)
+> inlineParameter(noinl)
+> // only noinline arguments may be passed as noinline
+> noinlineParameter(inl) // not allowed
+> noinlineParameter(cinl) // not allowed
+> noinlineParameter(noinl)
+> // noinline/crossinline arguments may be passed as crossinline
+> crossinlineParameter(inl) // not allowed
+> crossinlineParameter(cinl)
+> crossinlineParameter(noinl)
+> // only noinline arguments may be passed to non-inline functions
> bar(inl) // not allowed
> bar(cinl) // not allowed
-> bar(noinl) // allowed
-> // capturing in a lambda expression
-> // is allowed for noinline/crossinline parameters
+> bar(noinl)
+> // noinline/crossinline parameters may be captured in lambda literals
> bar({ inl() }) // not allowed
-> bar({ cinl() }) // allowed
-> bar({ noinl() }) // allowed
+> bar({ cinl() })
+> bar({ noinl() })
> }
> ```
+#### Infix functions
+
+A function may be declared as an *infix* function by using a special `infix` modifier.
+An infix function can be called in an [infix form][Infix function call], i.e., `a foo b` instead of `a.foo(b)`.
+
+To be a valid infix function, function $F$ must satisfy the following requirements.
+
+* $F$ has a dispatch or an extension [receiver][Receivers]
+* $F$ has exactly one parameter
+
+TODO(Examples)
+
+#### Local function declaration
+
+A function may be declared *locally* inside a [statement scope][Scopes and identifiers] (namely, inside another function).
+Such declarations are similar to [function literals] in that they may capture values available in the scope they are declared in.
+Otherwise they are similar to regular function declarations.
+
+```kotlin
+fun foo() {
+ var x = 2
+
+ fun bar(): Int {
+ return x
+ }
+
+ println(bar()) // 2
+
+ x = 42
+ println(bar()) // 42
+}
+```
+
#### Tail recursion optimization
A function may be declared *tail-recursive* by using a special `tailrec` modifier.
@@ -1633,7 +1681,7 @@ The scope where it is accessible is defined by its [*visibility modifiers*][Decl
> Examples:
> ```kotlin
-> // simple typ ealias declaration
+> // simple typealias declaration
> typealias IntList = List
> // parameterized type alias declaration
> // T has out variance implicitly
@@ -1766,8 +1814,8 @@ In case one needs to explicitly specify some type parameters via [type arguments
An underscore type argument does not add any type information to the [constraint system][Kotlin type constraints] *besides the presence of a type parameter*, i.e., parameterized declaration with different number of type parameters could be distinguished by different number of underscore type arguments.
-If the type inference is successfull, each underscore type argument is considered to be equal to the inferred type for their respective type parameter.
-If the type inference is not successfull, it is a compile-time error.
+If the type inference is successful, each underscore type argument is considered to be equal to the inferred type for their respective type parameter.
+If the type inference is not successful, it is a compile-time error.
> Example:
> ```kotlin
diff --git a/docs/src/md/kotlin.core/expressions.md b/docs/src/md/kotlin.core/expressions.md
index 22bf9977d..e0f541311 100644
--- a/docs/src/md/kotlin.core/expressions.md
+++ b/docs/src/md/kotlin.core/expressions.md
@@ -541,9 +541,9 @@ In particular, this means that two values acquired by the same constructor call
A value created by any constructor call is never equal by reference to a null reference.
There is an exception to these rules: values of [value classes][Value class declaration] are not guaranteed to be reference equal even if they are created by the same constructor invocation as said constructor invocation is explicitly allowed to be inlined by the compiler.
-It is thus highly discouraged to compare inline classes by reference.
+It is thus highly discouraged to compare value classes by reference.
-For special values created without explicit constructor calls, notably, [constant literals][Constant literals] and [constant expressions][Constant expressions] composed of those literals, and for values of inline classes, the following holds:
+For special values created without explicit constructor calls, notably, [constant literals][Constant literals] and [constant expressions][Constant expressions] composed of those literals, and for values of value classes, the following holds:
- If these values are [non-equal by value][Value equality expressions], they are also non-equal by reference;
- Any instance of the null reference `null` is equal by reference to any other
@@ -917,7 +917,7 @@ If the evaluation result of `e` is not equal to `null`, the result of `e!!` is t
If the type of `e` is non-nullable, not-null assertion expression `e!!` has no effect.
-The type of non-null assertion expression is the [non-nullable][Nullable types] variant of the type of `e`.
+The type of not-null assertion expression is the [non-nullable][Nullable types] variant of the type of `e`.
> Note: this type may be non-denotable in Kotlin and, as such, may be [approximated][Type approximation] in some situations with the help of [type inference][Type inference].
diff --git a/docs/src/md/kotlin.core/inheritance.md b/docs/src/md/kotlin.core/inheritance.md
index 10d78c51d..ae71eee97 100644
--- a/docs/src/md/kotlin.core/inheritance.md
+++ b/docs/src/md/kotlin.core/inheritance.md
@@ -29,7 +29,7 @@ When a classifier type $A$ is declared with base types $B_1, \dots, B_m$, it int
A class declared `abstract` cannot be instantiated, i.e., an object of this class cannot be created directly.
Abstract classes are implicitly `open` and their primary purpose is to be inherited from.
-Only abstract classes allow for `abstract` [property][Property declaration] and [function][Function declaration] declarations in their scope.
+Abstract classes (similarly to [interfaces][Interface declaration]) allow for `abstract` [property][Property declaration] and [function][Function declaration] declarations in their scope.
#### Sealed classes and interfaces
@@ -37,7 +37,7 @@ A class or interface (but not a [functional interface][Functional interface decl
- A `sealed` class is implicitly `abstract` (and these two modifiers are exclusive);
- A `sealed` class or interface can only be inherited from by types declared in the same package and in the same [module][Modules], and which have a fully-qualified name (meaning local and anonymous types cannon be inherited from `sealed` types);
-- `Sealed` classes and interfaces allow for exhaustiveness checking of [when expressions][When expressions] for values of such types.
+- `Sealed` classes and interfaces allow for exhaustiveness checking of [when expressions][Exhaustive when expressions] for values of such types.
Any sealed type `S` is associated with its *direct non-sealed subtypes*: a set of non-sealed types, which are either direct subtypes of `S` or transitive subtypes of `S` via some number of other *sealed* types.
These direct non-sealed subtypes form the boundary for exhaustiveness checks.
@@ -47,6 +47,39 @@ A class or interface (but not a [functional interface][Functional interface decl
Most of them are closed class types and cannot be inherited from.
[Function types][Function types] are treated as interfaces and can be inherited from as such.
+### Matching and subsumption of declarations
+
+A callable declaration $D$ *matches* to a callable declaration $B$ if the following are true.
+
+* $B$ and $D$ have the same name;
+* $B$ and $D$ are declarations of the same kind (property declarations or function declarations);
+* [Function signature][Function signature] of $D$ (if any) matches function signature of $B$ (if any).
+
+A callable declaration $D$ *subsumes* a callable declaration $B$ if the following are true.
+
+* $B$ and $D$ match;
+* The classifier of $B$ (where it is declared) is a supertype of the classifier of $D$.
+
+The notions of matching and subsumption are used when talking about how declarations are [inherited][Inheriting] and [overridden][Overriding].
+
+### Inheriting
+
+A callable declaration (that is, a [property][Property declaration] or [member function][Function declaration] declaration) inside a classifier declaration is said to be *inheritable* if:
+
+- Its visibility (and the visibility of its getter and setter, if present) is not `private`.
+
+If the declaration $B$ of the base classifier type is inheritable, no other inheritable declaration from the base classifier types subsume $B$, no declarations in the derived classifier type [override][Overriding] $B$, then $B$ is *inherited* by the derived classifier type.
+
+As Kotlin is a language with single inheritance (only one supertype can be a class, any number of supertypes can be an interface), there are several additional rules which refine how declarations are inherited.
+
+* If a derived class type inherits a declaration from its superclass, no other matching *abstract* declarations from its superinterfaces are inherited.
+
+* If a derived classifier type inherits *several* matching *concrete* declarations from its supertypes, it is a compile-time error (this means a derived classifier type should override such declarations).
+* If a derived *concrete* classifier type inherits an *abstract* declaration from its supertypes, it is a compile-time error (this means a derived classifier type should override such declaration).
+* If a derived classifier type inherits both an *abstract* and a *concrete* declaration from its superinterfaces, it is a compile-time error (this means a derived classifier type should override such declarations).
+
+TODO(Examples)
+
### Overriding
A callable declaration (that is, a [property][Property declaration] or [member function][Function declaration] declaration) inside a classifier declaration is said to be *overridable* if:
@@ -56,12 +89,7 @@ A callable declaration (that is, a [property][Property declaration] or [member f
It is illegal for a declaration to be both `private` and either `open`, `abstract` or `override`, such declarations should result in a compile-time error.
-A callable declaration $D$ inside a classifier declaration *subsumes* a name-matching declaration $B$ of the base classifier type if the following are true.
-
-* $B$ and $D$ are declarations of the same kind (property declarations or function declarations);
-* [Function signature][Function signature] of $D$ (if any) matches function signature of $B$ (if any).
-
-If the declaration $B$ of the base classifier type is overridable, the declaration $D$ of the derived classifier type subsumes it, and $D$ has an `override` modifier, $D$ is *overriding* the base declaration $B$.
+If the declaration $B$ of the base classifier type is overridable, the declaration $D$ of the derived classifier type subsumes $B$, and $D$ has an `override` modifier, then $D$ is *overriding* the base declaration $B$.
A function declaration $D$ which overrides function declaration $B$ should satisfy the following conditions.
diff --git a/docs/src/md/kotlin.core/introduction.md b/docs/src/md/kotlin.core/introduction.md
index 462136e13..f70734321 100644
--- a/docs/src/md/kotlin.core/introduction.md
+++ b/docs/src/md/kotlin.core/introduction.md
@@ -13,7 +13,7 @@ Currently, as of version $\currentKotlinMajorVersion{}$, it supports compilation
Furthermore, it supports transparent interoperability between different platforms via its Kotlin Multiplatform Project (Kotlin MPP) feature.
-The type system of Kotlin distinguishes at compile time between nullable and not-nullable types, achieving null-safety, i.e., guaranteeing the absence of runtime errors caused by the absence of value (i.e., `null` value).
+The type system of Kotlin distinguishes at compile time between nullable and non-nullable types, achieving null-safety, i.e., guaranteeing the absence of runtime errors caused by the absence of value (i.e., `null` value).
Kotlin also extends its static type system with elements of gradual and flow typing, for better interoperability with other languages and ease of development.
Kotlin is an object-oriented language which also has a lot of functional programming elements.
diff --git a/docs/src/md/kotlin.core/scoping.md b/docs/src/md/kotlin.core/scoping.md
index 62c5756d0..6503e301e 100644
--- a/docs/src/md/kotlin.core/scoping.md
+++ b/docs/src/md/kotlin.core/scoping.md
@@ -124,7 +124,7 @@ Besides identifiers which are introduced by the developer (e.g., via declaring c
### Labels
Labels are special syntactic marks which allow one to reference certain code fragments or elements.
-[Lambda expressions][Lambda literals]) and [loop statements][Loop statements] are allowed to be labeled, with label identifier associated with the corresponding entity.
+[Lambda expressions][Lambda literals] and [loop statements][Loop statements] are allowed to be labeled, with label identifier associated with the corresponding entity.
> Note: in Kotlin version 1.3 and earlier, labels were allowed to be placed on any expression or statement.
diff --git a/docs/src/md/kotlin.core/type-inference.md b/docs/src/md/kotlin.core/type-inference.md
index 10ceff2e1..0acec8f70 100644
--- a/docs/src/md/kotlin.core/type-inference.md
+++ b/docs/src/md/kotlin.core/type-inference.md
@@ -454,7 +454,7 @@ TODO(Is this true?)
### Function signature type inference
-Function signature type inference is a variant of [local type inference], which is performed for [function declarations], [lambda literals] and [anonymous function declarations].
+Function signature type inference is a variant of [local type inference], which is performed for [function declarations][Function declaration], [lambda literals] and [anonymous function declarations].
#### Named and anonymous function declarations
@@ -552,6 +552,7 @@ If $T$ is a nullable type $U?$, the steps given above are performed for its non-
### Builder-style type inference
> Note: before Kotlin 1.7, builder-style type inference required using the [`@BuilderInference`][Built-in annotations] annotation on lambda parameters.
+> Currently, for simple cases when there is a single lambda parameter which requires builder-style inference, this annotation may be omitted.
When working with DSLs that have generic builder functions, one may want to infer the generic builder type parameters using the information from the builder's lambda body.
Kotlin supports special kind of type inference called **builder-style type inference** to allow this in some cases.
@@ -575,6 +576,12 @@ After the inference of statements inside the lambda is complete, these postponed
If the system cannot be solved, it is a compile-time error.
+Builder-style inference has the following important restrictions.
+
+- Any attempt to use an expression with type which is a postponed type variable is a compile-time error.
+- If a call needs builder-style inference for more than one lambda parameter, they all should be marked with [`@BuilderInference`][Built-in annotations] annotation.
+ Otherwise, it is a compile-time error.
+
> Note: notable examples of builder-style inference-enabled functions are `kotlin.sequence` and `kotlin.iterator`.
> See standard library documentation for details.
diff --git a/docs/src/md/kotlin.core/type-system.md b/docs/src/md/kotlin.core/type-system.md
index 17cf30ac5..76f573c9a 100644
--- a/docs/src/md/kotlin.core/type-system.md
+++ b/docs/src/md/kotlin.core/type-system.md
@@ -1448,7 +1448,7 @@ TODO(Add examples of this exceptional case, e.g., (List..List?) & Any =:= (List.
In the presence of recursively defined parameterized types, the algorithm given above is not guaranteed to terminate as there may not exist a finite representation of $\GLB$ for particular two types.
The detection and handling of such situations (compile-time error or leaving the type in some kind of denormalized state) is implementation-defined.
-In some situations, it is needed to construct the least upper bound for more than two types, in which case the least upper bound operator $\GLB(T_1, T_2, \ldots, T_N)$ is defined as $\GLB(T_1, \GLB(T_2, \ldots, T_N))$.
+In some situations, it is needed to construct the greatest lower bound for more than two types, in which case the greatest lower bound operator $\GLB(T_1, T_2, \ldots, T_N)$ is defined as $\GLB(T_1, \GLB(T_2, \ldots, T_N))$.
TODO(It is probably order-dependent or needs to be proven otherwise)
diff --git a/docs/src/md/preamble.tex b/docs/src/md/preamble.tex
index c6eb6cb1b..ff5b49d3e 100644
--- a/docs/src/md/preamble.tex
+++ b/docs/src/md/preamble.tex
@@ -6,12 +6,6 @@
\usepackage{todonotes}
-\hypersetup{
- colorlinks=true,
- linkcolor=blue,
- filecolor=cyan
-}
-
\usepackage{titlesec}
\setcounter{tocdepth}{2}
@@ -37,3 +31,10 @@
\hyphenation{
Sus-pend-Co-ro-u-ti-ne-Un-in-ter-cep-ted-Or-Re-turn
}
+
+\usepackage{hyperref}
+\hypersetup{
+ colorlinks=true,
+ linkcolor=blue,
+ filecolor=cyan
+}
diff --git a/docs/src/md/preface.html b/docs/src/md/preface.html
index bae973fce..3edf85169 100644
--- a/docs/src/md/preface.html
+++ b/docs/src/md/preface.html
@@ -4,7 +4,7 @@
- Kotlin
+ Kotlin
Download PDF
diff --git a/grammar/scripts/build/downloadCompilerTests.sh b/grammar/scripts/build/downloadCompilerTests.sh
index ca6e54d9e..da808a088 100644
--- a/grammar/scripts/build/downloadCompilerTests.sh
+++ b/grammar/scripts/build/downloadCompilerTests.sh
@@ -14,6 +14,8 @@ git remote add origin https://github.com/JetBrains/kotlin
git fetch origin master
git pull origin master
+find ${PROJECT_DIR}/testData -name "*.kt" -delete
+
cp -R compiler/testData/psi/. ${PROJECT_DIR}/testData/psi
cp -R compiler/testData/diagnostics/tests/. ${PROJECT_DIR}/testData/diagnostics
diff --git a/grammar/scripts/compareActuals.sh b/grammar/scripts/compareActuals.sh
new file mode 100755
index 000000000..982f81a5a
--- /dev/null
+++ b/grammar/scripts/compareActuals.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+TEST_DATA="$1"
+
+for fo in `find ${TEST_DATA} -name "*.antlrtree.txt"`; do
+ fa="$i.actual";
+ if [[ -e $fa ]]; then
+ meld $fa $fo;
+ fi
+done
diff --git a/grammar/scripts/processActuals.sh b/grammar/scripts/processActuals.sh
index 9f4f6cfc6..e082c31ad 100755
--- a/grammar/scripts/processActuals.sh
+++ b/grammar/scripts/processActuals.sh
@@ -4,14 +4,14 @@ TEST_DATA="$1"
REF="$2"
for actual in `find "${TEST_DATA}" -name "*.actual"`; do
- old="${actual%.*}"
- diff "$actual" "$old" | tail -n +2 > "actual_old_diff.tmp"
- cmp -s "actual_old_diff.tmp" "$REF"
+ old="${actual%.*}";
+ diff "$actual" "$old" | tail -n +2 > "actual_old_diff.tmp";
+ cmp -s "actual_old_diff.tmp" "$REF";
if [[ $? == 0 ]]; then
- mv $actual $old
+ mv $actual $old;
else
- echo "$actual"
- echo `diff "$actual" "$old"`
+ echo "$actual";
+ echo `diff "$actual" "$old"`;
fi
done
diff --git a/grammar/scripts/processModified.sh b/grammar/scripts/processModified.sh
new file mode 100755
index 000000000..e1420e8f9
--- /dev/null
+++ b/grammar/scripts/processModified.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+REF="$1"
+
+for i in `git status -s | grep "^M.*\.antlrtree.txt$" | cut -d ' ' -f 3`; do
+ git diff --numstat HEAD $i | grep -q "$REF";
+ if [[ $? == 0 ]]; then
+ echo $i;
+ fi
+done
diff --git a/grammar/testData/diagnostics/SingleUnderscoreUnsupported.antlrtree.txt b/grammar/testData/diagnostics/SingleUnderscoreUnsupported.antlrtree.txt
deleted file mode 100644
index 06c819e15..000000000
--- a/grammar/testData/diagnostics/SingleUnderscoreUnsupported.antlrtree.txt
+++ /dev/null
@@ -1,813 +0,0 @@
-File: SingleUnderscoreUnsupported.kt - 514a97d37690826481bf3c02718321f6
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Array")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- multiVariableDeclaration
- LPAREN("(")
- variableDeclaration
- simpleIdentifier
- Identifier("_")
- COMMA(",")
- variableDeclaration
- simpleIdentifier
- Identifier("y")
- RPAREN(")")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("y")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("q1")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- NL("\n")
- lambdaParameters
- lambdaParameter
- variableDeclaration
- simpleIdentifier
- Identifier("_")
- COMMA(",")
- lambdaParameter
- variableDeclaration
- simpleIdentifier
- Identifier("s")
- ARROW("->")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("q1")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("q2")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("_")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("q2")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("q3")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- NL("\n")
- lambdaParameters
- lambdaParameter
- multiVariableDeclaration
- LPAREN("(")
- variableDeclaration
- simpleIdentifier
- Identifier("_")
- COMMA(",")
- variableDeclaration
- simpleIdentifier
- Identifier("y")
- RPAREN(")")
- ARROW("->")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("y")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("q3")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- RPAREN(")")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- loopStatement
- forStatement
- FOR("for")
- LPAREN("(")
- multiVariableDeclaration
- LPAREN("(")
- variableDeclaration
- simpleIdentifier
- Identifier("_")
- COMMA(",")
- variableDeclaration
- simpleIdentifier
- Identifier("z")
- RPAREN(")")
- IN("in")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("z")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/TypeMismatchOnOverrideWithSyntaxErrors.antlrtree.txt b/grammar/testData/diagnostics/TypeMismatchOnOverrideWithSyntaxErrors.antlrtree.txt
index 7eb1fe6c7..6bae2fc55 100644
--- a/grammar/testData/diagnostics/TypeMismatchOnOverrideWithSyntaxErrors.antlrtree.txt
+++ b/grammar/testData/diagnostics/TypeMismatchOnOverrideWithSyntaxErrors.antlrtree.txt
@@ -153,21 +153,8 @@ File: TypeMismatchOnOverrideWithSyntaxErrors.kt - 5562e52794b9edc95c27f33c8e2b9d
functionBody
ASSIGNMENT("=")
QUEST_NO_WS("?")
- NL("\n")
- RCURL("}")
- NL("\n")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
+ semis
+ NL("\n")
+ RCURL("}")
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/annotations/AnnotationForClassTypeParameter.antlrtree.txt b/grammar/testData/diagnostics/annotations/AnnotationForClassTypeParameter.antlrtree.txt
deleted file mode 100644
index 2e692081c..000000000
--- a/grammar/testData/diagnostics/annotations/AnnotationForClassTypeParameter.antlrtree.txt
+++ /dev/null
@@ -1,489 +0,0 @@
-File: AnnotationForClassTypeParameter.kt - 361a13a17e7c654176682ad45e6da328
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("A1")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("A2")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("some")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("12")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("TopLevelClass")
- typeParameters
- LANGLE("<")
- typeParameter
- typeParameterModifiers
- typeParameterModifier
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A1")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A2")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- RPAREN(")")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A2")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A1")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("12")
- RPAREN(")")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A2")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("Test")
- QUOTE_CLOSE(""")
- RPAREN(")")
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("InnerClass")
- typeParameters
- LANGLE("<")
- typeParameter
- typeParameterModifiers
- typeParameterModifier
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A1")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A2")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- RPAREN(")")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A2")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A1")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("12")
- RPAREN(")")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A2")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("Test")
- QUOTE_CLOSE(""")
- RPAREN(")")
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("InFun")
- typeParameters
- LANGLE("<")
- typeParameter
- typeParameterModifiers
- typeParameterModifier
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A1")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A2")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- RPAREN(")")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A2")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A1")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("12")
- RPAREN(")")
- typeParameterModifier
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A2")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("Test")
- QUOTE_CLOSE(""")
- RPAREN(")")
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/annotations/JvmSerializableLambdaAnnotation.antlrtree.txt b/grammar/testData/diagnostics/annotations/JvmSerializableLambdaAnnotation.antlrtree.txt
new file mode 100644
index 000000000..b65fcf483
--- /dev/null
+++ b/grammar/testData/diagnostics/annotations/JvmSerializableLambdaAnnotation.antlrtree.txt
@@ -0,0 +1,479 @@
+File: JvmSerializableLambdaAnnotation.kt - b2f91e00139a87a9965a6de050dbcb52
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ importHeader
+ IMPORT("import")
+ identifier
+ simpleIdentifier
+ Identifier("kotlin")
+ DOT(".")
+ simpleIdentifier
+ Identifier("jvm")
+ DOT(".")
+ simpleIdentifier
+ Identifier("JvmSerializableLambda")
+ semi
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("good1")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ unaryPrefix
+ annotation
+ singleAnnotation
+ AT_PRE_WS(" @")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("JvmSerializableLambda")
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("good2")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ unaryPrefix
+ annotation
+ singleAnnotation
+ AT_PRE_WS(" @")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("JvmSerializableLambda")
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("good3")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ unaryPrefix
+ annotation
+ singleAnnotation
+ AT_PRE_WS(" @")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("JvmSerializableLambda")
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ DOT(".")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("good4")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("listOf")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("JvmSerializableLambda")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ RPAREN(")")
+ postfixUnarySuffix
+ indexingSuffix
+ LSQUARE("[")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RSQUARE("]")
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("bad1")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ unaryPrefix
+ annotation
+ singleAnnotation
+ AT_PRE_WS(" @")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("JvmSerializableLambda")
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("bad2")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ unaryPrefix
+ annotation
+ singleAnnotation
+ AT_PRE_WS(" @")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("JvmSerializableLambda")
+ postfixUnaryExpression
+ primaryExpression
+ objectLiteral
+ OBJECT("object")
+ classBody
+ LCURL("{")
+ classMemberDeclarations
+ RCURL("}")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("bad3")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ unaryPrefix
+ annotation
+ singleAnnotation
+ AT_PRE_WS(" @")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("JvmSerializableLambda")
+ postfixUnaryExpression
+ primaryExpression
+ callableReference
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("foo")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("bad4")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("listOf")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("JvmSerializableLambda")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RPAREN(")")
+ postfixUnarySuffix
+ indexingSuffix
+ LSQUARE("[")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RSQUARE("]")
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/annotations/deprecatedRepeatable.antlrtree.txt b/grammar/testData/diagnostics/annotations/deprecatedRepeatable.antlrtree.txt
deleted file mode 100644
index 6845c8d50..000000000
--- a/grammar/testData/diagnostics/annotations/deprecatedRepeatable.antlrtree.txt
+++ /dev/null
@@ -1,196 +0,0 @@
-File: deprecatedRepeatable.kt - 4324cb3761bdad9953d7bc01df56f23e
- NL("\n")
- NL("\n")
- packageHeader
- importList
- importHeader
- IMPORT("import")
- identifier
- simpleIdentifier
- Identifier("java")
- DOT(".")
- simpleIdentifier
- Identifier("lang")
- DOT(".")
- simpleIdentifier
- ANNOTATION("annotation")
- DOT(".")
- simpleIdentifier
- Identifier("Repeatable")
- semi
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("java")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("lang")
- DOT(".")
- simpleUserType
- simpleIdentifier
- ANNOTATION("annotation")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("Repeatable")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Annotations")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("class")
- RPAREN(")")
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("RepAnn")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Repeatable")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("OtherAnnotations")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("class")
- RPAREN(")")
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("OtherAnn")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("Annotations")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- modifier
- parameterModifier
- VARARG("vararg")
- VAL("val")
- simpleIdentifier
- VALUE("value")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("RepAnn")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("OtherAnnotations")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- modifier
- parameterModifier
- VARARG("vararg")
- VAL("val")
- simpleIdentifier
- VALUE("value")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("OtherAnn")
- RPAREN(")")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/annotations/javaRepeatable.RepeatableUse.antlrtree.txt b/grammar/testData/diagnostics/annotations/javaRepeatable.RepeatableUse.antlrtree.txt
deleted file mode 100644
index db39d9c23..000000000
--- a/grammar/testData/diagnostics/annotations/javaRepeatable.RepeatableUse.antlrtree.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-File: javaRepeatable.RepeatableUse.kt - 0afc2eba4b633ad7122928e63f5400a9
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("RepeatableAnnotation")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("RepeatableAnnotation")
- CLASS("class")
- simpleIdentifier
- Identifier("My")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/annotations/javaRepeatableRetention.RepeatableUse.antlrtree.txt b/grammar/testData/diagnostics/annotations/javaRepeatableRetention.RepeatableUse.antlrtree.txt
deleted file mode 100644
index 5f55272cc..000000000
--- a/grammar/testData/diagnostics/annotations/javaRepeatableRetention.RepeatableUse.antlrtree.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-File: javaRepeatableRetention.RepeatableUse.kt - 0afc2eba4b633ad7122928e63f5400a9
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("RepeatableAnnotation")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("RepeatableAnnotation")
- CLASS("class")
- simpleIdentifier
- Identifier("My")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/annotations/javaUnrepeatable.UnrepeatableUse.antlrtree.txt b/grammar/testData/diagnostics/annotations/javaUnrepeatable.UnrepeatableUse.antlrtree.txt
deleted file mode 100644
index 444566e0c..000000000
--- a/grammar/testData/diagnostics/annotations/javaUnrepeatable.UnrepeatableUse.antlrtree.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-File: javaUnrepeatable.UnrepeatableUse.kt - ce4e14e527d5a8209405107b2bff329b
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("UnrepeatableAnnotation")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("UnrepeatableAnnotation")
- CLASS("class")
- simpleIdentifier
- Identifier("My")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/annotations/options/repeatable.antlrtree.txt b/grammar/testData/diagnostics/annotations/options/repeatable.antlrtree.txt
deleted file mode 100644
index ada24df27..000000000
--- a/grammar/testData/diagnostics/annotations/options/repeatable.antlrtree.txt
+++ /dev/null
@@ -1,733 +0,0 @@
-File: repeatable.kt - 4e906a5546c8b206f87487e2e7a5d86d
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Repeatable")
- NL("\n")
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("repann")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Retention")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("AnnotationRetention")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("SOURCE")
- RPAREN(")")
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Repeatable")
- NL("\n")
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("repann1")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Retention")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("AnnotationRetention")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("SOURCE")
- RPAREN(")")
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Repeatable")
- NL("\n")
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("repann2")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Boolean")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Retention")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("AnnotationRetention")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("BINARY")
- RPAREN(")")
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Repeatable")
- NL("\n")
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("binrepann")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Target")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("AnnotationTarget")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("EXPRESSION")
- RPAREN(")")
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Retention")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("AnnotationRetention")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("SOURCE")
- RPAREN(")")
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Repeatable")
- NL("\n")
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("repexpr")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann")
- CLASS("class")
- simpleIdentifier
- Identifier("DoubleAnnotated")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann1")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann1")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- RPAREN(")")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann1")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- RPAREN(")")
- CLASS("class")
- simpleIdentifier
- Identifier("TripleAnnotated")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann2")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann2")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann2")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann2")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- CLASS("class")
- simpleIdentifier
- Identifier("FourTimesAnnotated")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("binrepann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("binrepann")
- CLASS("class")
- simpleIdentifier
- Identifier("BinaryAnnotated")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann")
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameterModifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repann")
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repexpr")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("repexpr")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- semis
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/callableReference/constraintFromLHSWithCorrectDirectionError.antlrtree.txt b/grammar/testData/diagnostics/callableReference/constraintFromLHSWithCorrectDirectionError.antlrtree.txt
index 40233cfdb..1413fbd2d 100644
--- a/grammar/testData/diagnostics/callableReference/constraintFromLHSWithCorrectDirectionError.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/constraintFromLHSWithCorrectDirectionError.antlrtree.txt
@@ -1,5 +1,4 @@
-File: constraintFromLHSWithCorrectDirectionError.kt - 291b2f7f2bae96d12e83fe7a68a1745c
- NL("\n")
+File: constraintFromLHSWithCorrectDirectionError.kt - 9eb862c00108dec0f917ad927632f056
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/correctInfoAfterArrayLikeCall.antlrtree.txt b/grammar/testData/diagnostics/callableReference/correctInfoAfterArrayLikeCall.antlrtree.txt
index 79e105395..72fb6e7ab 100644
--- a/grammar/testData/diagnostics/callableReference/correctInfoAfterArrayLikeCall.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/correctInfoAfterArrayLikeCall.antlrtree.txt
@@ -1,5 +1,4 @@
-File: correctInfoAfterArrayLikeCall.kt - ff63461e180aaebcad0fb8c396c09f5a
- NL("\n")
+File: correctInfoAfterArrayLikeCall.kt - bc8eb3330be6ef7be1af046c75831909
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/functionReferenceWithDefaultValueAsOtherFunctionType_enabled.antlrtree.txt b/grammar/testData/diagnostics/callableReference/functionReferenceWithDefaultValueAsOtherFunctionType_enabled.antlrtree.txt
index 8062e6a1b..dbcc66955 100644
--- a/grammar/testData/diagnostics/callableReference/functionReferenceWithDefaultValueAsOtherFunctionType_enabled.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/functionReferenceWithDefaultValueAsOtherFunctionType_enabled.antlrtree.txt
@@ -1,4 +1,4 @@
-File: functionReferenceWithDefaultValueAsOtherFunctionType_enabled.kt - ffee8996b4b601d07f9abd8c9b1b427b
+File: functionReferenceWithDefaultValueAsOtherFunctionType_enabled.kt - 00ad6c99eb7096d55fdcdbcee2bd9732
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/generic/kt35896.antlrtree.txt b/grammar/testData/diagnostics/callableReference/generic/kt35896.antlrtree.txt
index b7a90a6ac..93169db7d 100644
--- a/grammar/testData/diagnostics/callableReference/generic/kt35896.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/generic/kt35896.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt35896.kt - a99187624d7b2b37f1af98c8b5ff5650
- NL("\n")
+File: kt35896.kt - 4d47e0b941edef0767a43a44d308c317
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/generic/noInferenceFeatureForCallableReferences.antlrtree.txt b/grammar/testData/diagnostics/callableReference/generic/noInferenceFeatureForCallableReferences.antlrtree.txt
deleted file mode 100644
index 6884b1c3f..000000000
--- a/grammar/testData/diagnostics/callableReference/generic/noInferenceFeatureForCallableReferences.antlrtree.txt
+++ /dev/null
@@ -1,1950 +0,0 @@
-File: noInferenceFeatureForCallableReferences.kt - fe1fc04122b3f164468f743701dc25ed
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("bar")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("complex")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("t")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("simple")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test1")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("complex")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("bar")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("simple")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("bar")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("takeFun")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COMMA(",")
- typeParameter
- simpleIdentifier
- Identifier("R")
- RANGLE(">")
- simpleIdentifier
- Identifier("callFun")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("R")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("R")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("TODO")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("Wrapper")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- VALUE("value")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COMMA(",")
- typeParameter
- simpleIdentifier
- Identifier("R")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Wrapper")
- typeArguments
- LANGLE("<")
- typeProjection
- typeProjectionModifiers
- typeProjectionModifier
- varianceModifier
- IN("in")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- RANGLE(">")
- simpleIdentifier
- Identifier("createWrapper")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("R")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("TODO")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Wrapper")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- DOT(".")
- simpleIdentifier
- Identifier("baz")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("transform")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("TODO")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test2")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("takeFun")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("foo")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("callFun")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Wrapper")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("createWrapper")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("callFun")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Wrapper")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Number")
- RANGLE(">")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("createWrapper")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("callFun")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Wrapper")
- typeArguments
- LANGLE("<")
- typeProjection
- MULT("*")
- RANGLE(">")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("createWrapper")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("callFun")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Wrapper")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("createWrapper")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("baz")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("foo")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test3")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a1")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Array")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- functionType
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Double")
- DOT(".")
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Double")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Double")
- RANGLE(">")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arrayOf")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Double")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("plus")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Double")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("minus")
- RPAREN(")")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Array")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- functionType
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Double")
- DOT(".")
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Double")
- RANGLE(">")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arrayOf")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Double")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("plus")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Double")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("minus")
- RPAREN(")")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("A1")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("a1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("t")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test1")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A1")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("a1")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("A2")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("K")
- COMMA(",")
- typeParameter
- simpleIdentifier
- Identifier("V")
- RANGLE(">")
- simpleIdentifier
- Identifier("a2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("key")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("K")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("V")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("TODO")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test1")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A2")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("a2")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T3")
- RANGLE(">")
- simpleIdentifier
- Identifier("test2")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T3")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T3")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A2")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("a2")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("z")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Boolean")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("baz1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("element")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- quest
- QUEST_WS("? ")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test4")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a1")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("baz1")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("foo1")
- RPAREN(")")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a2")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("baz1")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("foo1")
- RPAREN(")")
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/callableReference/genericCallWithReferenceAgainstVararg.antlrtree.txt b/grammar/testData/diagnostics/callableReference/genericCallWithReferenceAgainstVararg.antlrtree.txt
index 15468b3a4..02bd2aa6a 100644
--- a/grammar/testData/diagnostics/callableReference/genericCallWithReferenceAgainstVararg.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/genericCallWithReferenceAgainstVararg.antlrtree.txt
@@ -1,5 +1,4 @@
-File: genericCallWithReferenceAgainstVararg.kt - 74f4c846d9bfcfac4870498b5ffb5580
- NL("\n")
+File: genericCallWithReferenceAgainstVararg.kt - ecc5a6827b515d0635acf6d73ea18f0d
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/callableReference/genericCallWithReferenceAgainstVarargAndKFunction.antlrtree.txt b/grammar/testData/diagnostics/callableReference/genericCallWithReferenceAgainstVarargAndKFunction.antlrtree.txt
index 83c5422e9..3518170f5 100644
--- a/grammar/testData/diagnostics/callableReference/genericCallWithReferenceAgainstVarargAndKFunction.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/genericCallWithReferenceAgainstVarargAndKFunction.antlrtree.txt
@@ -1,5 +1,4 @@
-File: genericCallWithReferenceAgainstVarargAndKFunction.kt - 33fc93247fb8ddcb20426ab988c602a8
- NL("\n")
+File: genericCallWithReferenceAgainstVarargAndKFunction.kt - 6bc442d5767e860ab1fc497f9b798f55
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/kt31981.antlrtree.txt b/grammar/testData/diagnostics/callableReference/kt31981.antlrtree.txt
index 2c19196c8..d3f6aacc1 100644
--- a/grammar/testData/diagnostics/callableReference/kt31981.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/kt31981.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt31981.kt - 22c75662ea112f7d465ab055d34aaf5f
- NL("\n")
+File: kt31981.kt - 5e0e3794e12b27482d4a00abcc7e28cf
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/callableReference/kt32256.antlrtree.txt b/grammar/testData/diagnostics/callableReference/kt32256.antlrtree.txt
index a509a2724..70c71aaeb 100644
--- a/grammar/testData/diagnostics/callableReference/kt32256.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/kt32256.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32256.kt - 9881b007f0073630b9eb0a4c8eedfb22
- NL("\n")
+File: kt32256.kt - 92eb4a6a85bbfb06d244626e155cadb1
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/kt32267.antlrtree.txt b/grammar/testData/diagnostics/callableReference/kt32267.antlrtree.txt
index 00b226541..e5f46e6a0 100644
--- a/grammar/testData/diagnostics/callableReference/kt32267.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/kt32267.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32267.kt - c314acff4e0d18a20ece612d52388710
- NL("\n")
+File: kt32267.kt - 363ef5b29b8e43bd013877e15ad6bb8f
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/kt35959.antlrtree.txt b/grammar/testData/diagnostics/callableReference/kt35959.antlrtree.txt
index 5c22fd829..7f6d87b15 100644
--- a/grammar/testData/diagnostics/callableReference/kt35959.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/kt35959.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt35959.kt - 9e2134037178cc6e3d7e2edd79deb3fb
- NL("\n")
+File: kt35959.kt - c9c75bc833426485398ed65123ca7e43
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/lambdaResult.antlrtree.txt b/grammar/testData/diagnostics/callableReference/lambdaResult.antlrtree.txt
index 5d31f52dd..6aa25fceb 100644
--- a/grammar/testData/diagnostics/callableReference/lambdaResult.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/lambdaResult.antlrtree.txt
@@ -1,5 +1,4 @@
-File: lambdaResult.kt - b2102c976ecee327c70294c0c2472d3b
- NL("\n")
+File: lambdaResult.kt - 2d73176f0121c91661e319a24d168843
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/noAmbiguityWhenAllReferencesAreInapplicable.antlrtree.txt b/grammar/testData/diagnostics/callableReference/noAmbiguityWhenAllReferencesAreInapplicable.antlrtree.txt
index f4886a78c..a09b3c362 100644
--- a/grammar/testData/diagnostics/callableReference/noAmbiguityWhenAllReferencesAreInapplicable.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/noAmbiguityWhenAllReferencesAreInapplicable.antlrtree.txt
@@ -1,5 +1,4 @@
-File: noAmbiguityWhenAllReferencesAreInapplicable.kt - db16862fdab6bc9294c9d17acdd8e32e
- NL("\n")
+File: noAmbiguityWhenAllReferencesAreInapplicable.kt - 163dc0de9ccf24e93668d8bf83e0cb66
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/noExceptionOnRedCodeWithArrayLikeCall.antlrtree.txt b/grammar/testData/diagnostics/callableReference/noExceptionOnRedCodeWithArrayLikeCall.antlrtree.txt
index ed5c99d4a..6bc201e72 100644
--- a/grammar/testData/diagnostics/callableReference/noExceptionOnRedCodeWithArrayLikeCall.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/noExceptionOnRedCodeWithArrayLikeCall.antlrtree.txt
@@ -1,5 +1,4 @@
-File: noExceptionOnRedCodeWithArrayLikeCall.kt - 7fa5c7d3224b8aed7c71ee65eab25a2a
- NL("\n")
+File: noExceptionOnRedCodeWithArrayLikeCall.kt - d27e9e9ba73e2cd65da2625275f96719
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/callableReference/property/extensionsSameName.antlrtree.txt b/grammar/testData/diagnostics/callableReference/property/extensionsSameName.antlrtree.txt
index a1324ac4c..ef210c164 100644
--- a/grammar/testData/diagnostics/callableReference/property/extensionsSameName.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/property/extensionsSameName.antlrtree.txt
@@ -1,5 +1,4 @@
-File: extensionsSameName.kt - c0e3d676c2c7e0be34ddf9f14740cfdb
- NL("\n")
+File: extensionsSameName.kt - 05ba45e0d65474657dcfcfdd4a16d941
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/referenceAdaptationHasDependencyOnApi14.antlrtree.txt b/grammar/testData/diagnostics/callableReference/referenceAdaptationHasDependencyOnApi14.antlrtree.txt
deleted file mode 100644
index 1e2a01006..000000000
--- a/grammar/testData/diagnostics/callableReference/referenceAdaptationHasDependencyOnApi14.antlrtree.txt
+++ /dev/null
@@ -1,611 +0,0 @@
-File: referenceAdaptationHasDependencyOnApi14.kt - 99dbb46052aad04f1e992ed36c11eaf8
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- functionValueParameter
- parameterModifiers
- parameterModifier
- VARARG("vararg")
- parameter
- simpleIdentifier
- Identifier("xs")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Long")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("foo")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("coercionToUnit")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- COMMA(",")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("LongArray")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("f")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("varargToElement")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- COMMA(",")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Long")
- COMMA(",")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Long")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("f")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("defaultAndVararg")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("f")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("allOfTheAbove")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("f")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("coercionToUnit")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("foo")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("varargToElement")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("foo")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("defaultAndVararg")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("foo")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("allOfTheAbove")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("foo")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/callableReference/resolve/ambiguityWhenNoApplicableCallableReferenceCandidate.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/ambiguityWhenNoApplicableCallableReferenceCandidate.antlrtree.txt
index 8aedfd548..e42968489 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/ambiguityWhenNoApplicableCallableReferenceCandidate.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/ambiguityWhenNoApplicableCallableReferenceCandidate.antlrtree.txt
@@ -1,5 +1,4 @@
-File: ambiguityWhenNoApplicableCallableReferenceCandidate.kt - 0fe77495950093299bc53b20768c39d2
- NL("\n")
+File: ambiguityWhenNoApplicableCallableReferenceCandidate.kt - f15d537fed11aa732effcc82048fe583
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/callableReference/resolve/ambiguityWithBoundExtensionReceiver.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/ambiguityWithBoundExtensionReceiver.antlrtree.txt
index 5a5ce76a5..7b095c0ab 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/ambiguityWithBoundExtensionReceiver.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/ambiguityWithBoundExtensionReceiver.antlrtree.txt
@@ -1,5 +1,4 @@
-File: ambiguityWithBoundExtensionReceiver.kt - c149603852491e03fffe63c4491cbb4c
- NL("\n")
+File: ambiguityWithBoundExtensionReceiver.kt - 99cb73e40a928b26274d158fa50d9a40
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/resolve/applicableCallableReferenceFromDistantScope.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/applicableCallableReferenceFromDistantScope.antlrtree.txt
index 0efff540c..f6cbd398d 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/applicableCallableReferenceFromDistantScope.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/applicableCallableReferenceFromDistantScope.antlrtree.txt
@@ -1,5 +1,4 @@
-File: applicableCallableReferenceFromDistantScope.kt - 213f4e6b36106c3247f18c283b0c5fbf
- NL("\n")
+File: applicableCallableReferenceFromDistantScope.kt - 882f6a39e8af1846e9d52e817b92c37a
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/resolve/callableReferenceToVarargWithOverload.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/callableReferenceToVarargWithOverload.antlrtree.txt
index fd9e7c4fe..ea9c2969b 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/callableReferenceToVarargWithOverload.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/callableReferenceToVarargWithOverload.antlrtree.txt
@@ -1,5 +1,4 @@
-File: callableReferenceToVarargWithOverload.kt - 474a7592d4c5b9f82f5a485eee06e19b
- NL("\n")
+File: callableReferenceToVarargWithOverload.kt - 6a532f87bd3a5af017520f1fadb22ea5
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/resolve/chooseCallableReferenceDependingOnInferredReceiver.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/chooseCallableReferenceDependingOnInferredReceiver.antlrtree.txt
index b0265587e..68af424b8 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/chooseCallableReferenceDependingOnInferredReceiver.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/chooseCallableReferenceDependingOnInferredReceiver.antlrtree.txt
@@ -1,5 +1,4 @@
-File: chooseCallableReferenceDependingOnInferredReceiver.kt - deb8ae2fcdc329dc0b638930b37451d8
- NL("\n")
+File: chooseCallableReferenceDependingOnInferredReceiver.kt - 3a6f51160ac2d8d205909e0fa443878d
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/callableReference/resolve/chooseOuterCallBySingleCallableReference.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/chooseOuterCallBySingleCallableReference.antlrtree.txt
index 8a7934d1d..131c92964 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/chooseOuterCallBySingleCallableReference.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/chooseOuterCallBySingleCallableReference.antlrtree.txt
@@ -1,5 +1,4 @@
-File: chooseOuterCallBySingleCallableReference.kt - b1ce68401cfee9c5e5d82313eca9b699
- NL("\n")
+File: chooseOuterCallBySingleCallableReference.kt - e25001ca2edb189930c7d44ec2673913
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/resolve/commonSupertypeFromReturnTypesOfCallableReference.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/commonSupertypeFromReturnTypesOfCallableReference.antlrtree.txt
index d9bdde5ad..dca4219e1 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/commonSupertypeFromReturnTypesOfCallableReference.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/commonSupertypeFromReturnTypesOfCallableReference.antlrtree.txt
@@ -1,5 +1,4 @@
-File: commonSupertypeFromReturnTypesOfCallableReference.kt - 4aa56e0734f8775967775c41acf99da7
- NL("\n")
+File: commonSupertypeFromReturnTypesOfCallableReference.kt - c69940f5cc56d31008a7122f898008c6
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/callableReference/resolve/eagerAndPostponedCallableReferences.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/eagerAndPostponedCallableReferences.antlrtree.txt
index 384338b42..da157cc89 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/eagerAndPostponedCallableReferences.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/eagerAndPostponedCallableReferences.antlrtree.txt
@@ -1,5 +1,4 @@
-File: eagerAndPostponedCallableReferences.kt - ea887027f1d715f8ce1e086831dc87e4
- NL("\n")
+File: eagerAndPostponedCallableReferences.kt - 43abd2880f6d6f6ae065db82e60e09e3
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/callableReference/resolve/eagerResolveOfSingleCallableReference.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/eagerResolveOfSingleCallableReference.antlrtree.txt
index 3881e309a..7c9542ad3 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/eagerResolveOfSingleCallableReference.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/eagerResolveOfSingleCallableReference.antlrtree.txt
@@ -1,5 +1,4 @@
-File: eagerResolveOfSingleCallableReference.kt - a3a5fff4d62ddfce17139697deeb8011
- NL("\n")
+File: eagerResolveOfSingleCallableReference.kt - e5d46c2330427fee2d33e517a3c64f34
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/callableReference/resolve/kt35887.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/kt35887.antlrtree.txt
index 45854559a..54e1a60a8 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/kt35887.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/kt35887.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt35887.kt - e53454e11198e489e504e90934fe88ca
- NL("\n")
+File: kt35887.kt - b9839ae9a5f83f44247a0f440b9a434c
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/resolve/kt35887_simple.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/kt35887_simple.antlrtree.txt
index 1bb2d72a6..042a35374 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/kt35887_simple.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/kt35887_simple.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt35887_simple.kt - 23a2373884b738c794029ae190105f5d
- NL("\n")
+File: kt35887_simple.kt - 982ba7995d12feabdb49a3acde56177b
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/callableReference/resolve/multipleOutersAndMultipleCallableReferences.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/multipleOutersAndMultipleCallableReferences.antlrtree.txt
index b24c8c2d6..fc90ae757 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/multipleOutersAndMultipleCallableReferences.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/multipleOutersAndMultipleCallableReferences.antlrtree.txt
@@ -1,5 +1,4 @@
-File: multipleOutersAndMultipleCallableReferences.kt - f04c5cf44005b022dfe78b6741de506c
- NL("\n")
+File: multipleOutersAndMultipleCallableReferences.kt - e8d4c49694fc1b783923f3032175a813
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/resolve/postponedResolveOfManyCallableReference.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/postponedResolveOfManyCallableReference.antlrtree.txt
index 0540be3f5..8583307fb 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/postponedResolveOfManyCallableReference.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/postponedResolveOfManyCallableReference.antlrtree.txt
@@ -1,5 +1,4 @@
-File: postponedResolveOfManyCallableReference.kt - 95be50b7822e1bcf43a3c3ddb0226848
- NL("\n")
+File: postponedResolveOfManyCallableReference.kt - 89d0e2ad261bc1be684ab5d1c6b2a898
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/resolve/resolveCallableReferencesAfterAllSimpleArguments.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/resolveCallableReferencesAfterAllSimpleArguments.antlrtree.txt
index 5561ef820..9a53949a6 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/resolveCallableReferencesAfterAllSimpleArguments.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/resolveCallableReferencesAfterAllSimpleArguments.antlrtree.txt
@@ -1,5 +1,4 @@
-File: resolveCallableReferencesAfterAllSimpleArguments.kt - b43d78e43ab7b54c0b4c81f901fb895c
- NL("\n")
+File: resolveCallableReferencesAfterAllSimpleArguments.kt - 53941e95dd56e72fe25705674e84ed59
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/callableReference/resolve/resolveEqualsOperatorWithAnyExpectedType.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/resolveEqualsOperatorWithAnyExpectedType.antlrtree.txt
index 70e8af7b9..73a542d3b 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/resolveEqualsOperatorWithAnyExpectedType.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/resolveEqualsOperatorWithAnyExpectedType.antlrtree.txt
@@ -1,5 +1,4 @@
-File: resolveEqualsOperatorWithAnyExpectedType.kt - 23117d76d5911da8994b9d0ba0bfda00
- NL("\n")
+File: resolveEqualsOperatorWithAnyExpectedType.kt - 3d3cc12386a7ba399dbfbd6b42d6ebda
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/callableReference/resolve/resolveTwoReferencesAgainstGenerics.antlrtree.txt b/grammar/testData/diagnostics/callableReference/resolve/resolveTwoReferencesAgainstGenerics.antlrtree.txt
index ff0764a1c..4c3cbb1e4 100644
--- a/grammar/testData/diagnostics/callableReference/resolve/resolveTwoReferencesAgainstGenerics.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/resolve/resolveTwoReferencesAgainstGenerics.antlrtree.txt
@@ -1,5 +1,4 @@
-File: resolveTwoReferencesAgainstGenerics.kt - b0c66074270494e08f4d60806852eea5
- NL("\n")
+File: resolveTwoReferencesAgainstGenerics.kt - 13d59b09a95f16af15d48ef237162823
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/rewriteAtSliceOnGetOperator.antlrtree.txt b/grammar/testData/diagnostics/callableReference/rewriteAtSliceOnGetOperator.antlrtree.txt
index c4dea2699..c0467a7ab 100644
--- a/grammar/testData/diagnostics/callableReference/rewriteAtSliceOnGetOperator.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/rewriteAtSliceOnGetOperator.antlrtree.txt
@@ -1,5 +1,4 @@
-File: rewriteAtSliceOnGetOperator.kt - c6158d076387085f49005c2bf14d07c5
- NL("\n")
+File: rewriteAtSliceOnGetOperator.kt - 79809bf21fa12e36f389ba86e3b6ab8b
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/callableReference/subtypeArgumentFromRHSForReference.antlrtree.txt b/grammar/testData/diagnostics/callableReference/subtypeArgumentFromRHSForReference.antlrtree.txt
index ed2382bd9..c1e7def51 100644
--- a/grammar/testData/diagnostics/callableReference/subtypeArgumentFromRHSForReference.antlrtree.txt
+++ b/grammar/testData/diagnostics/callableReference/subtypeArgumentFromRHSForReference.antlrtree.txt
@@ -1,5 +1,4 @@
-File: subtypeArgumentFromRHSForReference.kt - 7a8f7f0965b499efaad6721454f702f4
- NL("\n")
+File: subtypeArgumentFromRHSForReference.kt - 5a354d097ee8d2e2a33fea3db4b99940
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/checkType.antlrtree.txt b/grammar/testData/diagnostics/checkType.antlrtree.txt
deleted file mode 100644
index 83843afe0..000000000
--- a/grammar/testData/diagnostics/checkType.antlrtree.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-File: checkType.kt - f8a0a181cdf08ebcab7a21c45fdc68f8
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("A")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("B")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("C")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("b")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("C")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/collectionLiterals/collectionLiteralsOutsideOfAnnotations.antlrtree.txt b/grammar/testData/diagnostics/collectionLiterals/collectionLiteralsOutsideOfAnnotations.antlrtree.txt
index eede48edb..d40f448f0 100644
--- a/grammar/testData/diagnostics/collectionLiterals/collectionLiteralsOutsideOfAnnotations.antlrtree.txt
+++ b/grammar/testData/diagnostics/collectionLiterals/collectionLiteralsOutsideOfAnnotations.antlrtree.txt
@@ -1,5 +1,4 @@
-File: collectionLiteralsOutsideOfAnnotations.kt - 208d02a4bad2d5754ecf0beb18d5527b
- NL("\n")
+File: collectionLiteralsOutsideOfAnnotations.kt - 856744cca7097f2392facf7097c86a42
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/collectionLiterals/noArrayLiteralsInAnnotationsFeature.antlrtree.txt b/grammar/testData/diagnostics/collectionLiterals/noArrayLiteralsInAnnotationsFeature.antlrtree.txt
deleted file mode 100644
index 2a69b3617..000000000
--- a/grammar/testData/diagnostics/collectionLiterals/noArrayLiteralsInAnnotationsFeature.antlrtree.txt
+++ /dev/null
@@ -1,574 +0,0 @@
-File: noArrayLiteralsInAnnotationsFeature.kt - aa27f202fa2508cb97c1e1ade957e95a
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("IntArray")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- RSQUARE("]")
- COMMA(",")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("b")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("FloatArray")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("1f")
- COMMA(",")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("2f")
- RSQUARE("]")
- COMMA(",")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("c")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Array")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("/")
- QUOTE_CLOSE(""")
- RSQUARE("]")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Foo")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("test1")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Foo")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- Identifier("a")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- COMMA(",")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- RSQUARE("]")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("c")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("a")
- QUOTE_CLOSE(""")
- RSQUARE("]")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("test2")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Foo")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RSQUARE("]")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("3f")
- RSQUARE("]")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("a")
- QUOTE_CLOSE(""")
- RSQUARE("]")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("test3")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test4")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- COMMA(",")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- RSQUARE("]")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/controlFlowAnalysis/breakContinueNoinline.antlrtree.txt b/grammar/testData/diagnostics/controlFlowAnalysis/breakContinueNoinline.antlrtree.txt
new file mode 100644
index 000000000..af823b7cb
--- /dev/null
+++ b/grammar/testData/diagnostics/controlFlowAnalysis/breakContinueNoinline.antlrtree.txt
@@ -0,0 +1,773 @@
+File: breakContinueNoinline.kt - 77906aed78d0150a8044041e0e7e993b
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ INLINE("inline")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("notInlining")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameterModifiers
+ parameterModifier
+ NOINLINE("noinline")
+ parameter
+ simpleIdentifier
+ Identifier("block1")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("block2")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("block1")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("block2")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ label
+ simpleIdentifier
+ Identifier("label")
+ AT_POST_WS("@ ")
+ loopStatement
+ whileStatement
+ WHILE("while")
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("true")
+ RPAREN(")")
+ controlStructureBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("notInlining")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("notInlining")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("notInlining")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("notInlining")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("notInlining")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK_AT("break@label")
+ RCURL("}")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("notInlining")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE_AT("continue@label")
+ RCURL("}")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("notInlining")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK_AT("break@label")
+ RCURL("}")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("notInlining")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE_AT("continue@label")
+ RCURL("}")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAsExpression.antlrtree.txt b/grammar/testData/diagnostics/controlFlowAnalysis/breakInLambdaPassedToDirectInvoke.antlrtree.txt
similarity index 61%
rename from grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAsExpression.antlrtree.txt
rename to grammar/testData/diagnostics/controlFlowAnalysis/breakInLambdaPassedToDirectInvoke.antlrtree.txt
index 0f56c2d8d..c6a0c06d5 100644
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAsExpression.antlrtree.txt
+++ b/grammar/testData/diagnostics/controlFlowAnalysis/breakInLambdaPassedToDirectInvoke.antlrtree.txt
@@ -1,137 +1,167 @@
-File: ifAndElseIfAndElseWithSemicolonBetweenAsExpression.kt - 28faf145a963bc876ea08fe37b5cc45b
+File: breakInLambdaPassedToDirectInvoke.kt - 5cb23e975a02eac1449dfd3b86a3ee63
+ NL("\n")
+ NL("\n")
+ NL("\n")
packageHeader
importList
topLevelObject
declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- SEMICOLON(";")
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ loopStatement
+ whileStatement
+ WHILE("while")
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("true")
+ RPAREN(")")
+ controlStructureBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("block")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("block")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ RCURL("}")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
EOF("")
diff --git a/grammar/testData/diagnostics/controlFlowAnalysis/breakInsideLocal.antlrtree.txt b/grammar/testData/diagnostics/controlFlowAnalysis/breakInsideLocal.antlrtree.txt
index 73d5115bb..0ceb7115b 100644
--- a/grammar/testData/diagnostics/controlFlowAnalysis/breakInsideLocal.antlrtree.txt
+++ b/grammar/testData/diagnostics/controlFlowAnalysis/breakInsideLocal.antlrtree.txt
@@ -1,6 +1,170 @@
-File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
+File: breakInsideLocal.kt - f8ad559b3ce54935fa4c662884d1be76
+ NL("\n")
+ NL("\n")
packageHeader
importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ INLINE("inline")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("block")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("block")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Target")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("AnnotationTarget")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("EXPRESSION")
+ RPAREN(")")
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Retention")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("AnnotationRetention")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("SOURCE")
+ RPAREN(")")
+ NL("\n")
+ modifier
+ visibilityModifier
+ PUBLIC("public")
+ modifier
+ classModifier
+ ANNOTATION("annotation")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ semis
+ NL("\n")
+ NL("\n")
topLevelObject
declaration
functionDeclaration
@@ -52,6 +216,17 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
Identifier("local1")
functionValueParameters
LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("tag")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
RPAREN(")")
functionBody
block
@@ -75,8 +250,439 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- jumpExpression
- BREAK("break")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ RCURL("}")
semis
NL("\n")
RCURL("}")
@@ -152,6 +758,19 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
functionLiteral
lambdaLiteral
LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("tag")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ ARROW("->")
NL("\n")
statements
statement
@@ -171,8 +790,439 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- jumpExpression
- CONTINUE("continue")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ RCURL("}")
semis
NL("\n")
RCURL("}")
@@ -234,6 +1284,21 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
CLASS("class")
simpleIdentifier
Identifier("LocalClass")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ VAL("val")
+ simpleIdentifier
+ Identifier("tag")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RPAREN(")")
classBody
LCURL("{")
NL("\n")
@@ -262,8 +1327,439 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- jumpExpression
- CONTINUE("continue")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ RCURL("}")
semis
NL("\n")
RCURL("}")
@@ -301,20 +1797,451 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- jumpExpression
- BREAK("break")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
semis
NL("\n")
NL("\n")
@@ -326,6 +2253,17 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
Identifier("test4")
functionValueParameters
LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("tag")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
RPAREN(")")
functionBody
block
@@ -420,8 +2358,439 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- jumpExpression
- BREAK("break")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ RCURL("}")
semis
NL("\n")
RCURL("}")
@@ -492,78 +2861,19 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
classParameter
VAL("val")
simpleIdentifier
- Identifier("x")
+ Identifier("s")
COLON(":")
type
typeReference
userType
simpleUserType
simpleIdentifier
- Identifier("Int")
+ Identifier("String")
RPAREN(")")
classBody
LCURL("{")
NL("\n")
classMemberDeclarations
- classMemberDeclaration
- secondaryConstructor
- CONSTRUCTOR("constructor")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- constructorDelegationCall
- THIS("this")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("42")
- RPAREN(")")
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- BREAK("break")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
classMemberDeclaration
secondaryConstructor
CONSTRUCTOR("constructor")
@@ -572,14 +2882,14 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
functionValueParameter
parameter
simpleIdentifier
- Identifier("y")
+ Identifier("tag")
COLON(":")
type
typeReference
userType
simpleUserType
simpleIdentifier
- Identifier("Double")
+ Identifier("Int")
RPAREN(")")
COLON(":")
constructorDelegationCall
@@ -603,19 +2913,10 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- simpleIdentifier
- Identifier("y")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("toInt")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
RPAREN(")")
block
LCURL("{")
@@ -638,8 +2939,439 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- jumpExpression
- CONTINUE("continue")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ RCURL("}")
semis
NL("\n")
RCURL("}")
@@ -710,7 +3442,7 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
classParameter
VAL("val")
simpleIdentifier
- Identifier("x")
+ Identifier("tag")
COLON(":")
type
typeReference
@@ -747,13 +3479,444 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- jumpExpression
- BREAK("break")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
classMemberDeclaration
anonymousInitializer
INIT("init")
@@ -778,8 +3941,439 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- jumpExpression
- CONTINUE("continue")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ RCURL("}")
semis
NL("\n")
RCURL("}")
@@ -844,6 +4438,21 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
CLASS("class")
simpleIdentifier
Identifier("LocalClass")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ VAL("val")
+ simpleIdentifier
+ Identifier("tag")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RPAREN(")")
classBody
LCURL("{")
NL("\n")
@@ -923,8 +4532,478 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- jumpExpression
- BREAK("break")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ ELSE("else")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ semi
+ NL("\n")
+ RCURL("}")
semis
NL("\n")
RCURL("}")
@@ -952,8 +5031,478 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- jumpExpression
- CONTINUE("continue")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ ELSE("else")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ semi
+ NL("\n")
+ RCURL("}")
semis
NL("\n")
RCURL("}")
@@ -1041,6 +5590,29 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
CONSTRUCTOR("constructor")
functionValueParameters
LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("tag")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("unused")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
RPAREN(")")
COLON(":")
constructorDelegationCall
@@ -1064,77 +5636,478 @@ File: breakInsideLocal.kt - 9315fc969e79bea66807ad71405067b4
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("42")
- RCURL("}")
- ELSE("else")
- controlStructureBody
- block
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- BREAK("break")
- RCURL("}")
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("tag")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ whenCondition
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("4")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SomeAnnotation")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ anonymousFunction
+ FUN("fun")
+ parametersWithOptionalType
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ ELSE("else")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ semi
+ NL("\n")
+ RCURL("}")
RPAREN(")")
NL("\n")
RCURL("}")
diff --git a/grammar/testData/diagnostics/controlFlowAnalysis/uninitializedCompanionOfEnum_after.antlrtree.txt b/grammar/testData/diagnostics/controlFlowAnalysis/uninitializedCompanionOfEnum_after.antlrtree.txt
index 709b66d35..f5e448699 100644
--- a/grammar/testData/diagnostics/controlFlowAnalysis/uninitializedCompanionOfEnum_after.antlrtree.txt
+++ b/grammar/testData/diagnostics/controlFlowAnalysis/uninitializedCompanionOfEnum_after.antlrtree.txt
@@ -1,4 +1,4 @@
-File: uninitializedCompanionOfEnum_after.kt - 0e1b4bc995a4231ab3fdb4f824f26d06
+File: uninitializedCompanionOfEnum_after.kt - 7df03a003efa197223cb4af5ecf420f4
NL("\n")
NL("\n")
NL("\n")
@@ -851,4 +851,530 @@ File: uninitializedCompanionOfEnum_after.kt - 0e1b4bc995a4231ab3fdb4f824f26d06
semis
NL("\n")
NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ classModifier
+ ENUM("enum")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ VAL("val")
+ simpleIdentifier
+ Identifier("lambda")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ enumClassBody
+ LCURL("{")
+ NL("\n")
+ enumEntries
+ enumEntry
+ simpleIdentifier
+ Identifier("M")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("companionFun")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("companionProp")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("companionFun")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("companionProp")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("extensionFun")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("extensionProp")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extensionFun")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extensionProp")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ RCURL("}")
+ RPAREN(")")
+ SEMICOLON(";")
+ NL("\n")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ companionObject
+ COMPANION("companion")
+ OBJECT("object")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("companionProp")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("someString")
+ QUOTE_CLOSE(""")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("companionFun")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("someString")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ DOT(".")
+ simpleUserType
+ simpleIdentifier
+ Identifier("Companion")
+ DOT(".")
+ simpleIdentifier
+ Identifier("extensionFun")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("companionFun")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ DOT(".")
+ simpleUserType
+ simpleIdentifier
+ Identifier("Companion")
+ DOT(".")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("extensionProp")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ NL("\n")
+ getter
+ GET("get")
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("companionProp")
+ semis
+ NL("\n")
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/controlFlowAnalysis/uninitializedCompanionOfEnum_before.antlrtree.txt b/grammar/testData/diagnostics/controlFlowAnalysis/uninitializedCompanionOfEnum_before.antlrtree.txt
index 684b99bca..7bcb3deb7 100644
--- a/grammar/testData/diagnostics/controlFlowAnalysis/uninitializedCompanionOfEnum_before.antlrtree.txt
+++ b/grammar/testData/diagnostics/controlFlowAnalysis/uninitializedCompanionOfEnum_before.antlrtree.txt
@@ -1,4 +1,4 @@
-File: uninitializedCompanionOfEnum_before.kt - 86075542b2276730262b598650ee1836
+File: uninitializedCompanionOfEnum_before.kt - 2f55901b57b7bd7822ff13ad3aa9ea48
NL("\n")
NL("\n")
NL("\n")
@@ -851,4 +851,530 @@ File: uninitializedCompanionOfEnum_before.kt - 86075542b2276730262b598650ee1836
semis
NL("\n")
NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ classModifier
+ ENUM("enum")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ VAL("val")
+ simpleIdentifier
+ Identifier("lambda")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ enumClassBody
+ LCURL("{")
+ NL("\n")
+ enumEntries
+ enumEntry
+ simpleIdentifier
+ Identifier("M")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("companionFun")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("companionProp")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("companionFun")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("companionProp")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("extensionFun")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("extensionProp")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extensionFun")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extensionProp")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ semis
+ NL("\n")
+ RCURL("}")
+ RPAREN(")")
+ SEMICOLON(";")
+ NL("\n")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ companionObject
+ COMPANION("companion")
+ OBJECT("object")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("companionProp")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("someString")
+ QUOTE_CLOSE(""")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("companionFun")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("someString")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ DOT(".")
+ simpleUserType
+ simpleIdentifier
+ Identifier("Companion")
+ DOT(".")
+ simpleIdentifier
+ Identifier("extensionFun")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("companionFun")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("EnumWithLambda")
+ DOT(".")
+ simpleUserType
+ simpleIdentifier
+ Identifier("Companion")
+ DOT(".")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("extensionProp")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ NL("\n")
+ getter
+ GET("get")
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("companionProp")
+ semis
+ NL("\n")
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/controlStructures/breakContinueInCrossInlineLambda.antlrtree.txt b/grammar/testData/diagnostics/controlStructures/breakContinueInCrossInlineLambda.antlrtree.txt
new file mode 100644
index 000000000..a04276364
--- /dev/null
+++ b/grammar/testData/diagnostics/controlStructures/breakContinueInCrossInlineLambda.antlrtree.txt
@@ -0,0 +1,312 @@
+File: breakContinueInCrossInlineLambda.kt - ce28b8d9c1f0af5fc8588ced72a396d2
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ INLINE("inline")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameterModifiers
+ parameterModifier
+ CROSSINLINE("crossinline")
+ parameter
+ simpleIdentifier
+ Identifier("block")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("block")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test1")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ label
+ simpleIdentifier
+ Identifier("L1")
+ AT_POST_WS("@ ")
+ loopStatement
+ whileStatement
+ WHILE("while")
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("true")
+ RPAREN(")")
+ controlStructureBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK_AT("break@L1")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE_AT("continue@L1")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ EOF("")
diff --git a/grammar/testData/diagnostics/controlStructures/breakContinueInNoInlineLambda.antlrtree.txt b/grammar/testData/diagnostics/controlStructures/breakContinueInNoInlineLambda.antlrtree.txt
new file mode 100644
index 000000000..93b9d00ed
--- /dev/null
+++ b/grammar/testData/diagnostics/controlStructures/breakContinueInNoInlineLambda.antlrtree.txt
@@ -0,0 +1,312 @@
+File: breakContinueInNoInlineLambda.kt - 72ec2254ad17fb44230108fef47fed80
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ INLINE("inline")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameterModifiers
+ parameterModifier
+ NOINLINE("noinline")
+ parameter
+ simpleIdentifier
+ Identifier("block")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("block")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test1")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ label
+ simpleIdentifier
+ Identifier("L1")
+ AT_POST_WS("@ ")
+ loopStatement
+ whileStatement
+ WHILE("while")
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("true")
+ RPAREN(")")
+ controlStructureBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK("break")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ BREAK_AT("break@L1")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE("continue")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ CONTINUE_AT("continue@L1")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ EOF("")
diff --git a/grammar/testData/diagnostics/controlStructures/kt30406.antlrtree.txt b/grammar/testData/diagnostics/controlStructures/kt30406.antlrtree.txt
index 908a8f672..8945493a2 100644
--- a/grammar/testData/diagnostics/controlStructures/kt30406.antlrtree.txt
+++ b/grammar/testData/diagnostics/controlStructures/kt30406.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt30406.kt - 2976aa9f515de9b712ec13f010bdb1f9
- NL("\n")
+File: kt30406.kt - af42af881c150f343f5220b1b04c378f
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/resolve/overloadConflicts/kt31758_compat.b.antlrtree.txt b/grammar/testData/diagnostics/coroutines/inlineSuspendTypealias.antlrtree.txt
similarity index 50%
rename from grammar/testData/diagnostics/resolve/overloadConflicts/kt31758_compat.b.antlrtree.txt
rename to grammar/testData/diagnostics/coroutines/inlineSuspendTypealias.antlrtree.txt
index d4c9e447f..01a51aef6 100644
--- a/grammar/testData/diagnostics/resolve/overloadConflicts/kt31758_compat.b.antlrtree.txt
+++ b/grammar/testData/diagnostics/coroutines/inlineSuspendTypealias.antlrtree.txt
@@ -1,30 +1,50 @@
-File: kt31758_compat.b.kt - f7d268a6a70ec1d51d610b4d89ac0b0d
+File: inlineSuspendTypealias.kt - 85c934aee35560bd7d816da1ea08a349
+ NL("\n")
+ NL("\n")
+ NL("\n")
packageHeader
- PACKAGE("package")
- identifier
- simpleIdentifier
- Identifier("b")
- semi
- NL("\n")
- NL("\n")
importList
topLevelObject
declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
+ typeAlias
+ TYPE_ALIAS("typealias")
+ simpleIdentifier
+ Identifier("Handler")
+ ASSIGNMENT("=")
+ type
+ typeModifiers
+ typeModifier
+ SUSPEND("suspend")
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RPAREN(")")
+ ARROW("->")
type
typeReference
userType
simpleUserType
simpleIdentifier
- Identifier("Any")
- RANGLE(">")
+ Identifier("Unit")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ SUSPEND("suspend")
+ modifier
+ functionModifier
+ INLINE("inline")
+ FUN("fun")
simpleIdentifier
Identifier("foo")
functionValueParameters
@@ -32,27 +52,14 @@ File: kt31758_compat.b.kt - f7d268a6a70ec1d51d610b4d89ac0b0d
functionValueParameter
parameter
simpleIdentifier
- Identifier("arg")
+ Identifier("handler")
COLON(":")
type
- functionType
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- DOT(".")
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Handler")
RPAREN(")")
functionBody
ASSIGNMENT("=")
@@ -72,9 +79,6 @@ File: kt31758_compat.b.kt - f7d268a6a70ec1d51d610b4d89ac0b0d
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- literalConstant
- IntegerLiteral("2")
- semis
- NL("\n")
- NL("\n")
+ simpleIdentifier
+ Identifier("Unit")
EOF("")
diff --git a/grammar/testData/diagnostics/dataClasses/companionDataObject.antlrtree.txt b/grammar/testData/diagnostics/dataClasses/companionDataObject.antlrtree.txt
new file mode 100644
index 000000000..5d889e4e9
--- /dev/null
+++ b/grammar/testData/diagnostics/dataClasses/companionDataObject.antlrtree.txt
@@ -0,0 +1,29 @@
+File: companionDataObject.kt - 6833734e6e9e0d70e291fb8c83df6c2e
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("C")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ companionObject
+ COMPANION("companion")
+ DATA("data")
+ OBJECT("object")
+ simpleIdentifier
+ Identifier("Object")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/dataClasses/dataObject.antlrtree.txt b/grammar/testData/diagnostics/dataClasses/dataObject.antlrtree.txt
deleted file mode 100644
index 80798dfde..000000000
--- a/grammar/testData/diagnostics/dataClasses/dataObject.antlrtree.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-File: dataObject.kt - c4976cc27afaa524cbac22714b17cbb3 (WITH_ERRORS)
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- objectDeclaration
- modifiers
- modifier
- classModifier
- DATA("data")
- OBJECT("object")
- simpleIdentifier
- Identifier("Object")
- LPAREN("(")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/dataClasses/dataObjectDisabled.antlrtree.txt b/grammar/testData/diagnostics/dataClasses/dataObjectDisabled.antlrtree.txt
new file mode 100644
index 000000000..278944064
--- /dev/null
+++ b/grammar/testData/diagnostics/dataClasses/dataObjectDisabled.antlrtree.txt
@@ -0,0 +1,17 @@
+File: dataObjectDisabled.kt - c632c6755e85af8f8014bd113c5cb7e1
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ objectDeclaration
+ modifiers
+ modifier
+ classModifier
+ DATA("data")
+ OBJECT("object")
+ simpleIdentifier
+ Identifier("Object")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/dataClasses/dataObjectEnabled.antlrtree.txt b/grammar/testData/diagnostics/dataClasses/dataObjectEnabled.antlrtree.txt
new file mode 100644
index 000000000..13ac30baf
--- /dev/null
+++ b/grammar/testData/diagnostics/dataClasses/dataObjectEnabled.antlrtree.txt
@@ -0,0 +1,18 @@
+File: dataObjectEnabled.kt - ddc17262de0db54c9c1be8fe6c541f3e
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ objectDeclaration
+ modifiers
+ modifier
+ classModifier
+ DATA("data")
+ OBJECT("object")
+ simpleIdentifier
+ Identifier("Object")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/dataClasses/dataObjectLiteral.antlrtree.txt b/grammar/testData/diagnostics/dataClasses/dataObjectLiteral.antlrtree.txt
new file mode 100644
index 000000000..be172d23a
--- /dev/null
+++ b/grammar/testData/diagnostics/dataClasses/dataObjectLiteral.antlrtree.txt
@@ -0,0 +1,93 @@
+File: dataObjectLiteral.kt - d0c18ce2725cfe8be090356a1b9cc399
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("I")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("o")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ objectLiteral
+ DATA("data")
+ OBJECT("object")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("I")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/dataClasses/strange.antlrtree.txt b/grammar/testData/diagnostics/dataClasses/strange.antlrtree.txt
index a772ecb60..f26a8975a 100644
--- a/grammar/testData/diagnostics/dataClasses/strange.antlrtree.txt
+++ b/grammar/testData/diagnostics/dataClasses/strange.antlrtree.txt
@@ -1,4 +1,7 @@
-File: strange.kt - 447f1312fec4cda59968d246ec12bc09
+File: strange.kt - b727f060c8440aed91c617d441ca5c07
+ NL("\n")
+ NL("\n")
+ NL("\n")
packageHeader
importList
topLevelObject
@@ -144,4 +147,6 @@ File: strange.kt - 447f1312fec4cda59968d246ec12bc09
simpleIdentifier
Identifier("Int")
RPAREN(")")
+ semis
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/dataObjects/overrideEqualsAndHashCode.antlrtree.txt b/grammar/testData/diagnostics/dataObjects/overrideEqualsAndHashCode.antlrtree.txt
new file mode 100644
index 000000000..8247eae18
--- /dev/null
+++ b/grammar/testData/diagnostics/dataObjects/overrideEqualsAndHashCode.antlrtree.txt
@@ -0,0 +1,825 @@
+File: overrideEqualsAndHashCode.kt - 92c0c5b10f561ea579d78dc4f7da5d62
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ objectDeclaration
+ modifiers
+ modifier
+ classModifier
+ DATA("data")
+ OBJECT("object")
+ simpleIdentifier
+ Identifier("Override")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("equals")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("other")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("true")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("hashCode")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ OPEN("open")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Base")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ OPEN("open")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("hashCode")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("x")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ objectDeclaration
+ modifiers
+ modifier
+ classModifier
+ DATA("data")
+ OBJECT("object")
+ simpleIdentifier
+ Identifier("NoOverride")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Base")
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("equals")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("other")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("tag")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("true")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("hashCode")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ PARAM("param")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("hashCode")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("x")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ additiveOperator
+ ADD("+")
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ OPEN("open")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Super")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("equals")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("other")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ superExpression
+ SUPER("super")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("equals")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("other")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("hashCode")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ objectDeclaration
+ modifiers
+ modifier
+ classModifier
+ DATA("data")
+ OBJECT("object")
+ simpleIdentifier
+ Identifier("OverridenInSuper")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Super")
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("equals")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("other")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ superExpression
+ SUPER("super")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("equals")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("other")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/delegatedProperty/backingField.antlrtree.txt b/grammar/testData/diagnostics/delegatedProperty/backingField.antlrtree.txt
index 869683e93..c6b5e4a91 100644
--- a/grammar/testData/diagnostics/delegatedProperty/backingField.antlrtree.txt
+++ b/grammar/testData/diagnostics/delegatedProperty/backingField.antlrtree.txt
@@ -79,24 +79,11 @@ File: backingField.kt - 1ceb121d76a832b1b694e95c6afdd817 (WITH_ERRORS)
functionBody
ASSIGNMENT("=")
FieldIdentifier("$a")
- NL("\n")
- RCURL("}")
- NL("\n")
- NL("\n")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
+ semis
+ NL("\n")
+ RCURL("}")
+ NL("\n")
+ NL("\n")
topLevelObject
declaration
classDeclaration
diff --git a/grammar/testData/diagnostics/delegatedProperty/inference/callableReferenceArgumentInDelegatedExpression.antlrtree.txt b/grammar/testData/diagnostics/delegatedProperty/inference/callableReferenceArgumentInDelegatedExpression.antlrtree.txt
index e3d5f1bfb..eb16ec0a2 100644
--- a/grammar/testData/diagnostics/delegatedProperty/inference/callableReferenceArgumentInDelegatedExpression.antlrtree.txt
+++ b/grammar/testData/diagnostics/delegatedProperty/inference/callableReferenceArgumentInDelegatedExpression.antlrtree.txt
@@ -1,5 +1,4 @@
-File: callableReferenceArgumentInDelegatedExpression.kt - 995d900cdc961a761d18411af7e0956b
- NL("\n")
+File: callableReferenceArgumentInDelegatedExpression.kt - 580cd01121ba7ae474c8c270912f70be
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/delegatedProperty/inference/delegatedExpressionWithLabeledReturnInsideLambda.antlrtree.txt b/grammar/testData/diagnostics/delegatedProperty/inference/delegatedExpressionWithLabeledReturnInsideLambda.antlrtree.txt
index 94029fe3b..7ae3313af 100644
--- a/grammar/testData/diagnostics/delegatedProperty/inference/delegatedExpressionWithLabeledReturnInsideLambda.antlrtree.txt
+++ b/grammar/testData/diagnostics/delegatedProperty/inference/delegatedExpressionWithLabeledReturnInsideLambda.antlrtree.txt
@@ -1,5 +1,4 @@
-File: delegatedExpressionWithLabeledReturnInsideLambda.kt - a169d49616a91cd5ceedfe5de5100fad
- NL("\n")
+File: delegatedExpressionWithLabeledReturnInsideLambda.kt - dfaed867b48333e2a4af0dd20b72bccc
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/delegatedProperty/provideDelegate/overloadResolutionForSeveralProvideDelegates.antlrtree.txt b/grammar/testData/diagnostics/delegatedProperty/provideDelegate/overloadResolutionForSeveralProvideDelegates.antlrtree.txt
index 10c384119..e8345ba33 100644
--- a/grammar/testData/diagnostics/delegatedProperty/provideDelegate/overloadResolutionForSeveralProvideDelegates.antlrtree.txt
+++ b/grammar/testData/diagnostics/delegatedProperty/provideDelegate/overloadResolutionForSeveralProvideDelegates.antlrtree.txt
@@ -1,5 +1,4 @@
-File: overloadResolutionForSeveralProvideDelegates.kt - 68aeeaab38d479a6e3d76b3a5de14f63
- NL("\n")
+File: overloadResolutionForSeveralProvideDelegates.kt - 8885573dc4dc9ec75796010c68faae28
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/delegatedProperty/provideDelegate/unsupportedOperatorProvideDelegate.antlrtree.txt b/grammar/testData/diagnostics/delegatedProperty/provideDelegate/unsupportedOperatorProvideDelegate.antlrtree.txt
deleted file mode 100644
index ee5aa4fa8..000000000
--- a/grammar/testData/diagnostics/delegatedProperty/provideDelegate/unsupportedOperatorProvideDelegate.antlrtree.txt
+++ /dev/null
@@ -1,385 +0,0 @@
-File: unsupportedOperatorProvideDelegate.kt - 1412269f97e4f0931227eb65e7832b99
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("WrongDelegate")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("getValue")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("thisRef")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("prop")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- DOT(".")
- simpleIdentifier
- Identifier("provideDelegate")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("thisRef")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("prop")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("WrongDelegate")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("this")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- DOT(".")
- simpleIdentifier
- Identifier("getValue")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("thisRef")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("prop")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- thisExpression
- THIS("this")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test1")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- propertyDelegate
- BY("by")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- propertyDelegate
- BY("by")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test3")
- propertyDelegate
- BY("by")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- NL("\n")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/delegatedProperty/useTypeParameterOfExtensionProperty2.antlrtree.txt b/grammar/testData/diagnostics/delegatedProperty/useTypeParameterOfExtensionProperty2.antlrtree.txt
new file mode 100644
index 000000000..9add9015e
--- /dev/null
+++ b/grammar/testData/diagnostics/delegatedProperty/useTypeParameterOfExtensionProperty2.antlrtree.txt
@@ -0,0 +1,1040 @@
+File: useTypeParameterOfExtensionProperty2.kt - 8203e263401aed558b84b973383f1746
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ importHeader
+ IMPORT("import")
+ identifier
+ simpleIdentifier
+ Identifier("kotlin")
+ DOT(".")
+ simpleIdentifier
+ Identifier("reflect")
+ DOT(".")
+ simpleIdentifier
+ Identifier("KProperty")
+ semi
+ NL("\n")
+ importHeader
+ IMPORT("import")
+ identifier
+ simpleIdentifier
+ Identifier("kotlin")
+ DOT(".")
+ simpleIdentifier
+ Identifier("properties")
+ DOT(".")
+ simpleIdentifier
+ Identifier("ReadOnlyProperty")
+ semi
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ COMMA(",")
+ typeParameter
+ simpleIdentifier
+ Identifier("V")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("logged")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("getter")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("V")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ NL("\n")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("ReadOnlyProperty")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ COMMA(",")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("V")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("thisRef")
+ COMMA(",")
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ PROPERTY("property")
+ ARROW("->")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("println")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("Getter for ")
+ lineStringContent
+ LineStrRef("$property")
+ lineStringContent
+ LineStrText(" is invoked")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("getter")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("thisRef")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ DOT(".")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("second")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ propertyDelegate
+ BY("by")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("logged")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ indexingSuffix
+ LSQUARE("[")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RSQUARE("]")
+ RCURL("}")
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Delegate")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ modifiers
+ modifier
+ visibilityModifier
+ PRIVATE("private")
+ VAL("val")
+ simpleIdentifier
+ Identifier("fn")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RPAREN(")")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ propertyDeclaration
+ modifiers
+ modifier
+ visibilityModifier
+ PRIVATE("private")
+ VAR("var")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("cache")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ quest
+ QUEST_WS("? ")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ NullLiteral("null")
+ NL("\n")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ OPERATOR("operator")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("getValue")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("thisRef")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("kProperty")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("KProperty")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ MULT("*")
+ RANGLE(">")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ NL("\n")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("cache")
+ elvis
+ QUEST_NO_WS("?")
+ COLON(":")
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("fn")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("thisRef")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("also")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ assignment
+ directlyAssignableExpression
+ simpleIdentifier
+ Identifier("cache")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ DOT(".")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("leakingT")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ propertyDelegate
+ BY("by")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("Delegate")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ indexingSuffix
+ LSQUARE("[")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RSQUARE("]")
+ RCURL("}")
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("main")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("println")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("listOf")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("xx")
+ QUOTE_CLOSE(""")
+ COMMA(",")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("yy")
+ QUOTE_CLOSE(""")
+ COMMA(",")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("zz")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("leakingT")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("a")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("arrayListOf")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ COMMA(",")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("2")
+ COMMA(",")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("3")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("leakingT")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("println")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/deprecated/deprecatedInheritance.antlrtree.txt b/grammar/testData/diagnostics/deprecated/deprecatedInheritance.antlrtree.txt
deleted file mode 100644
index 869df647f..000000000
--- a/grammar/testData/diagnostics/deprecated/deprecatedInheritance.antlrtree.txt
+++ /dev/null
@@ -1,2024 +0,0 @@
-File: deprecatedInheritance.kt - fb5d417f2f4b30cff77dc5fd4f5f673e
- packageHeader
- PACKAGE("package")
- identifier
- simpleIdentifier
- Identifier("foo")
- semi
- NL("\n")
- NL("\n")
- importList
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("WarningDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("level")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("DeprecationLevel")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("WARNING")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("ErrorDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("level")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("DeprecationLevel")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("ERROR")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("HiddenDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("level")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("DeprecationLevel")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("HIDDEN")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("NotDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("WE")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WarningDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("WH")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WarningDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HiddenDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("EH")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HiddenDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("NW")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WarningDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NotDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("NE")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NotDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("NH")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HiddenDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NotDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("WEH")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WarningDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HiddenDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("NWEH")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NotDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WarningDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HiddenDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("WE2")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WE")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("NWE2")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WE")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NotDeprecated")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("NWE3")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WE")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NotDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("E2")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("W2")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WarningDeprecated")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("EW2")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("E2")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("W2")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("HEW2")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("EW2")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HiddenDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("ExplicitError")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HEW2")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("level")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("DeprecationLevel")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("ERROR")
- RPAREN(")")
- NL("\n")
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("use")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("wd")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WarningDeprecated")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("ed")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("hd")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HiddenDeprecated")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("we")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WE")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("wh")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WH")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("eh")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("EH")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("nw")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NW")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("ne")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NE")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("nh")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NH")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("weh")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WEH")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("nweh")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NWEH")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("we2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WE2")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("nwe2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NWE2")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("nwe3")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NWE3")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("e2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("E2")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("w2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("W2")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("ew2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("EW2")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("hew2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HEW2")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("explicitError")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ExplicitError")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("wd")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ed")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("hd")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("we")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("wh")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("eh")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("nw")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ne")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("nh")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("weh")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("nweh")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("we2")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("nwe2")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("nwe3")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("e2")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("w2")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ew2")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("hew2")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("explicitError")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/deprecated/deprecatedPropertyInheritance.antlrtree.txt b/grammar/testData/diagnostics/deprecated/deprecatedPropertyInheritance.antlrtree.txt
deleted file mode 100644
index 27972adc2..000000000
--- a/grammar/testData/diagnostics/deprecated/deprecatedPropertyInheritance.antlrtree.txt
+++ /dev/null
@@ -1,2420 +0,0 @@
-File: deprecatedPropertyInheritance.kt - e5102dc957b03937cc1c239a1fb68a80
- packageHeader
- PACKAGE("package")
- identifier
- simpleIdentifier
- Identifier("foo")
- semi
- NL("\n")
- NL("\n")
- importList
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("HiddenDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("level")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("DeprecationLevel")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("HIDDEN")
- RPAREN(")")
- NL("\n")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("NoDeprecation")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("WarningDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("level")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("DeprecationLevel")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("WARNING")
- RPAREN(")")
- NL("\n")
- modifier
- inheritanceModifier
- OPEN("open")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("ErrorDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("level")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("DeprecationLevel")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("ERROR")
- RPAREN(")")
- NL("\n")
- modifier
- inheritanceModifier
- OPEN("open")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("GetterDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- getter
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- GET("get")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("SetterDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- setter
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- SET("set")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("WD")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WarningDeprecated")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("ED")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("GD")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("GetterDeprecated")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("SD")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SetterDeprecated")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("SDH")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SetterDeprecated")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HiddenDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("EDH")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HiddenDeprecated")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("NED")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NoDeprecation")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Diff")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("level")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("DeprecationLevel")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("WARNING")
- RPAREN(")")
- NL("\n")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("level")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("DeprecationLevel")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("ERROR")
- RPAREN(")")
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- setter
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Deprecated")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("level")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("DeprecationLevel")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("HIDDEN")
- RPAREN(")")
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("use")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("warningDeprecated")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WarningDeprecated")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("errorDeprecated")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ErrorDeprecated")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("setterDeprecated")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SetterDeprecated")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("getterDeprecated")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("GetterDeprecated")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("hiddenDeprecated")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HiddenDeprecated")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("wd")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("WD")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("ed")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ED")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("gd")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("GD")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("sd")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SD")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("sdh")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SDH")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("edh")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("EDH")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("ned")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NED")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("diff")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Diff")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("warningDeprecated")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("warningDeprecated")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("errorDeprecated")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("errorDeprecated")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("getterDeprecated")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("getterDeprecated")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("setterDeprecated")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("setterDeprecated")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("hiddenDeprecated")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("hiddenDeprecated")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("wd")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("wd")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ed")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ed")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("gd")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("gd")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("sd")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("sd")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("sdh")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("sdh")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("edh")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("edh")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ned")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ned")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("diff")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("diff")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("p")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/enum/declaringClass.antlrtree.txt b/grammar/testData/diagnostics/enum/declaringClass.antlrtree.txt
index ea607a6ad..63283d2d1 100644
--- a/grammar/testData/diagnostics/enum/declaringClass.antlrtree.txt
+++ b/grammar/testData/diagnostics/enum/declaringClass.antlrtree.txt
@@ -1,4 +1,4 @@
-File: declaringClass.kt - 4ded203a62d4c4187dfa08fc0565274f
+File: declaringClass.kt - 9c38a4533e70f3b441b5026fbcaa93d0
NL("\n")
NL("\n")
NL("\n")
@@ -18,6 +18,77 @@ File: declaringClass.kt - 4ded203a62d4c4187dfa08fc0565274f
semi
NL("\n")
NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ classModifier
+ ENUM("enum")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("SomeEnum")
+ enumClassBody
+ LCURL("{")
+ enumEntries
+ enumEntry
+ simpleIdentifier
+ Identifier("A")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("bar")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("SomeEnum")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("A")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("declaringClass")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
topLevelObject
declaration
functionDeclaration
diff --git a/grammar/testData/diagnostics/UnusedParametersVersion10.antlrtree.txt b/grammar/testData/diagnostics/enum/enumEntriesAmbiguity.antlrtree.txt
similarity index 51%
rename from grammar/testData/diagnostics/UnusedParametersVersion10.antlrtree.txt
rename to grammar/testData/diagnostics/enum/enumEntriesAmbiguity.antlrtree.txt
index d44ba8d1c..978102338 100644
--- a/grammar/testData/diagnostics/UnusedParametersVersion10.antlrtree.txt
+++ b/grammar/testData/diagnostics/enum/enumEntriesAmbiguity.antlrtree.txt
@@ -1,16 +1,45 @@
-File: UnusedParametersVersion10.kt - 47c71665640c5109df5a65ecad97c4b8
+File: enumEntriesAmbiguity.kt - 17540ad8dc654e58ddc8279dfd9d29d9
+ NL("\n")
NL("\n")
NL("\n")
NL("\n")
packageHeader
importList
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ classModifier
+ ENUM("enum")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Ambiguous")
+ enumClassBody
+ LCURL("{")
+ NL("\n")
+ enumEntries
+ enumEntry
+ simpleIdentifier
+ Identifier("first")
+ COMMA(",")
+ enumEntry
+ simpleIdentifier
+ Identifier("entries")
+ SEMICOLON(";")
+ NL("\n")
+ classMemberDeclarations
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
topLevelObject
declaration
propertyDeclaration
VAL("val")
variableDeclaration
simpleIdentifier
- Identifier("x")
+ Identifier("e")
ASSIGNMENT("=")
expression
disjunction
@@ -28,27 +57,13 @@ File: UnusedParametersVersion10.kt - 47c71665640c5109df5a65ecad97c4b8
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- literalConstant
- IntegerLiteral("1")
+ simpleIdentifier
+ Identifier("Ambiguous")
postfixUnarySuffix
navigationSuffix
memberAccessOperator
DOT(".")
simpleIdentifier
- Identifier("let")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- lambdaParameters
- lambdaParameter
- variableDeclaration
- simpleIdentifier
- Identifier("arg")
- ARROW("->")
- statements
- RCURL("}")
- semis
- EOF("")
+ Identifier("entries")
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/explicitDefinitelyNotNullableViaIntersection/bareTypes.antlrtree.txt b/grammar/testData/diagnostics/explicitDefinitelyNotNullableViaIntersection/bareTypes.antlrtree.txt
index d8fd53856..4d544f3dd 100644
--- a/grammar/testData/diagnostics/explicitDefinitelyNotNullableViaIntersection/bareTypes.antlrtree.txt
+++ b/grammar/testData/diagnostics/explicitDefinitelyNotNullableViaIntersection/bareTypes.antlrtree.txt
@@ -1,4 +1,5 @@
-File: bareTypes.kt - 8721d3e3d50dcb919a594c195b06a900
+File: bareTypes.kt - 1f4d6def735e09b78d4fe76448856506
+ NL("\n")
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/expressionAfterTypeReference/allowExpressionAfterTypeReference.diff b/grammar/testData/diagnostics/expressionAfterTypeReference/allowExpressionAfterTypeReference.diff
new file mode 100644
index 000000000..77e502855
--- /dev/null
+++ b/grammar/testData/diagnostics/expressionAfterTypeReference/allowExpressionAfterTypeReference.diff
@@ -0,0 +1 @@
+Needs handling of '>=' as two separate tokens
\ No newline at end of file
diff --git a/grammar/testData/diagnostics/expressionAfterTypeReference/forbidExpressionAfterTypeReference.diff b/grammar/testData/diagnostics/expressionAfterTypeReference/forbidExpressionAfterTypeReference.diff
new file mode 100644
index 000000000..77e502855
--- /dev/null
+++ b/grammar/testData/diagnostics/expressionAfterTypeReference/forbidExpressionAfterTypeReference.diff
@@ -0,0 +1 @@
+Needs handling of '>=' as two separate tokens
\ No newline at end of file
diff --git a/grammar/testData/diagnostics/funInterface/basicFunInterfaceConversion.antlrtree.txt b/grammar/testData/diagnostics/funInterface/basicFunInterfaceConversion.antlrtree.txt
index be294391f..0498bcf3c 100644
--- a/grammar/testData/diagnostics/funInterface/basicFunInterfaceConversion.antlrtree.txt
+++ b/grammar/testData/diagnostics/funInterface/basicFunInterfaceConversion.antlrtree.txt
@@ -1,4 +1,4 @@
-File: basicFunInterfaceConversion.kt - d61e77c1f8b4e535cb0eb1af17bf3a6f
+File: basicFunInterfaceConversion.kt - 29bd197d4c768e20c5f6b7a30501c9f4
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/funInterface/funInterfaceSyntheticConstructors.antlrtree.txt b/grammar/testData/diagnostics/funInterface/funInterfaceSyntheticConstructors.antlrtree.txt
index 3767d8d62..1df0e661b 100644
--- a/grammar/testData/diagnostics/funInterface/funInterfaceSyntheticConstructors.antlrtree.txt
+++ b/grammar/testData/diagnostics/funInterface/funInterfaceSyntheticConstructors.antlrtree.txt
@@ -1,4 +1,4 @@
-File: funInterfaceSyntheticConstructors.kt - 166d8953810ad8018a61a6af83e50be0
+File: funInterfaceSyntheticConstructors.kt - f392b8890e1a7b059d7a6ec81249ed57
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/funInterface/funIsNotInheritedFromBaseInterface.antlrtree.txt b/grammar/testData/diagnostics/funInterface/funIsNotInheritedFromBaseInterface.antlrtree.txt
index 1179326cb..e08b069b4 100644
--- a/grammar/testData/diagnostics/funInterface/funIsNotInheritedFromBaseInterface.antlrtree.txt
+++ b/grammar/testData/diagnostics/funInterface/funIsNotInheritedFromBaseInterface.antlrtree.txt
@@ -1,4 +1,4 @@
-File: funIsNotInheritedFromBaseInterface.kt - 5ce086c013c92961093ae2b0d82ed83d
+File: funIsNotInheritedFromBaseInterface.kt - dfb132d63ed11a3685322fbb510090fe
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/funInterface/genericSubstitutionForFunInterface.antlrtree.txt b/grammar/testData/diagnostics/funInterface/genericSubstitutionForFunInterface.antlrtree.txt
index f7d2e7a01..edbefb6f5 100644
--- a/grammar/testData/diagnostics/funInterface/genericSubstitutionForFunInterface.antlrtree.txt
+++ b/grammar/testData/diagnostics/funInterface/genericSubstitutionForFunInterface.antlrtree.txt
@@ -1,4 +1,4 @@
-File: genericSubstitutionForFunInterface.kt - a971b7c0577e6f007e83d1e78304f303
+File: genericSubstitutionForFunInterface.kt - 7340f471df1f07936661938a9c9dca3d
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/funInterface/prohibitFunInterfaceConstructorReferences.antlrtree.txt b/grammar/testData/diagnostics/funInterface/prohibitFunInterfaceConstructorReferences.antlrtree.txt
deleted file mode 100644
index 2ffc06a1e..000000000
--- a/grammar/testData/diagnostics/funInterface/prohibitFunInterfaceConstructorReferences.antlrtree.txt
+++ /dev/null
@@ -1,123 +0,0 @@
-File: prohibitFunInterfaceConstructorReferences.kt - db052b25ab50feedacb21c8b49800bc2
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- FUN("fun")
- INTERFACE("interface")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("Foo")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("y")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Foo")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("z")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("Runnable")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/funInterface/suspendFunInterfaceConversion.antlrtree.txt b/grammar/testData/diagnostics/funInterface/suspendFunInterfaceConversion.antlrtree.txt
index 3fe0fb367..bc5828404 100644
--- a/grammar/testData/diagnostics/funInterface/suspendFunInterfaceConversion.antlrtree.txt
+++ b/grammar/testData/diagnostics/funInterface/suspendFunInterfaceConversion.antlrtree.txt
@@ -1,4 +1,4 @@
-File: suspendFunInterfaceConversion.kt - 480f66ec04719f259063721128997e69
+File: suspendFunInterfaceConversion.kt - 9b84e750a7ad55cdd729aa7f5df1dfae
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/functionLiterals/destructuringInLambdas/unsupportedFeature.antlrtree.txt b/grammar/testData/diagnostics/functionLiterals/destructuringInLambdas/unsupportedFeature.antlrtree.txt
deleted file mode 100644
index b8da0fbb7..000000000
--- a/grammar/testData/diagnostics/functionLiterals/destructuringInLambdas/unsupportedFeature.antlrtree.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-File: unsupportedFeature.kt - 4ef819087f47283c80e91204d0cd2433
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("block")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("bar")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- lambdaParameters
- lambdaParameter
- multiVariableDeclaration
- LPAREN("(")
- variableDeclaration
- simpleIdentifier
- Identifier("a")
- COMMA(",")
- variableDeclaration
- simpleIdentifier
- Identifier("b")
- RPAREN(")")
- ARROW("->")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/functionLiterals/prematurelyAnalyzingLambdaWhileFixingTypeVariableForAnotherArgument.antlrtree.txt b/grammar/testData/diagnostics/functionLiterals/prematurelyAnalyzingLambdaWhileFixingTypeVariableForAnotherArgument.antlrtree.txt
index b419ef8ec..9b176384b 100644
--- a/grammar/testData/diagnostics/functionLiterals/prematurelyAnalyzingLambdaWhileFixingTypeVariableForAnotherArgument.antlrtree.txt
+++ b/grammar/testData/diagnostics/functionLiterals/prematurelyAnalyzingLambdaWhileFixingTypeVariableForAnotherArgument.antlrtree.txt
@@ -1,5 +1,4 @@
-File: prematurelyAnalyzingLambdaWhileFixingTypeVariableForAnotherArgument.kt - a135f97a25de5c3745b643b07ab58e3e
- NL("\n")
+File: prematurelyAnalyzingLambdaWhileFixingTypeVariableForAnotherArgument.kt - 9243d3eb515e1cb66027b1dbf4450279
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/generics/bareTypesWithStarProjections.antlrtree.txt b/grammar/testData/diagnostics/generics/bareTypesWithStarProjections.antlrtree.txt
index 285258ff3..0beee51d3 100644
--- a/grammar/testData/diagnostics/generics/bareTypesWithStarProjections.antlrtree.txt
+++ b/grammar/testData/diagnostics/generics/bareTypesWithStarProjections.antlrtree.txt
@@ -1,5 +1,4 @@
-File: bareTypesWithStarProjections.kt - 7621e937985ac04ea26e7906c78f3ebe
- NL("\n")
+File: bareTypesWithStarProjections.kt - b4e00a8177871c124bccc1b2881ccd34
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/generics/capturedParameters/captured.antlrtree.txt b/grammar/testData/diagnostics/generics/capturedParameters/captured.antlrtree.txt
index c92dfb5f9..1c63c8b2a 100644
--- a/grammar/testData/diagnostics/generics/capturedParameters/captured.antlrtree.txt
+++ b/grammar/testData/diagnostics/generics/capturedParameters/captured.antlrtree.txt
@@ -1,5 +1,4 @@
-File: captured.kt - 3cb5ab76f9abb3588f6cae98a47be938
- NL("\n")
+File: captured.kt - 9cbb256e627f112867863a811d55e95c
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/generics/kt34729.antlrtree.txt b/grammar/testData/diagnostics/generics/kt34729.antlrtree.txt
index 0eca00e64..7250fc851 100644
--- a/grammar/testData/diagnostics/generics/kt34729.antlrtree.txt
+++ b/grammar/testData/diagnostics/generics/kt34729.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt34729.kt - d667d8a4d288fa33199de543bbf11c5f
- NL("\n")
+File: kt34729.kt - 33db2f80217447944d64cd73e1d84942
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/generics/kt53656.antlrtree.txt b/grammar/testData/diagnostics/generics/kt53656.antlrtree.txt
new file mode 100644
index 000000000..fa112c628
--- /dev/null
+++ b/grammar/testData/diagnostics/generics/kt53656.antlrtree.txt
@@ -0,0 +1,710 @@
+File: kt53656.kt - 59076d52855cfe87caff5fcfe5aff0f6
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("One")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("E")
+ COMMA(",")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("E")
+ typeConstraints
+ WHERE("where")
+ typeConstraint
+ simpleIdentifier
+ Identifier("E")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Number")
+ COMMA(",")
+ typeConstraint
+ simpleIdentifier
+ Identifier("E")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("One")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ COMMA(",")
+ typeConstraint
+ simpleIdentifier
+ Identifier("R")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("One")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("E")
+ RANGLE(">")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ NullLiteral("null")
+ postfixUnarySuffix
+ postfixUnaryOperator
+ EXCL_NO_WS("!")
+ excl
+ EXCL_NO_WS("!")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("Entity")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ ABSTRACT("abstract")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("SecuredEntity")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ typeParameterModifiers
+ typeParameterModifier
+ varianceModifier
+ OUT("out")
+ simpleIdentifier
+ Identifier("E")
+ RANGLE(">")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ VAL("val")
+ simpleIdentifier
+ Identifier("entity")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("E")
+ RPAREN(")")
+ typeConstraints
+ WHERE("where")
+ typeConstraint
+ simpleIdentifier
+ Identifier("E")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Entity")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ COMMA(",")
+ typeConstraint
+ simpleIdentifier
+ Identifier("E")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SecurityCodeAware")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ MULT("*")
+ COMMA(",")
+ typeProjection
+ MULT("*")
+ RANGLE(">")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("SecurityCodeAware")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ typeParameterModifiers
+ typeParameterModifier
+ varianceModifier
+ OUT("out")
+ simpleIdentifier
+ Identifier("E")
+ COMMA(",")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SecuredEntity")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("E")
+ RANGLE(">")
+ RANGLE(">")
+ typeConstraints
+ WHERE("where")
+ typeConstraint
+ simpleIdentifier
+ Identifier("E")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Entity")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ COMMA(",")
+ typeConstraint
+ simpleIdentifier
+ Identifier("E")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SecurityCodeAware")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("E")
+ COMMA(",")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("E")
+ COMMA(",")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SecuredEntity")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("E")
+ RANGLE(">")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SecurityCodeAware")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("E")
+ COMMA(",")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("secured")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ typeConstraints
+ WHERE("where")
+ typeConstraint
+ simpleIdentifier
+ Identifier("E")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Entity")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ COMMA(",")
+ typeConstraint
+ simpleIdentifier
+ Identifier("E")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SecurityCodeAware")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("E")
+ COMMA(",")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("this")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ typeTest
+ isOperator
+ IS("is")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Order")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("SecuredOrder")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("this")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ ELSE("else")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ NullLiteral("null")
+ postfixUnarySuffix
+ postfixUnaryOperator
+ EXCL_NO_WS("!")
+ excl
+ EXCL_NO_WS("!")
+ semi
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Order")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Entity")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("SecuredOrder")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ simpleIdentifier
+ Identifier("order")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Order")
+ RPAREN(")")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("SecuredEntity")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Order")
+ RANGLE(">")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("order")
+ RPAREN(")")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("main")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("securedOrder")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("Order")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("secured")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/generics/nullability/considerTypeNotNullOnlyIfItHasNotNullBound.antlrtree.txt b/grammar/testData/diagnostics/generics/nullability/considerTypeNotNullOnlyIfItHasNotNullBound.antlrtree.txt
index 5444e7cee..84d80544d 100644
--- a/grammar/testData/diagnostics/generics/nullability/considerTypeNotNullOnlyIfItHasNotNullBound.antlrtree.txt
+++ b/grammar/testData/diagnostics/generics/nullability/considerTypeNotNullOnlyIfItHasNotNullBound.antlrtree.txt
@@ -1,5 +1,4 @@
-File: considerTypeNotNullOnlyIfItHasNotNullBound.kt - f9113eb60b00b52e92581ab9d2d1b741
- NL("\n")
+File: considerTypeNotNullOnlyIfItHasNotNullBound.kt - b50c052c6abcf51fa9b6fcfca8090b30
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/generics/nullability/inferNotNullTypeFromIntersectionOfNullableTypes.antlrtree.txt b/grammar/testData/diagnostics/generics/nullability/inferNotNullTypeFromIntersectionOfNullableTypes.antlrtree.txt
index b3b567786..e36c5a646 100644
--- a/grammar/testData/diagnostics/generics/nullability/inferNotNullTypeFromIntersectionOfNullableTypes.antlrtree.txt
+++ b/grammar/testData/diagnostics/generics/nullability/inferNotNullTypeFromIntersectionOfNullableTypes.antlrtree.txt
@@ -1,5 +1,4 @@
-File: inferNotNullTypeFromIntersectionOfNullableTypes.kt - 36c80fd78892abd119329b2c33850d60
- NL("\n")
+File: inferNotNullTypeFromIntersectionOfNullableTypes.kt - a038a9df8ee42bef58919027941f9a03
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/generics/nullability/kt25182.antlrtree.txt b/grammar/testData/diagnostics/generics/nullability/kt25182.antlrtree.txt
index ece098c58..6b30091be 100644
--- a/grammar/testData/diagnostics/generics/nullability/kt25182.antlrtree.txt
+++ b/grammar/testData/diagnostics/generics/nullability/kt25182.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt25182.kt - 47d2170d972edaa07733f87ebc8b41b8
- NL("\n")
+File: kt25182.kt - 7759a64b4fe2e1749360e62262e4f98b
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/generics/nullability/notNullSmartcastOnIntersectionOfNullables.antlrtree.txt b/grammar/testData/diagnostics/generics/nullability/notNullSmartcastOnIntersectionOfNullables.antlrtree.txt
index 607e71a31..aa3aba35d 100644
--- a/grammar/testData/diagnostics/generics/nullability/notNullSmartcastOnIntersectionOfNullables.antlrtree.txt
+++ b/grammar/testData/diagnostics/generics/nullability/notNullSmartcastOnIntersectionOfNullables.antlrtree.txt
@@ -1,5 +1,4 @@
-File: notNullSmartcastOnIntersectionOfNullables.kt - 4d27a26549288730606c98d55d4e9e53
- NL("\n")
+File: notNullSmartcastOnIntersectionOfNullables.kt - 13ed1769862bd5c2d741adca321510e7
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/declarationAfterIncompleteElvis.antlrtree.txt b/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/declarationAfterIncompleteElvis.antlrtree.txt
index 7e0842fbe..042c3b505 100644
--- a/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/declarationAfterIncompleteElvis.antlrtree.txt
+++ b/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/declarationAfterIncompleteElvis.antlrtree.txt
@@ -230,13 +230,7 @@ File: declarationAfterIncompleteElvis.kt - 9c39d1c960594333a4032de8b4dfc112 (WIT
elvis
QUEST_NO_WS("?")
COLON(":")
- NL("\n")
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
+ NL("\n")
topLevelObject
declaration
propertyDeclaration
diff --git a/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/funEquals.antlrtree.txt b/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/funEquals.antlrtree.txt
index 582b8da8a..14a177ba9 100644
--- a/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/funEquals.antlrtree.txt
+++ b/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/funEquals.antlrtree.txt
@@ -13,19 +13,6 @@ File: funEquals.kt - 2fb0f054844cd26c7989d17a1329e3d3 (WITH_ERRORS)
RPAREN(")")
functionBody
ASSIGNMENT("=")
- NL("\n")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
+ semis
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/incompleteVal.antlrtree.txt b/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/incompleteVal.antlrtree.txt
index df3c2b181..4a2c75a1d 100644
--- a/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/incompleteVal.antlrtree.txt
+++ b/grammar/testData/diagnostics/incompleteCode/diagnosticWithSyntaxError/incompleteVal.antlrtree.txt
@@ -17,19 +17,6 @@ File: incompleteVal.kt - c289e77189a74a4320d4f5e12bc670ed (WITH_ERRORS)
simpleIdentifier
Identifier("i")
ASSIGNMENT("=")
- NL("\n")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
+ semis
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/incompleteCode/incompleteEquals.antlrtree.txt b/grammar/testData/diagnostics/incompleteCode/incompleteEquals.antlrtree.txt
index bcb505be7..78c68c3a0 100644
--- a/grammar/testData/diagnostics/incompleteCode/incompleteEquals.antlrtree.txt
+++ b/grammar/testData/diagnostics/incompleteCode/incompleteEquals.antlrtree.txt
@@ -50,15 +50,6 @@ File: incompleteEquals.kt - 128457813e0820d4033dc31d0ee6fdbf (WITH_ERRORS)
Identifier("a")
equalityOperator
EQEQ("==")
- NL("\n")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
+ semis
+ NL("\n")
EOF("")
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnUseSite.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/errorOnStubReceiver.antlrtree.txt
similarity index 52%
rename from grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnUseSite.antlrtree.txt
rename to grammar/testData/diagnostics/inference/builderInference/errorOnStubReceiver.antlrtree.txt
index f30805ebf..fa05d7ab5 100644
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnUseSite.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/builderInference/errorOnStubReceiver.antlrtree.txt
@@ -1,240 +1,376 @@
-File: functionsChainWithExpectedTypeOnUseSite.kt - 349f0237005787e7ab29a177f69ae179
+File: errorOnStubReceiver.kt - bd2ad30e99b97a5cdcff19e4be27b1b1
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
packageHeader
importList
topLevelObject
declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("bar")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- ARROW("->")
- type
- functionType
- functionTypeParameters
+ functionDeclaration
+ FUN("fun")
+ receiverType
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ DOT(".")
+ simpleIdentifier
+ Identifier("test")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Bar")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test")
+ functionValueParameters
LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
RPAREN(")")
- ARROW("->")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- ARROW("->")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- ARROW("->")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("a")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("b")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterModifiers
- parameterModifier
- VARARG("vararg")
- parameterWithOptionalType
- simpleIdentifier
- Identifier("c")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterModifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Anno")
- parameterWithOptionalType
- simpleIdentifier
- Identifier("d")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterModifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Anno")
- parameterModifier
- VARARG("vararg")
- parameterWithOptionalType
- simpleIdentifier
- Identifier("e")
- RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("main")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("Bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("test")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Bar")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("Bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("test")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/inference/builderInference/invalidateKeys.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/invalidateKeys.antlrtree.txt
new file mode 100644
index 000000000..2f2ff9851
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/builderInference/invalidateKeys.antlrtree.txt
@@ -0,0 +1,307 @@
+File: invalidateKeys.kt - 7c34c13cb9ea6c0cf41d3a1f8b193bac
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("libraryInfoCache")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("LibraryInfoCache")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ COMMA(",")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RANGLE(">")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("outdated")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RANGLE(">")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("droppedLibraryInfos")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("libraryInfoCache")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("invalidateKeys")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("outdated")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("flatMapTo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("hashSetOf")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ RCURL("}")
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("LibraryInfoCache")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("Key")
+ COMMA(",")
+ typeParameter
+ simpleIdentifier
+ Identifier("Value")
+ RANGLE(">")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("invalidateKeys")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("keys")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Collection")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Key")
+ RANGLE(">")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("validityCondition")
+ COLON(":")
+ type
+ nullableType
+ parenthesizedType
+ LPAREN("(")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Key")
+ COMMA(",")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Value")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ RPAREN(")")
+ quest
+ QUEST_WS("? ")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ NullLiteral("null")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/builderInference/kt48031.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/kt48031.antlrtree.txt
new file mode 100644
index 000000000..978f943ce
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/builderInference/kt48031.antlrtree.txt
@@ -0,0 +1,472 @@
+File: kt48031.kt - 6b4853e0a0161be352591ffd10cf0b28
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Flow")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ typeParameterModifiers
+ typeParameterModifier
+ varianceModifier
+ OUT("out")
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("OverloadResolutionByLambdaReturnType")
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("OptIn")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("kotlin")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("experimental")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("ExperimentalTypeInference")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("class")
+ RPAREN(")")
+ NL("\n")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Flow")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("debounce")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("timeoutMillis")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Long")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Flow")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("JvmName")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("debounceDuration")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("OptIn")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("kotlin")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("experimental")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("ExperimentalTypeInference")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("class")
+ RPAREN(")")
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("OverloadResolutionByLambdaReturnType")
+ NL("\n")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Flow")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("debounce")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("timeout")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Flow")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("invalidFlow")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("x")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Flow")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Flow")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("debounce")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ VALUE("value")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RCURL("}")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/builderInference/kt49828.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/kt49828.antlrtree.txt
index f6c73c7f8..b7ee172c8 100644
--- a/grammar/testData/diagnostics/inference/builderInference/kt49828.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/builderInference/kt49828.antlrtree.txt
@@ -1,9 +1,22 @@
-File: kt49828.kt - 3ad6764aa93cc541413ed2ac59e5556e
+File: kt49828.kt - 58bfd44686c8e240505c8f8e4dbd5b1c
NL("\n")
NL("\n")
NL("\n")
packageHeader
importList
+ importHeader
+ IMPORT("import")
+ identifier
+ simpleIdentifier
+ Identifier("kotlin")
+ DOT(".")
+ simpleIdentifier
+ Identifier("experimental")
+ DOT(".")
+ simpleIdentifier
+ Identifier("ExperimentalTypeInference")
+ semi
+ NL("\n")
topLevelObject
declaration
functionDeclaration
@@ -6089,10 +6102,48 @@ File: kt49828.kt - 3ad6764aa93cc541413ed2ac59e5556e
RCURL("}")
semis
NL("\n")
- NL("\n")
topLevelObject
declaration
functionDeclaration
+ modifiers
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("OptIn")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("ExperimentalTypeInference")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("class")
+ RPAREN(")")
+ NL("\n")
FUN("fun")
typeParameters
LANGLE("<")
@@ -6113,6 +6164,15 @@ File: kt49828.kt - 3ad6764aa93cc541413ed2ac59e5556e
functionValueParameters
LPAREN("(")
functionValueParameter
+ parameterModifiers
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("BuilderInference")
parameter
simpleIdentifier
Identifier("block")
@@ -6148,6 +6208,15 @@ File: kt49828.kt - 3ad6764aa93cc541413ed2ac59e5556e
Identifier("Unit")
COMMA(",")
functionValueParameter
+ parameterModifiers
+ annotation
+ singleAnnotation
+ AT_PRE_WS(" @")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("BuilderInference")
parameter
simpleIdentifier
Identifier("block2")
diff --git a/grammar/testData/diagnostics/inference/builderInference/kt53422.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/kt53422.antlrtree.txt
new file mode 100644
index 000000000..e4d3a7723
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/builderInference/kt53422.antlrtree.txt
@@ -0,0 +1,785 @@
+File: kt53422.kt - f6480bbede4994e5e785f704305e6256
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("flow")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("emit")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ RCURL("}")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("collect")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("F")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("bar")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("F")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("block")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Scope")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("F")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("F")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("OptIn")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("kotlin")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("experimental")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("ExperimentalTypeInference")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("class")
+ RPAREN(")")
+ NL("\n")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("W")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("flow")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameterModifiers
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("BuilderInference")
+ parameter
+ simpleIdentifier
+ Identifier("block")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FlowCollector")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("W")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Flow")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("W")
+ RANGLE(">")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("collector")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("FlowCollectorImpl")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("W")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("collector")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("block")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ objectLiteral
+ OBJECT("object")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Flow")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("W")
+ RANGLE(">")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("collect")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("collector")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FlowCollector")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("W")
+ RANGLE(">")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Scope")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("S")
+ RANGLE(">")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("Flow")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ typeParameterModifiers
+ typeParameterModifier
+ varianceModifier
+ OUT("out")
+ simpleIdentifier
+ Identifier("O")
+ RANGLE(">")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("collect")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("collector")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FlowCollector")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("O")
+ RANGLE(">")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ FUN("fun")
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("FlowCollector")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ typeParameterModifiers
+ typeParameterModifier
+ varianceModifier
+ IN("in")
+ simpleIdentifier
+ Identifier("I")
+ RANGLE(">")
+ classBody
+ LCURL("{")
+ NL("\n")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("emit")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ VALUE("value")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("I")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("FlowCollectorImpl")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("C")
+ RANGLE(">")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FlowCollector")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("C")
+ RANGLE(">")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("emit")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ VALUE("value")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("C")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Flow")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ MULT("*")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("collect")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/builderInference/kt53639.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/kt53639.antlrtree.txt
new file mode 100644
index 000000000..49230a142
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/builderInference/kt53639.antlrtree.txt
@@ -0,0 +1,624 @@
+File: kt53639.kt - 7955cfe880abdd04abbc7d889940da8e
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("From")
+ COMMA(",")
+ typeParameter
+ simpleIdentifier
+ Identifier("To")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("InputWrapper")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("From")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("doMapping")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("foo")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("From")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("To")
+ RANGLE(">")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("bar")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("To")
+ RANGLE(">")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("isNotEmpty")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("InputWrapper")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ simpleIdentifier
+ VALUE("value")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ VALUE("value")
+ RPAREN(")")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ classModifier
+ DATA("data")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("InputWrapper")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("TItem")
+ RANGLE(">")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ VAL("val")
+ simpleIdentifier
+ VALUE("value")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("TItem")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ classModifier
+ DATA("data")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Output")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ VAL("val")
+ simpleIdentifier
+ Identifier("source")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("InputWrapper")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RANGLE(">")
+ RANGLE(">")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("main2")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("input")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("InputWrapper")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RANGLE(">")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Output")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("output")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("input")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("doMapping")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ simpleIdentifier
+ Identifier("foo")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("this is List")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ simpleIdentifier
+ Identifier("bar")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("isNotEmpty")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ RPAREN(")")
+ NL("\n")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("Output")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ simpleIdentifier
+ Identifier("source")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("output")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/builderInference/multiLambdaRestriction.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/multiLambdaRestriction.antlrtree.txt
new file mode 100644
index 000000000..8e8342697
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/builderInference/multiLambdaRestriction.antlrtree.txt
@@ -0,0 +1,1854 @@
+File: multiLambdaRestriction.kt - 4fbb8747fb952fa0f32bb92a2953abdc
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("myExt")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("myGenericExt")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("a")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("first")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("second")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test1")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ simpleIdentifier
+ Identifier("second")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("myGenericExt")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("b")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("first")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("second")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test2")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("b")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ simpleIdentifier
+ Identifier("first")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ simpleIdentifier
+ Identifier("second")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("myExt")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("Q")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("select")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("a")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Q")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("b")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Q")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Q")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ semis
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("myBuildList")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("builder")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("MutableList")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("list")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("mutableListOf")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("list")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("builder")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("list")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test3")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("select")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RPAREN(")")
+ RCURL("}")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("select")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("myBuildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("myBuildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("select")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("run")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("myBuildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("myBuildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("D")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("buildPartList")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("left")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("MutableList")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("D")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("right")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("MutableList")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("D")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("D")
+ RANGLE(">")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("list")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("mutableListOf")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("D")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("list")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("left")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("list")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("right")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("list")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test4")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildPartList")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ simpleIdentifier
+ Identifier("left")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ simpleIdentifier
+ Identifier("right")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ EOF("")
diff --git a/grammar/testData/diagnostics/smartCasts/safecalls/safeAccessReceiverNotNull.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/multiLambdaRestrictionDisabled.antlrtree.txt
similarity index 51%
rename from grammar/testData/diagnostics/smartCasts/safecalls/safeAccessReceiverNotNull.antlrtree.txt
rename to grammar/testData/diagnostics/inference/builderInference/multiLambdaRestrictionDisabled.antlrtree.txt
index 8492a49f6..fe9e671f3 100644
--- a/grammar/testData/diagnostics/smartCasts/safecalls/safeAccessReceiverNotNull.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/builderInference/multiLambdaRestrictionDisabled.antlrtree.txt
@@ -1,4 +1,4 @@
-File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
+File: multiLambdaRestrictionDisabled.kt - 8d0c03a0588a437e2b4298179ef4fa1b
NL("\n")
NL("\n")
NL("\n")
@@ -10,71 +10,157 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
declaration
functionDeclaration
FUN("fun")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("myExt")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("myGenericExt")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
simpleIdentifier
- Identifier("kt6840_1")
+ Identifier("a")
functionValueParameters
LPAREN("(")
functionValueParameter
parameter
simpleIdentifier
- Identifier("s")
+ Identifier("first")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("second")
COLON(":")
type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test1")
+ functionValueParameters
+ LPAREN("(")
RPAREN(")")
functionBody
block
LCURL("{")
NL("\n")
statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("hash")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
statement
expression
disjunction
@@ -92,285 +178,248 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("hash")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ simpleIdentifier
+ Identifier("second")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("myGenericExt")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ RPAREN(")")
semis
NL("\n")
RCURL("}")
semis
NL("\n")
NL("\n")
+ NL("\n")
topLevelObject
declaration
functionDeclaration
FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
simpleIdentifier
- Identifier("kt6840_2")
+ Identifier("b")
functionValueParameters
LPAREN("(")
functionValueParameter
parameter
simpleIdentifier
- Identifier("s")
+ Identifier("first")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("second")
COLON(":")
type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test2")
+ functionValueParameters
+ LPAREN("(")
RPAREN(")")
functionBody
block
LCURL("{")
NL("\n")
statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt1635")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- semis
- NL("\n")
statement
expression
disjunction
@@ -389,285 +438,15 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
+ Identifier("b")
postfixUnarySuffix
callSuffix
valueArguments
LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt2127")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("length")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt3356")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("length")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- controlStructureBody
- statement
+ valueArgument
+ simpleIdentifier
+ Identifier("first")
+ ASSIGNMENT("=")
expression
disjunction
conjunction
@@ -681,1184 +460,148 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
additiveExpression
multiplicativeExpression
asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("SomeClass")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- DATA("data")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("SubClass")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("extra")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- COMMA(",")
- classParameter
- simpleIdentifier
- DATA("data")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeClass")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- DATA("data")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt4565_1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeClass")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- DATA("data")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- DATA("data")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- DATA("data")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- DATA("data")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- DATA("data")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- DATA("data")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- DATA("data")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- DATA("data")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- DATA("data")
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- DATA("data")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- DATA("data")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt4565_2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeClass")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SubClass")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("extra")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("extra")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SubClass")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("extra")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("extra")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("extra")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt7491_1")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("42")
- RPAREN(")")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("z")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("y")
- elvis
- QUEST_NO_WS("?")
- COLON(":")
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("y")
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ simpleIdentifier
+ Identifier("second")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("myExt")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ RPAREN(")")
semis
NL("\n")
RCURL("}")
@@ -1869,49 +612,14 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
declaration
functionDeclaration
FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("Q")
+ RANGLE(">")
simpleIdentifier
- Identifier("getA")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- quest
- QUEST_WS("? ")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("useA")
+ Identifier("select")
functionValueParameters
LPAREN("(")
functionValueParameter
@@ -1924,7 +632,19 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
userType
simpleUserType
simpleIdentifier
- Identifier("A")
+ Identifier("Q")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("b")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Q")
RPAREN(")")
COLON(":")
type
@@ -1932,7 +652,7 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
userType
simpleUserType
simpleIdentifier
- Identifier("Int")
+ Identifier("Q")
functionBody
ASSIGNMENT("=")
expression
@@ -1953,29 +673,76 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
primaryExpression
simpleIdentifier
Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
semis
NL("\n")
NL("\n")
+ NL("\n")
topLevelObject
declaration
functionDeclaration
FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
simpleIdentifier
- Identifier("kt7491_2")
+ Identifier("myBuildList")
functionValueParameters
LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("builder")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("MutableList")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
functionBody
block
LCURL("{")
@@ -1987,7 +754,7 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
VAL("val")
variableDeclaration
simpleIdentifier
- Identifier("a")
+ Identifier("list")
ASSIGNMENT("=")
expression
disjunction
@@ -2006,7 +773,18 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("getA")
+ Identifier("mutableListOf")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
postfixUnarySuffix
callSuffix
valueArguments
@@ -2031,8 +809,40 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- parenthesizedExpression
- LPAREN("(")
+ simpleIdentifier
+ Identifier("list")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("builder")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
expression
disjunction
conjunction
@@ -2050,163 +860,21 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("let")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("useA")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- RPAREN(")")
- RCURL("}")
- elvis
- QUEST_NO_WS("?")
- COLON(":")
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("y")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("toString")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
+ Identifier("list")
semis
NL("\n")
RCURL("}")
semis
NL("\n")
NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- DOT(".")
- simpleIdentifier
- Identifier("correct")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- semis
- NL("\n")
- NL("\n")
topLevelObject
declaration
functionDeclaration
FUN("fun")
simpleIdentifier
- Identifier("kt8492")
+ Identifier("test3")
functionValueParameters
LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
RPAREN(")")
functionBody
block
@@ -2230,122 +898,157 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("correct")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- elvis
- QUEST_NO_WS("?")
- COLON(":")
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
+ simpleIdentifier
+ Identifier("select")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RPAREN(")")
+ RCURL("}")
+ RPAREN(")")
semis
NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt11085")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("prop")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
+ NL("\n")
statement
expression
disjunction
@@ -2363,46 +1066,85 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
+ simpleIdentifier
+ Identifier("select")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("prop")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
+ Identifier("myBuildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
expression
disjunction
conjunction
@@ -2419,96 +1161,63 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- literalConstant
- IntegerLiteral("1")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("prop")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semi
- NL("\n")
- RCURL("}")
+ simpleIdentifier
+ Identifier("myBuildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ RPAREN(")")
semis
NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("HttpExchange")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("code")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt11313")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("arg")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HttpExchange")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
+ NL("\n")
statement
expression
disjunction
@@ -2526,41 +1235,13 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
+ simpleIdentifier
+ Identifier("select")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("code")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
+ valueArgument
expression
disjunction
conjunction
@@ -2577,61 +1258,88 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("GET")
- QUOTE_CLOSE(""")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("handleGet")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- RPAREN(")")
- semi
- NL("\n")
- whenEntry
- whenCondition
+ simpleIdentifier
+ Identifier("run")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("myBuildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
expression
disjunction
conjunction
@@ -2648,60 +1356,60 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("POST")
- QUOTE_CLOSE(""")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("handlePost")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- RPAREN(")")
- semi
- NL("\n")
- RCURL("}")
+ simpleIdentifier
+ Identifier("myBuildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ RPAREN(")")
semis
NL("\n")
RCURL("}")
@@ -2712,172 +1420,216 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
declaration
functionDeclaration
FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("D")
+ RANGLE(">")
simpleIdentifier
- Identifier("handleGet")
+ Identifier("buildPartList")
functionValueParameters
LPAREN("(")
functionValueParameter
parameter
simpleIdentifier
- Identifier("arg")
+ Identifier("left")
COLON(":")
type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HttpExchange")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("handlePost")
- functionValueParameters
- LPAREN("(")
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("MutableList")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("D")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ COMMA(",")
functionValueParameter
parameter
simpleIdentifier
- Identifier("arg")
+ Identifier("right")
COLON(":")
type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("HttpExchange")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Wrapper")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("unwrap")
- functionValueParameters
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("MutableList")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("D")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
LPAREN("(")
RPAREN(")")
- COLON(":")
+ ARROW("->")
type
- nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
typeReference
userType
simpleUserType
simpleIdentifier
- Identifier("String")
- quest
- QUEST_WS("? ")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("Something not consistent")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("falsePositive")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("w")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Wrapper")
- RPAREN(")")
+ Identifier("D")
+ RANGLE(">")
functionBody
block
LCURL("{")
NL("\n")
statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("list")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("mutableListOf")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("D")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("list")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("left")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("list")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("right")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
statement
expression
disjunction
@@ -2895,9 +1647,8 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
+ jumpExpression
+ RETURN("return")
expression
disjunction
conjunction
@@ -2915,196 +1666,21 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("w")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("unwrap")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("w")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("unwrap")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
+ Identifier("list")
semis
NL("\n")
RCURL("}")
semis
NL("\n")
NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Invokable")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("invoke")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("InvokableProperty")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("i")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Invokable")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
topLevelObject
declaration
functionDeclaration
FUN("fun")
simpleIdentifier
- Identifier("checkInvokable")
+ Identifier("test4")
functionValueParameters
LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("ip")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("InvokableProperty")
- quest
- QUEST_NO_WS("?")
RPAREN(")")
functionBody
block
@@ -3128,102 +1704,153 @@ File: safeAccessReceiverNotNull.kt - 285e1809eef016e0db52aadb0cfc167c
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ip")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("i")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- equalityOperator
- EQEQ("==")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("Hello")
- QUOTE_CLOSE(""")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ip")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
+ simpleIdentifier
+ Identifier("buildPartList")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ simpleIdentifier
+ Identifier("left")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RPAREN(")")
+ RCURL("}")
+ COMMA(",")
+ valueArgument
+ simpleIdentifier
+ Identifier("right")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ RCURL("}")
+ RPAREN(")")
semis
NL("\n")
RCURL("}")
- semis
- NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/inference/builderInference/noBuilderInferenceRestrictionReceiverInconsistency.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/noBuilderInferenceRestrictionReceiverInconsistency.antlrtree.txt
new file mode 100644
index 000000000..8a1afe77d
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/builderInference/noBuilderInferenceRestrictionReceiverInconsistency.antlrtree.txt
@@ -0,0 +1,160 @@
+File: noBuilderInferenceRestrictionReceiverInconsistency.kt - 3da645007d3d1aacacb1552c3db6e9a3
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("A")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("B")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAR("var")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("B")
+ DOT(".")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("foo")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ NL("\n")
+ getter
+ GET("get")
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("true")
+ NL("\n")
+ setter
+ SET("set")
+ LPAREN("(")
+ functionValueParameterWithOptionalType
+ parameterWithOptionalType
+ simpleIdentifier
+ VALUE("value")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ visibilityModifier
+ PRIVATE("private")
+ FUN("fun")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("A")
+ DOT(".")
+ simpleIdentifier
+ Identifier("bar")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("b")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("B")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ assignment
+ directlyAssignableExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("b")
+ assignableSuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("foo")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("true")
+ semis
+ NL("\n")
+ RCURL("}")
+ EOF("")
diff --git a/grammar/testData/diagnostics/smartCasts/castchecks/basicOff.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/propertySubstitution.antlrtree.txt
similarity index 52%
rename from grammar/testData/diagnostics/smartCasts/castchecks/basicOff.antlrtree.txt
rename to grammar/testData/diagnostics/inference/builderInference/propertySubstitution.antlrtree.txt
index a1514c890..4ab6b3c87 100644
--- a/grammar/testData/diagnostics/smartCasts/castchecks/basicOff.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/builderInference/propertySubstitution.antlrtree.txt
@@ -1,4 +1,5 @@
-File: basicOff.kt - 8ff4bf1e45f538f2087136f5a95a0703
+File: propertySubstitution.kt - 50cf8e9bb09349e07378a45156d482d4
+ NL("\n")
NL("\n")
NL("\n")
packageHeader
@@ -8,7 +9,7 @@ File: basicOff.kt - 8ff4bf1e45f538f2087136f5a95a0703
classDeclaration
INTERFACE("interface")
simpleIdentifier
- Identifier("SomeClass")
+ Identifier("FirJavaClass2")
classBody
LCURL("{")
NL("\n")
@@ -19,17 +20,24 @@ File: basicOff.kt - 8ff4bf1e45f538f2087136f5a95a0703
VAL("val")
variableDeclaration
simpleIdentifier
- DATA("data")
+ Identifier("superTypeRefs")
COLON(":")
type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("MutableList")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirTypeRef2")
+ RANGLE(">")
NL("\n")
RCURL("}")
semis
@@ -40,7 +48,331 @@ File: basicOff.kt - 8ff4bf1e45f538f2087136f5a95a0703
classDeclaration
INTERFACE("interface")
simpleIdentifier
- Identifier("SomeSubClass")
+ Identifier("ConeKotlinType2")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("ClassId2")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("ConeKotlinType2")
+ DOT(".")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("classId")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("ClassId2")
+ quest
+ QUEST_WS("? ")
+ getter
+ GET("get")
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ NullLiteral("null")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("FirSignatureEnhancement2")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("enhanceSuperType")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("type")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirTypeRef2")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirTypeRef2")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("TODO")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("FirTypeRef2")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirTypeRef2")
+ DOT(".")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("coneType")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("ConeKotlinType2")
+ getter
+ GET("get")
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("TODO")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ visibilityModifier
+ PRIVATE("private")
+ FUN("fun")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirJavaClass2")
+ DOT(".")
+ simpleIdentifier
+ Identifier("getPurelyImplementedSupertype")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("ConeKotlinType2")
+ quest
+ QUEST_WS("? ")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ NullLiteral("null")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ INLINE("inline")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("buildResolvedTypeRef2")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("init")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirResolvedTypeRefBuilder2")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirResolvedTypeRef2")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("TODO")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("FirResolvedTypeRef2")
COLON(":")
delegationSpecifiers
annotatedDelegationSpecifier
@@ -48,7 +380,16 @@ File: basicOff.kt - 8ff4bf1e45f538f2087136f5a95a0703
userType
simpleUserType
simpleIdentifier
- Identifier("SomeClass")
+ Identifier("FirTypeRef2")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("FirResolvedTypeRefBuilder2")
classBody
LCURL("{")
NL("\n")
@@ -56,20 +397,21 @@ File: basicOff.kt - 8ff4bf1e45f538f2087136f5a95a0703
classMemberDeclaration
declaration
propertyDeclaration
- VAL("val")
+ modifiers
+ modifier
+ memberModifier
+ LATEINIT("lateinit")
+ VAR("var")
variableDeclaration
simpleIdentifier
- Identifier("foo")
+ Identifier("type")
COLON(":")
type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("ConeKotlinType2")
NL("\n")
RCURL("}")
semis
@@ -80,569 +422,45 @@ File: basicOff.kt - 8ff4bf1e45f538f2087136f5a95a0703
functionDeclaration
FUN("fun")
simpleIdentifier
- Identifier("g")
+ Identifier("foo")
functionValueParameters
LPAREN("(")
functionValueParameter
parameter
simpleIdentifier
- Identifier("a")
+ Identifier("firJavaClass")
COLON(":")
type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeClass")
- quest
- QUEST_NO_WS("?")
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirJavaClass2")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("enhancement")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirSignatureEnhancement2")
RPAREN(")")
functionBody
block
LCURL("{")
NL("\n")
statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeSubClass")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeSubClass")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeSubClass")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("b")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeSubClass")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeSubClass")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeSubClass")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
statement
declaration
propertyDeclaration
VAL("val")
variableDeclaration
simpleIdentifier
- Identifier("c")
+ Identifier("enhancedSuperTypes")
ASSIGNMENT("=")
expression
disjunction
@@ -661,254 +479,420 @@ File: basicOff.kt - 8ff4bf1e45f538f2087136f5a95a0703
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("a")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeSubClass")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("c")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("SomeSubClass")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("c")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("c")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- semis
+ Identifier("buildList")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
NL("\n")
- RCURL("}")
- semis
- NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("purelyImplementedSupertype")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("firJavaClass")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("getPurelyImplementedSupertype")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("purelyImplementedSupertypeClassId")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("purelyImplementedSupertype")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ safeNav
+ QUEST_NO_WS("?")
+ DOT(".")
+ simpleIdentifier
+ Identifier("classId")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("firJavaClass")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("superTypeRefs")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("mapNotNullTo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("this")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("superType")
+ ARROW("->")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("enhancement")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("enhanceSuperType")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("superType")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("takeUnless")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("purelyImplementedSupertypeClassId")
+ equalityOperator
+ EXCL_EQ("!=")
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ NullLiteral("null")
+ CONJ("&&")
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("coneType")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("classId")
+ equalityOperator
+ EQEQ("==")
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("purelyImplementedSupertypeClassId")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("purelyImplementedSupertype")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ safeNav
+ QUEST_NO_WS("?")
+ DOT(".")
+ simpleIdentifier
+ Identifier("let")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("add")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("buildResolvedTypeRef2")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ assignment
+ directlyAssignableExpression
+ simpleIdentifier
+ Identifier("type")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ RCURL("}")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ NL("\n")
RCURL("}")
semis
- EOF("")
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/inference/builderInference/stubTypes/stubTypeReceiverRestriction.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/stubTypes/stubTypeReceiverRestriction.antlrtree.txt
new file mode 100644
index 000000000..1085f18cf
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/builderInference/stubTypes/stubTypeReceiverRestriction.antlrtree.txt
@@ -0,0 +1,1991 @@
+File: stubTypeReceiverRestriction.kt - 8ec5b70b3bf321815851f31bd01a3669
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("a")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("lambda")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("use")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("p")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test1")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test2")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("v")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test3")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ OPERATOR("operator")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ simpleIdentifier
+ Identifier("getValue")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("thisRef")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("prop")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("v")
+ propertyDelegate
+ BY("by")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Box")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("TIn")
+ RANGLE(">")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ VAL("val")
+ simpleIdentifier
+ Identifier("t")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("TIn")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test4")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ OPERATOR("operator")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ simpleIdentifier
+ Identifier("provideDelegate")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("thisRef")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("prop")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Box")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("Box")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("this")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ OPERATOR("operator")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Box")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("getValue")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("thisRef")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("prop")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("t")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("v")
+ propertyDelegate
+ BY("by")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("b")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("lambda")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test5")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ NL("\n")
+ statements
+ statement
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ OPERATOR("operator")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ simpleIdentifier
+ Identifier("invoke")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("b")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ callableReference
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("genericLambda")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ getter
+ GET("get")
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test6")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("b")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("genericLambda")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("genericLambda")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ callableReference
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/builderInference/stubTypes/stubTypeReceiverRestrictionDisabled.antlrtree.txt b/grammar/testData/diagnostics/inference/builderInference/stubTypes/stubTypeReceiverRestrictionDisabled.antlrtree.txt
new file mode 100644
index 000000000..c50cb6397
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/builderInference/stubTypes/stubTypeReceiverRestrictionDisabled.antlrtree.txt
@@ -0,0 +1,1992 @@
+File: stubTypeReceiverRestrictionDisabled.kt - f67d396520ba9fd86b1e89275220501f
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("a")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("lambda")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("use")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("p")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test1")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test2")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("v")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test3")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ OPERATOR("operator")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ simpleIdentifier
+ Identifier("getValue")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("thisRef")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("prop")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("v")
+ propertyDelegate
+ BY("by")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Box")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("TIn")
+ RANGLE(">")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ VAL("val")
+ simpleIdentifier
+ Identifier("t")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("TIn")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test4")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ OPERATOR("operator")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ simpleIdentifier
+ Identifier("provideDelegate")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("thisRef")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("prop")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Box")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("Box")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("this")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ OPERATOR("operator")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Box")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("getValue")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("thisRef")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ COMMA(",")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("prop")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Any")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("t")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("v")
+ propertyDelegate
+ BY("by")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ GET("get")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("v")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("b")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("lambda")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test5")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ NL("\n")
+ statements
+ statement
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ OPERATOR("operator")
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ simpleIdentifier
+ Identifier("invoke")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("b")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ callableReference
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("genericLambda")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ DOT(".")
+ functionTypeParameters
+ LPAREN("(")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ getter
+ GET("get")
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test6")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("b")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("genericLambda")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("genericLambda")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("it")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("extension")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("use")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ callableReference
+ COLONCOLON("::")
+ simpleIdentifier
+ Identifier("extension")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/capturedTypes/capturedTypeWithInnerTypealias.antlrtree.txt b/grammar/testData/diagnostics/inference/capturedTypes/capturedTypeWithInnerTypealias.antlrtree.txt
index cefcd317e..4ea4db7cf 100644
--- a/grammar/testData/diagnostics/inference/capturedTypes/capturedTypeWithInnerTypealias.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/capturedTypes/capturedTypeWithInnerTypealias.antlrtree.txt
@@ -1,5 +1,4 @@
-File: capturedTypeWithInnerTypealias.kt - 157a28767d37627e7305d59450066020
- NL("\n")
+File: capturedTypeWithInnerTypealias.kt - d6cbae86dccfd5071b1748f2c6e66b67
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/capturedTypes/kt25302.antlrtree.txt b/grammar/testData/diagnostics/inference/capturedTypes/kt25302.antlrtree.txt
index 31015bc7f..c05b5baf1 100644
--- a/grammar/testData/diagnostics/inference/capturedTypes/kt25302.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/capturedTypes/kt25302.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt25302.kt - 9da3d9b41a2ac436b6250c37dd5d6499
- NL("\n")
+File: kt25302.kt - d5c389843c880fbcefebd8f5db5818bf
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/capturedTypes/kt52782.main.antlrtree.txt b/grammar/testData/diagnostics/inference/capturedTypes/kt52782.main.antlrtree.txt
index 8e2b3c4d2..a49403a70 100644
--- a/grammar/testData/diagnostics/inference/capturedTypes/kt52782.main.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/capturedTypes/kt52782.main.antlrtree.txt
@@ -1,6 +1,77 @@
-File: kt52782.main.kt - ffd783cce442a8df86700c212609627e
+File: kt52782.main.kt - 3a8dc780c48412b85a3e4ac7ac705b90
packageHeader
importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("F")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Bar")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ typeProjectionModifiers
+ typeProjectionModifier
+ varianceModifier
+ OUT("out")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Foo")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("F")
+ RANGLE(">")
+ RANGLE(">")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Foo")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("F")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("bar")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
topLevelObject
declaration
functionDeclaration
@@ -30,7 +101,84 @@ File: kt52782.main.kt - ffd783cce442a8df86700c212609627e
block
LCURL("{")
NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
statement
expression
disjunction
diff --git a/grammar/testData/diagnostics/inference/coercionToUnit/coercionToUnitForIfAsLastExpressionInLambda.antlrtree.txt b/grammar/testData/diagnostics/inference/coercionToUnit/coercionToUnitForIfAsLastExpressionInLambda.antlrtree.txt
index 705bb4285..14edeb4ba 100644
--- a/grammar/testData/diagnostics/inference/coercionToUnit/coercionToUnitForIfAsLastExpressionInLambda.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/coercionToUnit/coercionToUnitForIfAsLastExpressionInLambda.antlrtree.txt
@@ -1,5 +1,4 @@
-File: coercionToUnitForIfAsLastExpressionInLambda.kt - 1f65e354d4af2c6fa4825882670981aa
- NL("\n")
+File: coercionToUnitForIfAsLastExpressionInLambda.kt - 7f8ddda078d4ab79dafb3278c1fe498e
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/inference/coercionToUnit/coercionToUnitReference.antlrtree.txt b/grammar/testData/diagnostics/inference/coercionToUnit/coercionToUnitReference.antlrtree.txt
index 67b1cb3e8..72ba11688 100644
--- a/grammar/testData/diagnostics/inference/coercionToUnit/coercionToUnitReference.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/coercionToUnit/coercionToUnitReference.antlrtree.txt
@@ -1,5 +1,4 @@
-File: coercionToUnitReference.kt - 8423bd9cdc1a1ee62dbbb28d932f8656
- NL("\n")
+File: coercionToUnitReference.kt - 2a30ad226a0297242b55cff077257752
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/coercionToUnit/coercionWithExplicitTypeArgument.antlrtree.txt b/grammar/testData/diagnostics/inference/coercionToUnit/coercionWithExplicitTypeArgument.antlrtree.txt
index cb6031daf..5ee6ec286 100644
--- a/grammar/testData/diagnostics/inference/coercionToUnit/coercionWithExplicitTypeArgument.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/coercionToUnit/coercionWithExplicitTypeArgument.antlrtree.txt
@@ -1,5 +1,4 @@
-File: coercionWithExplicitTypeArgument.kt - faa36e46e1715fcfd5c54c4c43e24ea9
- NL("\n")
+File: coercionWithExplicitTypeArgument.kt - 24bd9ef7d7458b7d85b96bf951cd9066
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/coercionToUnit/nonPropagationOfCoercionToUnitInsideNestedLambda.antlrtree.txt b/grammar/testData/diagnostics/inference/coercionToUnit/nonPropagationOfCoercionToUnitInsideNestedLambda.antlrtree.txt
index 86128514d..550874101 100644
--- a/grammar/testData/diagnostics/inference/coercionToUnit/nonPropagationOfCoercionToUnitInsideNestedLambda.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/coercionToUnit/nonPropagationOfCoercionToUnitInsideNestedLambda.antlrtree.txt
@@ -1,5 +1,4 @@
-File: nonPropagationOfCoercionToUnitInsideNestedLambda.kt - fa165b61b87ae23d3bb5ae1749c8ad0f
- NL("\n")
+File: nonPropagationOfCoercionToUnitInsideNestedLambda.kt - 35c5de69c67b5f2bc384a8239ca050ab
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/inference/commonSuperTypeOfErrorTypes.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSuperTypeOfErrorTypes.antlrtree.txt
index ec6252bae..540264c0a 100644
--- a/grammar/testData/diagnostics/inference/commonSuperTypeOfErrorTypes.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSuperTypeOfErrorTypes.antlrtree.txt
@@ -1,5 +1,4 @@
-File: commonSuperTypeOfErrorTypes.kt - b98ae2d1729bb4300b162b3460df211d
- NL("\n")
+File: commonSuperTypeOfErrorTypes.kt - 3023279fb5f30983fcf7b7fe608e13aa
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/commonSuperTypeOfTypesWithErrorSupertypes.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSuperTypeOfTypesWithErrorSupertypes.antlrtree.txt
index 24fb67fcd..0e986da63 100644
--- a/grammar/testData/diagnostics/inference/commonSuperTypeOfTypesWithErrorSupertypes.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSuperTypeOfTypesWithErrorSupertypes.antlrtree.txt
@@ -1,5 +1,4 @@
-File: commonSuperTypeOfTypesWithErrorSupertypes.kt - 6e1248d6185df19ecf0b734d3c112f6d
- NL("\n")
+File: commonSuperTypeOfTypesWithErrorSupertypes.kt - fdc751a3875a8b53e8fec4bf3ced65d4
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/commonSystem/cstFromNullableChildAndNonParameterizedType.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/cstFromNullableChildAndNonParameterizedType.antlrtree.txt
index 478c8b4ad..8591a8d24 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/cstFromNullableChildAndNonParameterizedType.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/cstFromNullableChildAndNonParameterizedType.antlrtree.txt
@@ -1,5 +1,4 @@
-File: cstFromNullableChildAndNonParameterizedType.kt - 4f06c1a8e6e43230a5d47aa345761886
- NL("\n")
+File: cstFromNullableChildAndNonParameterizedType.kt - 9fe28047b1d035de40ad52f4d6ec3672
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/commonSystem/cstWithTypeContainingNonFixedVariable.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/cstWithTypeContainingNonFixedVariable.antlrtree.txt
index 25279fae8..dabc5baef 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/cstWithTypeContainingNonFixedVariable.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/cstWithTypeContainingNonFixedVariable.antlrtree.txt
@@ -1,5 +1,4 @@
-File: cstWithTypeContainingNonFixedVariable.kt - d01d150f07b042d084700ff5ab4accc9
- NL("\n")
+File: cstWithTypeContainingNonFixedVariable.kt - 91561277a499de8c25e5764f5f766c1b
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/commonSystem/kt30300.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/kt30300.antlrtree.txt
index 79c50fb67..054888ff7 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/kt30300.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/kt30300.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt30300.kt - 1e4d128cc6ea77e1ca91cf1cb81170c5
- NL("\n")
+File: kt30300.kt - d75fde5da23a2613b166cce41c74e7a0
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/commonSystem/kt33197.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/kt33197.antlrtree.txt
index 36eda9c3d..f1e8bb7e5 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/kt33197.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/kt33197.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt33197.kt - 665d164f3ebb3b6913672de5ab630ceb
- NL("\n")
+File: kt33197.kt - 41292c19a9def05d135d86f5f9aba13b
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation.antlrtree.txt
index b040286f3..cf27c6353 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation.antlrtree.txt
@@ -1,5 +1,4 @@
-File: lessSpecificTypeForArgumentCallWithExactAnnotation.kt - d8d5c50f239215b1df7fd4f64b86e96d
- NL("\n")
+File: lessSpecificTypeForArgumentCallWithExactAnnotation.kt - 9f0fa45cb94d3efabf5d033f3d9d3e75
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation_ni.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation_ni.antlrtree.txt
index f98d1e4de..2e3e789a6 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation_ni.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation_ni.antlrtree.txt
@@ -1,5 +1,4 @@
-File: lessSpecificTypeForArgumentCallWithExactAnnotation_ni.kt - 9ae4295011790df2a09fadff5a621463
- NL("\n")
+File: lessSpecificTypeForArgumentCallWithExactAnnotation_ni.kt - 9f0fa45cb94d3efabf5d033f3d9d3e75
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/commonSystem/manyArgumentsForVararg.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/manyArgumentsForVararg.antlrtree.txt
index da16fae96..3d758ea14 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/manyArgumentsForVararg.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/manyArgumentsForVararg.antlrtree.txt
@@ -1,5 +1,4 @@
-File: manyArgumentsForVararg.kt - a1242ecc9e3fc93dcdd184487837fa7a
- NL("\n")
+File: manyArgumentsForVararg.kt - b72c215403cb42d841ad919f027ff8c7
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/commonSystem/outProjectedTypeToOutProjected.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/outProjectedTypeToOutProjected.antlrtree.txt
index 6f78eeca6..f8d688fe6 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/outProjectedTypeToOutProjected.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/outProjectedTypeToOutProjected.antlrtree.txt
@@ -1,5 +1,4 @@
-File: outProjectedTypeToOutProjected.kt - 1207f07ea0179fd1958603effa8c138e
- NL("\n")
+File: outProjectedTypeToOutProjected.kt - 41d32434546cf09b2f70aad1cd124e04
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/commonSystem/postponedCompletionWithExactAnnotation.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/postponedCompletionWithExactAnnotation.antlrtree.txt
index 2531dc7cb..f4be78ce9 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/postponedCompletionWithExactAnnotation.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/postponedCompletionWithExactAnnotation.antlrtree.txt
@@ -1,5 +1,4 @@
-File: postponedCompletionWithExactAnnotation.kt - ac56d906f152f0d5b4821955b4b0062a
- NL("\n")
+File: postponedCompletionWithExactAnnotation.kt - 82ca09527afcb061f2737b03a5a30a90
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/commonSystem/postponedCompletionWithExactAnnotation_ni.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/postponedCompletionWithExactAnnotation_ni.antlrtree.txt
index 682a89ccb..251e528bc 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/postponedCompletionWithExactAnnotation_ni.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/postponedCompletionWithExactAnnotation_ni.antlrtree.txt
@@ -1,5 +1,4 @@
-File: postponedCompletionWithExactAnnotation_ni.kt - 26b289c295fb3db8ce503448242fa54f
- NL("\n")
+File: postponedCompletionWithExactAnnotation_ni.kt - 4c347e1aaffaf16576302c2ab963e46a
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/commonSystem/selectFromCovariantAndContravariantTypes.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/selectFromCovariantAndContravariantTypes.antlrtree.txt
deleted file mode 100644
index c87bc6fa6..000000000
--- a/grammar/testData/diagnostics/inference/commonSystem/selectFromCovariantAndContravariantTypes.antlrtree.txt
+++ /dev/null
@@ -1,515 +0,0 @@
-File: selectFromCovariantAndContravariantTypes.kt - 0e0b3858767b9e95e5be318d3e9c311b
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("In")
- typeParameters
- LANGLE("<")
- typeParameter
- typeParameterModifiers
- typeParameterModifier
- varianceModifier
- IN("in")
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Out")
- typeParameters
- LANGLE("<")
- typeParameter
- typeParameterModifiers
- typeParameterModifier
- varianceModifier
- OUT("out")
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("B")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("K")
- RANGLE(">")
- simpleIdentifier
- Identifier("select")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("K")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("K")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("K")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("V")
- RANGLE(">")
- simpleIdentifier
- Identifier("genericIn")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("In")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("V")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("V")
- RANGLE(">")
- simpleIdentifier
- Identifier("genericOut")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Out")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("V")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("In")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- RANGLE(">")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("b")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("In")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("genericIn")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("select")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- RPAREN(")")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Out")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- RANGLE(">")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("b")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Out")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("genericOut")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("select")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- RPAREN(")")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/inference/commonSystem/selectFromTwoIncompatibleTypes.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/selectFromTwoIncompatibleTypes.antlrtree.txt
index 0e418cbf6..f9c9a364f 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/selectFromTwoIncompatibleTypes.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/selectFromTwoIncompatibleTypes.antlrtree.txt
@@ -1,5 +1,4 @@
-File: selectFromTwoIncompatibleTypes.kt - 5b8fb995b6c38c0470f2996412891551
- NL("\n")
+File: selectFromTwoIncompatibleTypes.kt - 3c17dbabadab2e6b7e5f8b436f4c6fee
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/commonSystem/selectIntegerValueTypeFromIf.antlrtree.txt b/grammar/testData/diagnostics/inference/commonSystem/selectIntegerValueTypeFromIf.antlrtree.txt
index 0a3b6016d..a7381d1d7 100644
--- a/grammar/testData/diagnostics/inference/commonSystem/selectIntegerValueTypeFromIf.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/commonSystem/selectIntegerValueTypeFromIf.antlrtree.txt
@@ -1,5 +1,4 @@
-File: selectIntegerValueTypeFromIf.kt - 6f2f386df2c7d7d6268354a374e36d9f
- NL("\n")
+File: selectIntegerValueTypeFromIf.kt - d6946bffcf279e869cdbe87803aaf4eb
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/compatibilityResolveWhenVariableHasComplexIntersectionType.antlrtree.txt b/grammar/testData/diagnostics/inference/compatibilityResolveWhenVariableHasComplexIntersectionType.antlrtree.txt
deleted file mode 100644
index 63a1bdfa3..000000000
--- a/grammar/testData/diagnostics/inference/compatibilityResolveWhenVariableHasComplexIntersectionType.antlrtree.txt
+++ /dev/null
@@ -1,929 +0,0 @@
-File: compatibilityResolveWhenVariableHasComplexIntersectionType.kt - 063f2b6068ffdc50cc29dcd2d2719702
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- CLASS("class")
- simpleIdentifier
- Identifier("Bar")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Foo")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Comparable")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Bar")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- RANGLE(">")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("Scope")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Comparable")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- COMMA(",")
- typeParameter
- simpleIdentifier
- Identifier("S")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("greater")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Bar")
- typeArguments
- LANGLE("<")
- typeProjection
- typeProjectionModifiers
- typeProjectionModifier
- varianceModifier
- IN("in")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("S")
- RANGLE(">")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("other")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Foo")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("Nested")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Comparable")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- COMMA(",")
- typeParameter
- simpleIdentifier
- Identifier("S")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("greater")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Bar")
- typeArguments
- LANGLE("<")
- typeProjection
- typeProjectionModifiers
- typeProjectionModifier
- varianceModifier
- IN("in")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("S")
- RANGLE(">")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("t")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("b")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Bar")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Long")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("greater")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("OnlyOne")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Comparable")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- COMMA(",")
- typeParameter
- simpleIdentifier
- Identifier("S")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("greater")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Bar")
- typeArguments
- LANGLE("<")
- typeProjection
- typeProjectionModifiers
- typeProjectionModifier
- varianceModifier
- IN("in")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("S")
- RANGLE(">")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("t")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("b")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Bar")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Long")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("greater")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("GoodOldCandidate")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Comparable")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- COMMA(",")
- typeParameter
- simpleIdentifier
- Identifier("S")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("greater")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Bar")
- typeArguments
- LANGLE("<")
- typeProjection
- typeProjectionModifiers
- typeProjectionModifier
- varianceModifier
- IN("in")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("S")
- RANGLE(">")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("t")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("Nested")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Comparable")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- COMMA(",")
- typeParameter
- simpleIdentifier
- Identifier("S")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("greater")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Bar")
- typeArguments
- LANGLE("<")
- typeProjection
- typeProjectionModifiers
- typeProjectionModifier
- varianceModifier
- IN("in")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("S")
- RANGLE(">")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("other")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Foo")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("b")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Bar")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Long")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("greater")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/inference/completion/anonymousFunction.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/anonymousFunction.antlrtree.txt
index 1e4c4b077..d41ce0821 100644
--- a/grammar/testData/diagnostics/inference/completion/anonymousFunction.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/anonymousFunction.antlrtree.txt
@@ -1,5 +1,4 @@
-File: anonymousFunction.kt - 0c0d206a752085bd41287b0a3f1e6f1f
- NL("\n")
+File: anonymousFunction.kt - 90396066c35c96e432da1beb5238717e
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/completion/basic.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/basic.antlrtree.txt
index 5b3cb7c0c..948fd064c 100644
--- a/grammar/testData/diagnostics/inference/completion/basic.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/basic.antlrtree.txt
@@ -1,5 +1,4 @@
-File: basic.kt - e9c1029adc6dd31c834bfc74ad4ce094
- NL("\n")
+File: basic.kt - a9dcb089e5f186e486a7a2c7eb1ed04b
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/completion/definitelyNotNullType.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/definitelyNotNullType.antlrtree.txt
index cc72c99e7..ac8fe37a0 100644
--- a/grammar/testData/diagnostics/inference/completion/definitelyNotNullType.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/definitelyNotNullType.antlrtree.txt
@@ -1,5 +1,4 @@
-File: definitelyNotNullType.kt - 490dc5b2a482cb9191afba2ec1ace0ce
- NL("\n")
+File: definitelyNotNullType.kt - 87b1236b64c3cae6910514fbdd844d30
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/completion/equalityConstraintUpstairs.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/equalityConstraintUpstairs.antlrtree.txt
index c7e2b0b11..400bfcc78 100644
--- a/grammar/testData/diagnostics/inference/completion/equalityConstraintUpstairs.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/equalityConstraintUpstairs.antlrtree.txt
@@ -1,5 +1,4 @@
-File: equalityConstraintUpstairs.kt - cb4b2376a7fcc2660c520b9ce68933d8
- NL("\n")
+File: equalityConstraintUpstairs.kt - 019bd968fae4875fb601b0d3c10619c3
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/completion/intersectionType.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/intersectionType.antlrtree.txt
index 95e77b2cb..a7af6a76a 100644
--- a/grammar/testData/diagnostics/inference/completion/intersectionType.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/intersectionType.antlrtree.txt
@@ -1,5 +1,4 @@
-File: intersectionType.kt - e371afb84d678b0243f6d18182f7f848
- NL("\n")
+File: intersectionType.kt - 3703a807f9f38f439b7b6f13b39534c3
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/completion/kt36233.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/kt36233.antlrtree.txt
index 010618ea2..53a373713 100644
--- a/grammar/testData/diagnostics/inference/completion/kt36233.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/kt36233.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt36233.kt - bd33bdae901025fc03e9c34f312b20cc
- NL("\n")
+File: kt36233.kt - b0520fac1a428cda9bc54343184708f0
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/completion/lambdaWithVariableAndNothing.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/lambdaWithVariableAndNothing.antlrtree.txt
index 4dbd258a4..dbef3d3ff 100644
--- a/grammar/testData/diagnostics/inference/completion/lambdaWithVariableAndNothing.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/lambdaWithVariableAndNothing.antlrtree.txt
@@ -1,5 +1,4 @@
-File: lambdaWithVariableAndNothing.kt - 487744ca919cf6c95d1bee90e00e3322
- NL("\n")
+File: lambdaWithVariableAndNothing.kt - 88d0e1006bd85039849e1151e6280f44
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/completion/nestedVariance.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/nestedVariance.antlrtree.txt
index 03b3a8b94..dd4bfd4f7 100644
--- a/grammar/testData/diagnostics/inference/completion/nestedVariance.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/nestedVariance.antlrtree.txt
@@ -1,5 +1,4 @@
-File: nestedVariance.kt - 9ee83ae0542c5d803b01879d0feba07b
- NL("\n")
+File: nestedVariance.kt - b84fec58ca575c9ab3ad7db0e2996cdc
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/completion/nothingFromNestedCall.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/nothingFromNestedCall.antlrtree.txt
index 99424b4c9..890335b2e 100644
--- a/grammar/testData/diagnostics/inference/completion/nothingFromNestedCall.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/nothingFromNestedCall.antlrtree.txt
@@ -1,5 +1,4 @@
-File: nothingFromNestedCall.kt - 9582315e1ec317f8c98233fb396b0473
- NL("\n")
+File: nothingFromNestedCall.kt - 59622790a740f2d46ba7787a4503d657
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/completion/partialForIlt.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/partialForIlt.antlrtree.txt
index 7c0afc5b7..834f802e7 100644
--- a/grammar/testData/diagnostics/inference/completion/partialForIlt.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/partialForIlt.antlrtree.txt
@@ -1,5 +1,4 @@
-File: partialForIlt.kt - fba733d2974fe0990627805b5854d3dd
- NL("\n")
+File: partialForIlt.kt - 11f60a8b4570e1efc4b88242c413dfff
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/completion/partialForIltWithNothing.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/partialForIltWithNothing.antlrtree.txt
index 87a973d29..7b8154215 100644
--- a/grammar/testData/diagnostics/inference/completion/partialForIltWithNothing.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/partialForIltWithNothing.antlrtree.txt
@@ -1,5 +1,4 @@
-File: partialForIltWithNothing.kt - 196d805394b03b187ba6316032f194c1
- NL("\n")
+File: partialForIltWithNothing.kt - ed332260062793b07982c1723b1951b7
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/completion/transitiveConstraint.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/transitiveConstraint.antlrtree.txt
index 7fd4848d1..7b0af278f 100644
--- a/grammar/testData/diagnostics/inference/completion/transitiveConstraint.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/transitiveConstraint.antlrtree.txt
@@ -1,5 +1,4 @@
-File: transitiveConstraint.kt - 50cb1455b48ea92817548f81ab36e102
- NL("\n")
+File: transitiveConstraint.kt - 4083843bd8218be5b8b67290a8afa2d8
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/completion/withExact.antlrtree.txt b/grammar/testData/diagnostics/inference/completion/withExact.antlrtree.txt
index 22999b5ba..0bbc4d06d 100644
--- a/grammar/testData/diagnostics/inference/completion/withExact.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completion/withExact.antlrtree.txt
@@ -1,5 +1,4 @@
-File: withExact.kt - 529759bf65d0753760f2d95d50278fc4
- NL("\n")
+File: withExact.kt - 5a78667e8efc9d9642e3ec319c4944b9
NL("\n")
fileAnnotation
AT_PRE_WS("\n@")
diff --git a/grammar/testData/diagnostics/inference/completionOfMultipleLambdas.antlrtree.txt b/grammar/testData/diagnostics/inference/completionOfMultipleLambdas.antlrtree.txt
index ad44847bd..e832b7487 100644
--- a/grammar/testData/diagnostics/inference/completionOfMultipleLambdas.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/completionOfMultipleLambdas.antlrtree.txt
@@ -1,5 +1,4 @@
-File: completionOfMultipleLambdas.kt - 0d51c6dfbfe88d1315e0d9ca457b63bc
- NL("\n")
+File: completionOfMultipleLambdas.kt - f32b3c30cb600a3fafb4da7e2c4b6c3f
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/constraints/approximationWithDefNotNullInInvPositionDuringInference.antlrtree.txt b/grammar/testData/diagnostics/inference/constraints/approximationWithDefNotNullInInvPositionDuringInference.antlrtree.txt
index 2e7190814..37697afae 100644
--- a/grammar/testData/diagnostics/inference/constraints/approximationWithDefNotNullInInvPositionDuringInference.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/constraints/approximationWithDefNotNullInInvPositionDuringInference.antlrtree.txt
@@ -1,5 +1,4 @@
-File: approximationWithDefNotNullInInvPositionDuringInference.kt - f3f97dcc6ee8153ba738e01fed9afe23
- NL("\n")
+File: approximationWithDefNotNullInInvPositionDuringInference.kt - 2e002844c7a635711b8bd66315b5ac70
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/constraints/complexDependencyWihtoutProperConstraints.antlrtree.txt b/grammar/testData/diagnostics/inference/constraints/complexDependencyWihtoutProperConstraints.antlrtree.txt
index 9dad5a83d..0baf5212d 100644
--- a/grammar/testData/diagnostics/inference/constraints/complexDependencyWihtoutProperConstraints.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/constraints/complexDependencyWihtoutProperConstraints.antlrtree.txt
@@ -1,5 +1,4 @@
-File: complexDependencyWihtoutProperConstraints.kt - bd482b5353e65d7fdd59979afe421946
- NL("\n")
+File: complexDependencyWihtoutProperConstraints.kt - 96ed57f009fe174fac2c3750bdb46d4e
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/cstFromErrorAndNonErrorTypes.antlrtree.txt b/grammar/testData/diagnostics/inference/cstFromErrorAndNonErrorTypes.antlrtree.txt
index 9f4f388b9..97d1f1827 100644
--- a/grammar/testData/diagnostics/inference/cstFromErrorAndNonErrorTypes.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/cstFromErrorAndNonErrorTypes.antlrtree.txt
@@ -1,5 +1,4 @@
-File: cstFromErrorAndNonErrorTypes.kt - 0c849bb71c999dcfb6e1f7b276a9f878
- NL("\n")
+File: cstFromErrorAndNonErrorTypes.kt - 2ebccd714df2b5fd89ceeee2e8021113
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/disabledFeature.main.antlrtree.txt b/grammar/testData/diagnostics/inference/dontThrowEmptyIntersectionException.main.antlrtree.txt
similarity index 59%
rename from grammar/testData/diagnostics/testsWithJava15/jvmRecord/disabledFeature.main.antlrtree.txt
rename to grammar/testData/diagnostics/inference/dontThrowEmptyIntersectionException.main.antlrtree.txt
index 5de06f6f6..6584422bf 100644
--- a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/disabledFeature.main.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/dontThrowEmptyIntersectionException.main.antlrtree.txt
@@ -1,88 +1,35 @@
-File: disabledFeature.main.kt - 1eb7b26a2ba2287e1676976bb5416574
+File: dontThrowEmptyIntersectionException.main.kt - 2b629ee2386de29491c832fa71b6e009
packageHeader
importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- CLASS("class")
- simpleIdentifier
- Identifier("MyRec")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- classParameter
- modifiers
- modifier
- parameterModifier
- VARARG("vararg")
- VAL("val")
- simpleIdentifier
- Identifier("z")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Double")
- COMMA(",")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
topLevelObject
declaration
functionDeclaration
FUN("fun")
simpleIdentifier
- Identifier("foo")
+ Identifier("main")
functionValueParameters
LPAREN("(")
functionValueParameter
parameter
simpleIdentifier
- Identifier("jr")
+ Identifier("z")
COLON(":")
type
typeReference
userType
simpleUserType
simpleIdentifier
- Identifier("JRecord")
+ Identifier("I")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RANGLE(">")
RPAREN(")")
functionBody
block
@@ -107,56 +54,40 @@ File: disabledFeature.main.kt - 1eb7b26a2ba2287e1676976bb5416574
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("JRecord")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
+ Identifier("z")
+ asOperator
+ AS("as")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Test")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Test2")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ COMMA(",")
+ typeProjection
+ MULT("*")
+ RANGLE(">")
+ RANGLE(">")
semis
NL("\n")
- NL("\n")
statement
expression
disjunction
@@ -175,18 +106,43 @@ File: disabledFeature.main.kt - 1eb7b26a2ba2287e1676976bb5416574
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("jr")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
+ Identifier("z")
+ asOperator
+ AS("as")
+ type
+ typeReference
+ userType
+ simpleUserType
simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
+ Identifier("Test")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Test2")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ COMMA(",")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Foo")
+ RANGLE(">")
+ RANGLE(">")
semis
NL("\n")
statement
@@ -207,21 +163,27 @@ File: disabledFeature.main.kt - 1eb7b26a2ba2287e1676976bb5416574
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("jr")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
+ Identifier("z")
+ asOperator
+ AS("as")
+ type
+ typeReference
+ userType
+ simpleUserType
simpleIdentifier
- Identifier("y")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
+ Identifier("Test")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Foo")
+ RANGLE(">")
semis
NL("\n")
- NL("\n")
statement
expression
disjunction
@@ -240,13 +202,15 @@ File: disabledFeature.main.kt - 1eb7b26a2ba2287e1676976bb5416574
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("jr")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
+ Identifier("z")
+ asOperator
+ AS("as")
+ type
+ typeReference
+ userType
+ simpleUserType
simpleIdentifier
- Identifier("x")
+ Identifier("Any2")
semis
NL("\n")
statement
@@ -267,13 +231,31 @@ File: disabledFeature.main.kt - 1eb7b26a2ba2287e1676976bb5416574
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("jr")
+ Identifier("println")
postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("y")
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("z")
+ RPAREN(")")
semis
NL("\n")
RCURL("}")
diff --git a/grammar/testData/diagnostics/inference/emptyIntersectionTypes/selectFromCovariantAndContravariantTypes.antlrtree.txt b/grammar/testData/diagnostics/inference/emptyIntersectionTypes/selectFromCovariantAndContravariantTypes.antlrtree.txt
index d72baeaae..8a304f4f5 100644
--- a/grammar/testData/diagnostics/inference/emptyIntersectionTypes/selectFromCovariantAndContravariantTypes.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/emptyIntersectionTypes/selectFromCovariantAndContravariantTypes.antlrtree.txt
@@ -1,5 +1,4 @@
-File: selectFromCovariantAndContravariantTypes.kt - 022b0741e98002517efcf9bbc7882a85
- NL("\n")
+File: selectFromCovariantAndContravariantTypes.kt - b5200ea31a5d2ca7468fae6a34635655
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/intersectionWithEnum.antlrtree.txt b/grammar/testData/diagnostics/inference/intersectionWithEnum.antlrtree.txt
index b843fc7b5..fde097edb 100644
--- a/grammar/testData/diagnostics/inference/intersectionWithEnum.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/intersectionWithEnum.antlrtree.txt
@@ -1,5 +1,4 @@
-File: intersectionWithEnum.kt - 6dd84f4da835411cb21462a92e749566
- NL("\n")
+File: intersectionWithEnum.kt - facb640ee3a1b3c4ed521b5b6671531f
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/knownTypeParameters.antlrtree.txt b/grammar/testData/diagnostics/inference/knownTypeParameters.antlrtree.txt
index fa6024985..03a5de3f5 100644
--- a/grammar/testData/diagnostics/inference/knownTypeParameters.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/knownTypeParameters.antlrtree.txt
@@ -1,5 +1,4 @@
-File: knownTypeParameters.kt - 44983cd8e07b685f7cb12e4fbaa06401
- NL("\n")
+File: knownTypeParameters.kt - 1e7c8ad2496f0efc366a6aee2a19e40b
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/kt32415.antlrtree.txt b/grammar/testData/diagnostics/inference/kt32415.antlrtree.txt
index 508442852..b2fa5dd7f 100644
--- a/grammar/testData/diagnostics/inference/kt32415.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/kt32415.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32415.kt - 2f4d039428c2290ec963e2170d6ac833
- NL("\n")
+File: kt32415.kt - aad4cd04947ac6c5326ede1bb75480a6
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/kt32462.antlrtree.txt b/grammar/testData/diagnostics/inference/kt32462.antlrtree.txt
index 4c1b8f213..b98952156 100644
--- a/grammar/testData/diagnostics/inference/kt32462.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/kt32462.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32462.kt - f1c5721283c402e4c95ba283e236e3ca
- NL("\n")
+File: kt32462.kt - 9b5f7dcaf9dfc5c74bc4aaa62255e4cd
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/kt33263.antlrtree.txt b/grammar/testData/diagnostics/inference/kt33263.antlrtree.txt
index 906786916..620038e5e 100644
--- a/grammar/testData/diagnostics/inference/kt33263.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/kt33263.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt33263.kt - 267c7deeefb651c4e94e817c1649b73f
- NL("\n")
+File: kt33263.kt - 200c46bcac8064a3346b47554752e65d
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/kt35702.antlrtree.txt b/grammar/testData/diagnostics/inference/kt35702.antlrtree.txt
index cde9902a0..0afc181b5 100644
--- a/grammar/testData/diagnostics/inference/kt35702.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/kt35702.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt35702.kt - b75b85e53cf4040a234c549666601a4b
- NL("\n")
+File: kt35702.kt - 729bcef46c42498ac313790c87398b7c
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/kt36819.antlrtree.txt b/grammar/testData/diagnostics/inference/kt36819.antlrtree.txt
index aa728c505..79fa23a3d 100644
--- a/grammar/testData/diagnostics/inference/kt36819.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/kt36819.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt36819.kt - b06a4334a5d5039f0c76ed2a8a6437f7
- NL("\n")
+File: kt36819.kt - c1c01b8dc978247d7f51ed2409699694
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/kt47316.main.antlrtree.txt b/grammar/testData/diagnostics/inference/kt47316.main.antlrtree.txt
index d93e07123..27de2fba0 100644
--- a/grammar/testData/diagnostics/inference/kt47316.main.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/kt47316.main.antlrtree.txt
@@ -1,4 +1,4 @@
-File: kt47316.main.kt - 856c5296d9a86a6b5b9b349a7e0f389c
+File: kt47316.main.kt - 1a94d25a83c2ac08a2e34bf39ae5f397
packageHeader
importList
topLevelObject
@@ -190,6 +190,8 @@ File: kt47316.main.kt - 856c5296d9a86a6b5b9b349a7e0f389c
block
LCURL("{")
NL("\n")
+ NL("\n")
+ NL("\n")
statements
statement
expression
diff --git a/grammar/testData/diagnostics/controlFlowAnalysis/unusedInAnonymous.antlrtree.txt b/grammar/testData/diagnostics/inference/kt50232a.antlrtree.txt
similarity index 58%
rename from grammar/testData/diagnostics/controlFlowAnalysis/unusedInAnonymous.antlrtree.txt
rename to grammar/testData/diagnostics/inference/kt50232a.antlrtree.txt
index 77b75faff..e9087a166 100644
--- a/grammar/testData/diagnostics/controlFlowAnalysis/unusedInAnonymous.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/kt50232a.antlrtree.txt
@@ -1,89 +1,6 @@
-File: unusedInAnonymous.kt - 64591083e73c120e8ed1eb21c638438d
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
+File: kt50232a.kt - 141b79fad81858157b7261a8e13f0203
packageHeader
importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("someApi")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("42")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
topLevelObject
declaration
functionDeclaration
@@ -116,7 +33,7 @@ File: unusedInAnonymous.kt - 64591083e73c120e8ed1eb21c638438d
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("someApi")
+ Identifier("acceptMyRecursive")
postfixUnarySuffix
callSuffix
valueArguments
@@ -138,33 +55,182 @@ File: unusedInAnonymous.kt - 64591083e73c120e8ed1eb21c638438d
prefixUnaryExpression
postfixUnaryExpression
primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
+ simpleIdentifier
+ Identifier("inferType")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("MyRecursive")
+ quest
+ QUEST_NO_WS("?")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
RPAREN(")")
semis
NL("\n")
- NL("\n")
RCURL("}")
semis
- EOF("")
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("acceptMyRecursive")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ VALUE("value")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("MyRecursive")
+ quest
+ QUEST_NO_WS("?")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Recursive")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ quest
+ QUEST_NO_WS("?")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("inferType")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("R")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("TODO")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ ABSTRACT("abstract")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Recursive")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("R")
+ RANGLE(">")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("MyRecursive")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Recursive")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("MyRecursive")
+ RANGLE(">")
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/inference/kt53124.exp_main.antlrtree.txt b/grammar/testData/diagnostics/inference/kt53124.exp_main.antlrtree.txt
new file mode 100644
index 000000000..88897ae31
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/kt53124.exp_main.antlrtree.txt
@@ -0,0 +1,73 @@
+File: kt53124.exp_main.kt - 3f4f073984e0a7ad0555fc99d8aa4e8f
+ packageHeader
+ PACKAGE("package")
+ identifier
+ simpleIdentifier
+ Identifier("exp")
+ semi
+ NL("\n")
+ NL("\n")
+ importList
+ topLevelObject
+ declaration
+ propertyDeclaration
+ VAL("val")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Ns")
+ DOT(".")
+ simpleUserType
+ simpleIdentifier
+ Identifier("Foo")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ MULT("*")
+ RANGLE(">")
+ DOT(".")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("name")
+ NL("\n")
+ getter
+ GET("get")
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("name")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/lambdaArgumentWithLabel.antlrtree.txt b/grammar/testData/diagnostics/inference/lambdaArgumentWithLabel.antlrtree.txt
index 594a1ecfd..7c6a3ca91 100644
--- a/grammar/testData/diagnostics/inference/lambdaArgumentWithLabel.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/lambdaArgumentWithLabel.antlrtree.txt
@@ -1,5 +1,4 @@
-File: lambdaArgumentWithLabel.kt - a60754e536b740840dd5e80f135ca575
- NL("\n")
+File: lambdaArgumentWithLabel.kt - 50ba8b4dc5015368ef366e02719db409
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/localFunctionInsideIfBlock.antlrtree.txt b/grammar/testData/diagnostics/inference/localFunctionInsideIfBlock.antlrtree.txt
index b66c992a8..16ac3a749 100644
--- a/grammar/testData/diagnostics/inference/localFunctionInsideIfBlock.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/localFunctionInsideIfBlock.antlrtree.txt
@@ -1,5 +1,4 @@
-File: localFunctionInsideIfBlock.kt - 44ac05bf1c5f9574b5d36ffd2e08aad7
- NL("\n")
+File: localFunctionInsideIfBlock.kt - 4d1c714e1036ddb23280fdd3fc7ab4ca
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/nestedCalls/preferArgumentToNullability.antlrtree.txt b/grammar/testData/diagnostics/inference/nestedCalls/preferArgumentToNullability.antlrtree.txt
index 3cc0ed847..505e9ca40 100644
--- a/grammar/testData/diagnostics/inference/nestedCalls/preferArgumentToNullability.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nestedCalls/preferArgumentToNullability.antlrtree.txt
@@ -1,5 +1,4 @@
-File: preferArgumentToNullability.kt - c85508835af973d6693e604493982f5d
- NL("\n")
+File: preferArgumentToNullability.kt - 16bc2e64db78d9613c4ccba9591dddf4
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/nothingType/complexDependancyOnVariableWithTrivialConstraint.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/complexDependancyOnVariableWithTrivialConstraint.antlrtree.txt
index 531d76f95..e6b3870cc 100644
--- a/grammar/testData/diagnostics/inference/nothingType/complexDependancyOnVariableWithTrivialConstraint.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/complexDependancyOnVariableWithTrivialConstraint.antlrtree.txt
@@ -1,5 +1,4 @@
-File: complexDependancyOnVariableWithTrivialConstraint.kt - 6e7cb6f860e7b6c5575ef42237d11c30
- NL("\n")
+File: complexDependancyOnVariableWithTrivialConstraint.kt - 49f8e371a4d510e4c207e25f3655896f
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/nothingType/discriminateNothingForReifiedParameter.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/discriminateNothingForReifiedParameter.antlrtree.txt
index 32bc5ae95..2f95fb82a 100644
--- a/grammar/testData/diagnostics/inference/nothingType/discriminateNothingForReifiedParameter.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/discriminateNothingForReifiedParameter.antlrtree.txt
@@ -1,5 +1,4 @@
-File: discriminateNothingForReifiedParameter.kt - 5739963535f04fb02b3d49919a7b06a7
- NL("\n")
+File: discriminateNothingForReifiedParameter.kt - ea1b76c17aee932cb60fdb42f3beb684
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/nothingType/discriminatedNothingAndSmartCast.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/discriminatedNothingAndSmartCast.antlrtree.txt
index a688bb0e4..148cf495f 100644
--- a/grammar/testData/diagnostics/inference/nothingType/discriminatedNothingAndSmartCast.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/discriminatedNothingAndSmartCast.antlrtree.txt
@@ -1,5 +1,4 @@
-File: discriminatedNothingAndSmartCast.kt - 3c019af006c6685d4216818f8d2ca456
- NL("\n")
+File: discriminatedNothingAndSmartCast.kt - 3a2aafccee88577bd94a8df6aa47e054
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/nothingType/discriminatedNothingInsideComplexNestedCall.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/discriminatedNothingInsideComplexNestedCall.antlrtree.txt
index 0fa5dfd9e..745cd54b1 100644
--- a/grammar/testData/diagnostics/inference/nothingType/discriminatedNothingInsideComplexNestedCall.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/discriminatedNothingInsideComplexNestedCall.antlrtree.txt
@@ -1,5 +1,4 @@
-File: discriminatedNothingInsideComplexNestedCall.kt - 9265fe116c73372b7e7a9dca10615be7
- NL("\n")
+File: discriminatedNothingInsideComplexNestedCall.kt - 88d06d3cb6c9877dca78116f2042b4f0
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/nothingType/generateConstraintWithInnerNothingType.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/generateConstraintWithInnerNothingType.antlrtree.txt
index 505967d91..09be40f9d 100644
--- a/grammar/testData/diagnostics/inference/nothingType/generateConstraintWithInnerNothingType.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/generateConstraintWithInnerNothingType.antlrtree.txt
@@ -1,5 +1,4 @@
-File: generateConstraintWithInnerNothingType.kt - 85f3bd58c6e4bf65ac55499bec87596d
- NL("\n")
+File: generateConstraintWithInnerNothingType.kt - 0cfc5a5c59e65eebcd1e44b3f046f071
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/nothingType/implicitInferenceTToFlexibleNothing.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/implicitInferenceTToFlexibleNothing.antlrtree.txt
index d45d0fe09..a4b1f68fe 100644
--- a/grammar/testData/diagnostics/inference/nothingType/implicitInferenceTToFlexibleNothing.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/implicitInferenceTToFlexibleNothing.antlrtree.txt
@@ -1,5 +1,4 @@
-File: implicitInferenceTToFlexibleNothing.kt - e4f9c9b9649ce9591336f835039d5aa4
- NL("\n")
+File: implicitInferenceTToFlexibleNothing.kt - e808489fef6e97697d405ab9a747adfe
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/nothingType/implicitNothingConstraintFromReturn.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/implicitNothingConstraintFromReturn.antlrtree.txt
index 2b23c751b..fee705c8d 100644
--- a/grammar/testData/diagnostics/inference/nothingType/implicitNothingConstraintFromReturn.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/implicitNothingConstraintFromReturn.antlrtree.txt
@@ -1,5 +1,4 @@
-File: implicitNothingConstraintFromReturn.kt - 106866cc583392efe74d27011cdbd6e7
- NL("\n")
+File: implicitNothingConstraintFromReturn.kt - 4ec67c42ecc43387950f03374b2eacef
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/nothingType/kt24490.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/kt24490.antlrtree.txt
index 8cd9d5040..b9759dc95 100644
--- a/grammar/testData/diagnostics/inference/nothingType/kt24490.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/kt24490.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt24490.kt - 8b7b04637eb2a26a6c05d80f2b056edc
- NL("\n")
+File: kt24490.kt - 80281b2ff77d4b8ad7a2df2cf8b4fa8d
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/nothingType/kt34335.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/kt34335.antlrtree.txt
index dd570319a..330a46dee 100644
--- a/grammar/testData/diagnostics/inference/nothingType/kt34335.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/kt34335.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt34335.kt - 8d3ad71febdde9cbfc8d9879c96d3c37
- NL("\n")
+File: kt34335.kt - f646532d05d57af747ee122cce651bb1
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/nothingType/nestedLambdaInferenceWithIncorporationOfVariables.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/nestedLambdaInferenceWithIncorporationOfVariables.antlrtree.txt
index 9978508bf..188be3b6c 100644
--- a/grammar/testData/diagnostics/inference/nothingType/nestedLambdaInferenceWithIncorporationOfVariables.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/nestedLambdaInferenceWithIncorporationOfVariables.antlrtree.txt
@@ -1,5 +1,4 @@
-File: nestedLambdaInferenceWithIncorporationOfVariables.kt - 10e94acebbe6c6e294feb534159eacdf
- NL("\n")
+File: nestedLambdaInferenceWithIncorporationOfVariables.kt - c94f07c8361a954aed0b31a0284f9963
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/nothingType/notEnoughInformationAndNothing.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/notEnoughInformationAndNothing.antlrtree.txt
index 1df101664..121e8f5f2 100644
--- a/grammar/testData/diagnostics/inference/nothingType/notEnoughInformationAndNothing.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/notEnoughInformationAndNothing.antlrtree.txt
@@ -1,5 +1,4 @@
-File: notEnoughInformationAndNothing.kt - 11b6c5408bde6f301a0ab441a1aa4730
- NL("\n")
+File: notEnoughInformationAndNothing.kt - 11083edc0a105d75e50ceb03944ad045
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/nothingType/nothingWithCallableReference.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/nothingWithCallableReference.antlrtree.txt
index 1d568015b..91976047b 100644
--- a/grammar/testData/diagnostics/inference/nothingType/nothingWithCallableReference.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/nothingWithCallableReference.antlrtree.txt
@@ -1,5 +1,4 @@
-File: nothingWithCallableReference.kt - 90db9ce3899e56469d1d02e90b90f948
- NL("\n")
+File: nothingWithCallableReference.kt - 6de1d324dad8c623d2085fdb86478bb7
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/nothingType/nullableExpectedTypeFromVariable.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/nullableExpectedTypeFromVariable.antlrtree.txt
index f617b6f39..938167697 100644
--- a/grammar/testData/diagnostics/inference/nothingType/nullableExpectedTypeFromVariable.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/nullableExpectedTypeFromVariable.antlrtree.txt
@@ -1,5 +1,4 @@
-File: nullableExpectedTypeFromVariable.kt - 37a52bad4c959b162cada221324c2b36
- NL("\n")
+File: nullableExpectedTypeFromVariable.kt - ad45779c0a29e7a9dad3745548168959
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/nothingType/reifiedParameterWithRecursiveBound.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/reifiedParameterWithRecursiveBound.antlrtree.txt
index 72a935d30..47ba6a61d 100644
--- a/grammar/testData/diagnostics/inference/nothingType/reifiedParameterWithRecursiveBound.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/reifiedParameterWithRecursiveBound.antlrtree.txt
@@ -1,5 +1,4 @@
-File: reifiedParameterWithRecursiveBound.kt - a55753f41f8e0544ef125d89a940f233
- NL("\n")
+File: reifiedParameterWithRecursiveBound.kt - fb0bcdbafe92dac32596d34583b40540
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/nothingType/specialCallWithMaterializeAndExpectedType.antlrtree.txt b/grammar/testData/diagnostics/inference/nothingType/specialCallWithMaterializeAndExpectedType.antlrtree.txt
index d536dff39..f2dc6de25 100644
--- a/grammar/testData/diagnostics/inference/nothingType/specialCallWithMaterializeAndExpectedType.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/nothingType/specialCallWithMaterializeAndExpectedType.antlrtree.txt
@@ -1,5 +1,4 @@
-File: specialCallWithMaterializeAndExpectedType.kt - 8bc5809b2ada66d9f7733ff65f00caca
- NL("\n")
+File: specialCallWithMaterializeAndExpectedType.kt - af0b13b5c249167143fde65942752ef9
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/publicApproximation/approximatedIntersectionMorePreciseThanBound.antlrtree.txt b/grammar/testData/diagnostics/inference/publicApproximation/approximatedIntersectionMorePreciseThanBound.antlrtree.txt
index d5aa79a6a..74662f290 100644
--- a/grammar/testData/diagnostics/inference/publicApproximation/approximatedIntersectionMorePreciseThanBound.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/publicApproximation/approximatedIntersectionMorePreciseThanBound.antlrtree.txt
@@ -1,5 +1,4 @@
-File: approximatedIntersectionMorePreciseThanBound.kt - fb4846e750f459671231f94c0f1b134a
- NL("\n")
+File: approximatedIntersectionMorePreciseThanBound.kt - f70118b5eb4ac05df182493ed3bbd01e
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/publicApproximation/declarationTypes.antlrtree.txt b/grammar/testData/diagnostics/inference/publicApproximation/declarationTypes.antlrtree.txt
index 71b0e8ba9..1e627ea7e 100644
--- a/grammar/testData/diagnostics/inference/publicApproximation/declarationTypes.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/publicApproximation/declarationTypes.antlrtree.txt
@@ -1,5 +1,4 @@
-File: declarationTypes.kt - a075487aae2da549f8b0a70c8f7ea302
- NL("\n")
+File: declarationTypes.kt - 804ce9f3bd2e830d3c261bba82e822d4
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/publicApproximation/intersectionAlternative.antlrtree.txt b/grammar/testData/diagnostics/inference/publicApproximation/intersectionAlternative.antlrtree.txt
index be784bb34..2d51b3994 100644
--- a/grammar/testData/diagnostics/inference/publicApproximation/intersectionAlternative.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/publicApproximation/intersectionAlternative.antlrtree.txt
@@ -1,5 +1,4 @@
-File: intersectionAlternative.kt - cac35a7065d0a48627030d61824ef2a9
- NL("\n")
+File: intersectionAlternative.kt - 6bfd067c344c9689bd36aeb3e20660ac
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/publicApproximation/intersectionLocations.antlrtree.txt b/grammar/testData/diagnostics/inference/publicApproximation/intersectionLocations.antlrtree.txt
index ec621e620..36c60e3c1 100644
--- a/grammar/testData/diagnostics/inference/publicApproximation/intersectionLocations.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/publicApproximation/intersectionLocations.antlrtree.txt
@@ -1,5 +1,4 @@
-File: intersectionLocations.kt - a534085abdd4982d76ac338af7a0eb56
- NL("\n")
+File: intersectionLocations.kt - 6e8517deff37df119df1ba8e718c1791
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/publicApproximation/lambdaReturnTypeApproximation.antlrtree.txt b/grammar/testData/diagnostics/inference/publicApproximation/lambdaReturnTypeApproximation.antlrtree.txt
index 5b3f6b3cd..3f7154339 100644
--- a/grammar/testData/diagnostics/inference/publicApproximation/lambdaReturnTypeApproximation.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/publicApproximation/lambdaReturnTypeApproximation.antlrtree.txt
@@ -1,5 +1,4 @@
-File: lambdaReturnTypeApproximation.kt - 28484f0c7d73992c3471e5e5dfa87a08
- NL("\n")
+File: lambdaReturnTypeApproximation.kt - a1e213ae8b6f1aff98bcc9ad93093ca6
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/publicApproximation/parameterInBound.antlrtree.txt b/grammar/testData/diagnostics/inference/publicApproximation/parameterInBound.antlrtree.txt
index 0d8a92095..bccffb442 100644
--- a/grammar/testData/diagnostics/inference/publicApproximation/parameterInBound.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/publicApproximation/parameterInBound.antlrtree.txt
@@ -1,5 +1,4 @@
-File: parameterInBound.kt - b84235bcb5dc98739514fc506725ce00
- NL("\n")
+File: parameterInBound.kt - 41b6cbb19d7fe918e99bedeb8ab55896
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/recursiveTypes/multirecursion.antlrtree.txt b/grammar/testData/diagnostics/inference/recursiveTypes/multirecursion.antlrtree.txt
index 7f3ab3bc5..ad1aa3cc3 100644
--- a/grammar/testData/diagnostics/inference/recursiveTypes/multirecursion.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/recursiveTypes/multirecursion.antlrtree.txt
@@ -1,5 +1,4 @@
-File: multirecursion.kt - bf1bd9b55154b841c49bebd2cde742f4
- NL("\n")
+File: multirecursion.kt - e83fd716e7156be55d4707284de1f4ee
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInIn.antlrtree.txt b/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInIn.antlrtree.txt
index 47ead9a38..494977fe5 100644
--- a/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInIn.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInIn.antlrtree.txt
@@ -1,5 +1,4 @@
-File: recursiveInIn.kt - 9312f4283d5e49c530bd73bd1cb33835
- NL("\n")
+File: recursiveInIn.kt - f3a3882b86939278652888dbd75037d7
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInInv.antlrtree.txt b/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInInv.antlrtree.txt
index 09c081a96..c4e6c0990 100644
--- a/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInInv.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInInv.antlrtree.txt
@@ -1,5 +1,4 @@
-File: recursiveInInv.kt - f376f0c10441a9890fcd255b0c58cd8b
- NL("\n")
+File: recursiveInInv.kt - 4f8bc92fe234e9988a2a195edf456c1d
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInOut.antlrtree.txt b/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInOut.antlrtree.txt
index cba2dd593..b760cf477 100644
--- a/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInOut.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInOut.antlrtree.txt
@@ -1,5 +1,4 @@
-File: recursiveInOut.kt - d598c6ad5a63e7f729a8339ff79136e9
- NL("\n")
+File: recursiveInOut.kt - 6c36c0e499ba4e29191b8b54b7a51f59
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInvIn.antlrtree.txt b/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInvIn.antlrtree.txt
index def2a94e0..f38fc5e26 100644
--- a/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInvIn.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/recursiveTypes/recursiveInvIn.antlrtree.txt
@@ -1,5 +1,4 @@
-File: recursiveInvIn.kt - a4ce12aad84bc172f951a4990b0978b3
- NL("\n")
+File: recursiveInvIn.kt - 823ce3e128cb9e2bcae0966119f17fbf
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/recursiveTypes/recursiveOutIn.antlrtree.txt b/grammar/testData/diagnostics/inference/recursiveTypes/recursiveOutIn.antlrtree.txt
index 38ae396be..079813c8a 100644
--- a/grammar/testData/diagnostics/inference/recursiveTypes/recursiveOutIn.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/recursiveTypes/recursiveOutIn.antlrtree.txt
@@ -1,5 +1,4 @@
-File: recursiveOutIn.kt - ba32631ca8c125c1b2a4858f7601125c
- NL("\n")
+File: recursiveOutIn.kt - b3ceaecfaedcfd33dce48dd60b638b4a
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/recursiveTypes/twoTypeConstructors.antlrtree.txt b/grammar/testData/diagnostics/inference/recursiveTypes/twoTypeConstructors.antlrtree.txt
index c3d60d046..7b0a9786d 100644
--- a/grammar/testData/diagnostics/inference/recursiveTypes/twoTypeConstructors.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/recursiveTypes/twoTypeConstructors.antlrtree.txt
@@ -1,5 +1,4 @@
-File: twoTypeConstructors.kt - 86fbe87d9bc040ea3960e5f17c71b95a
- NL("\n")
+File: twoTypeConstructors.kt - 755cea6a43edd945d0b5e6d49878ca49
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/regressions/kt32250.antlrtree.txt b/grammar/testData/diagnostics/inference/regressions/kt32250.antlrtree.txt
index 53fe69ea1..bd91862a3 100644
--- a/grammar/testData/diagnostics/inference/regressions/kt32250.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/regressions/kt32250.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32250.kt - 62a306d2e8795823c6112e52bca39897
- NL("\n")
+File: kt32250.kt - 695eeaa4daa67f5e3ac1196736ea73d3
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/regressions/kt34282.antlrtree.txt b/grammar/testData/diagnostics/inference/regressions/kt34282.antlrtree.txt
index 40ab95b3a..291df3859 100644
--- a/grammar/testData/diagnostics/inference/regressions/kt34282.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/regressions/kt34282.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt34282.kt - 2e98d2791e7e50f137771bd705322e04
- NL("\n")
+File: kt34282.kt - 2a0118e0b12c1b8fce101fc204a874e5
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/regressions/kt35844.antlrtree.txt b/grammar/testData/diagnostics/inference/regressions/kt35844.antlrtree.txt
index ddc262ece..7499eb81e 100644
--- a/grammar/testData/diagnostics/inference/regressions/kt35844.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/regressions/kt35844.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt35844.kt - 65526881ea1463ac635fb0c9c6ad7b96
- NL("\n")
+File: kt35844.kt - 1139d9b049e1b8e5a473aae4e335cf4d
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/regressions/kt35943.antlrtree.txt b/grammar/testData/diagnostics/inference/regressions/kt35943.antlrtree.txt
index 25e077ff4..deaa727f1 100644
--- a/grammar/testData/diagnostics/inference/regressions/kt35943.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/regressions/kt35943.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt35943.kt - c03cdc2b8d70ecd2eed3ffe1d318ed10
- NL("\n")
+File: kt35943.kt - a80002c947fdc94ab28c987a6911b0d0
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/regressions/kt37419.antlrtree.txt b/grammar/testData/diagnostics/inference/regressions/kt37419.antlrtree.txt
index cae390820..8f75847ee 100644
--- a/grammar/testData/diagnostics/inference/regressions/kt37419.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/regressions/kt37419.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt37419.kt - e2e149984bae9782849dceff1e1a7b9b
- NL("\n")
+File: kt37419.kt - 6fd8f2de8d090f9ac85c01ef4e57e040
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inference/regressions/kt37650.antlrtree.txt b/grammar/testData/diagnostics/inference/regressions/kt37650.antlrtree.txt
index a394dce10..b58e9cd62 100644
--- a/grammar/testData/diagnostics/inference/regressions/kt37650.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/regressions/kt37650.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt37650.kt - 78d77148cd642fd0bd491412a34087a6
- NL("\n")
+File: kt37650.kt - 3065970b4d35a06dd9ceabd14d76429d
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/regressions/kt38691.antlrtree.txt b/grammar/testData/diagnostics/inference/regressions/kt38691.antlrtree.txt
index 2eb98d96d..a913d1faa 100644
--- a/grammar/testData/diagnostics/inference/regressions/kt38691.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/regressions/kt38691.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt38691.kt - 77afcc525595b52439ee37ffe1aa2756
- NL("\n")
+File: kt38691.kt - 96d75690c839591a59859660468f9a12
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/regressions/kt41386.antlrtree.txt b/grammar/testData/diagnostics/inference/regressions/kt41386.antlrtree.txt
index 47936d4cf..02b9977ca 100644
--- a/grammar/testData/diagnostics/inference/regressions/kt41386.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/regressions/kt41386.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt41386.kt - 7577d2b7b6361b49e5551cde77793764
- NL("\n")
+File: kt41386.kt - 0d358f7cd122b634289ec56643b25cc4
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/inference/starApproximation.antlrtree.txt b/grammar/testData/diagnostics/inference/starApproximation.antlrtree.txt
index 082b63d9c..0d4aeb67e 100644
--- a/grammar/testData/diagnostics/inference/starApproximation.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/starApproximation.antlrtree.txt
@@ -1,5 +1,4 @@
-File: starApproximation.kt - 039f1e1ced2061ef04f10e3cf59cb1af
- NL("\n")
+File: starApproximation.kt - 77b552fb38481204984c009aed474a29
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/starApproximationBangBang.antlrtree.txt b/grammar/testData/diagnostics/inference/starApproximationBangBang.antlrtree.txt
index 18d09c794..9fce3b743 100644
--- a/grammar/testData/diagnostics/inference/starApproximationBangBang.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/starApproximationBangBang.antlrtree.txt
@@ -1,5 +1,4 @@
-File: starApproximationBangBang.kt - 0c564dd0bba7b4faa1f46ae1fd7719e5
- NL("\n")
+File: starApproximationBangBang.kt - 241c31714a8a1cb3959e8c227289fdad
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/starApproximationFromDifferentTypeParameter.antlrtree.txt b/grammar/testData/diagnostics/inference/starApproximationFromDifferentTypeParameter.antlrtree.txt
index bb48ab970..0ad60f4b0 100644
--- a/grammar/testData/diagnostics/inference/starApproximationFromDifferentTypeParameter.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/starApproximationFromDifferentTypeParameter.antlrtree.txt
@@ -1,5 +1,4 @@
-File: starApproximationFromDifferentTypeParameter.kt - 35d4670baafdbb882d97723570b1eb75
- NL("\n")
+File: starApproximationFromDifferentTypeParameter.kt - c8a9aedb868e34a372f4bc153471c61c
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/substitutions/hideFlexibleLocalTypeInPublicPosition.main.antlrtree.txt b/grammar/testData/diagnostics/inference/substitutions/hideFlexibleLocalTypeInPublicPosition.main.antlrtree.txt
new file mode 100644
index 000000000..f06c0f0c9
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/substitutions/hideFlexibleLocalTypeInPublicPosition.main.antlrtree.txt
@@ -0,0 +1,384 @@
+File: hideFlexibleLocalTypeInPublicPosition.main.kt - af1d1a9465e961b2e8ce6b7592daebab
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("I")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("bar")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("condition")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ NL("\n")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("J")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("flexibleId")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ objectLiteral
+ OBJECT("object")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("I")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("may or may not check for null first")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("baz")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("invisible")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ RCURL("}")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("main")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("baz")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ safeNav
+ QUEST_NO_WS("?")
+ DOT(".")
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/substitutions/hideFlexibleLocalTypeInPublicPosition_before.main.antlrtree.txt b/grammar/testData/diagnostics/inference/substitutions/hideFlexibleLocalTypeInPublicPosition_before.main.antlrtree.txt
new file mode 100644
index 000000000..2d76a89f6
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/substitutions/hideFlexibleLocalTypeInPublicPosition_before.main.antlrtree.txt
@@ -0,0 +1,384 @@
+File: hideFlexibleLocalTypeInPublicPosition_before.main.kt - af1d1a9465e961b2e8ce6b7592daebab
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("I")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("bar")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("condition")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ NL("\n")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("J")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("flexibleId")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ objectLiteral
+ OBJECT("object")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("I")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("may or may not check for null first")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("baz")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("invisible")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ RCURL("}")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("main")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("baz")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ safeNav
+ QUEST_NO_WS("?")
+ DOT(".")
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/substitutions/hideNullableLocalTypeInPublicPosition.antlrtree.txt b/grammar/testData/diagnostics/inference/substitutions/hideNullableLocalTypeInPublicPosition.antlrtree.txt
new file mode 100644
index 000000000..d5bb5cdd1
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/substitutions/hideNullableLocalTypeInPublicPosition.antlrtree.txt
@@ -0,0 +1,420 @@
+File: hideNullableLocalTypeInPublicPosition.kt - 8fc2a7bab0ca368866193ece75b66f96
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("I")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("bar")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("condition")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ NL("\n")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ ifExpression
+ IF("if")
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("condition")
+ RPAREN(")")
+ NL("\n")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ objectLiteral
+ OBJECT("object")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("I")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("should check for null first")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("baz")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("invisible")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ RCURL("}")
+ NL("\n")
+ ELSE("else")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ NullLiteral("null")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("main")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("baz")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ safeNav
+ QUEST_NO_WS("?")
+ DOT(".")
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/substitutions/hideNullableLocalTypeInPublicPosition_before.antlrtree.txt b/grammar/testData/diagnostics/inference/substitutions/hideNullableLocalTypeInPublicPosition_before.antlrtree.txt
new file mode 100644
index 000000000..81a482f31
--- /dev/null
+++ b/grammar/testData/diagnostics/inference/substitutions/hideNullableLocalTypeInPublicPosition_before.antlrtree.txt
@@ -0,0 +1,419 @@
+File: hideNullableLocalTypeInPublicPosition_before.kt - 031b1acb0863f0a832cd826f81b8bf81
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("I")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("bar")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("condition")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Boolean")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ NL("\n")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ ifExpression
+ IF("if")
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("condition")
+ RPAREN(")")
+ NL("\n")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ objectLiteral
+ OBJECT("object")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("I")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("should check for null first")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("baz")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("invisible")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ RCURL("}")
+ NL("\n")
+ ELSE("else")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ NullLiteral("null")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("main")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("baz")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("bar")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ BooleanLiteral("false")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ safeNav
+ QUEST_NO_WS("?")
+ DOT(".")
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inference/substitutions/kt32189returnTypeWithTypealiasSubtitution.antlrtree.txt b/grammar/testData/diagnostics/inference/substitutions/kt32189returnTypeWithTypealiasSubtitution.antlrtree.txt
index 3c7369e88..9c8bad6f4 100644
--- a/grammar/testData/diagnostics/inference/substitutions/kt32189returnTypeWithTypealiasSubtitution.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/substitutions/kt32189returnTypeWithTypealiasSubtitution.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32189returnTypeWithTypealiasSubtitution.kt - b1fc5e96b0f2a6bcc5695c8fb9a8c4c1
- NL("\n")
+File: kt32189returnTypeWithTypealiasSubtitution.kt - 49f225a8cd717ad4d187832edede1cfa
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/substitutions/kt32189returnTypeWithTypealiasSubtitutionOldInference.antlrtree.txt b/grammar/testData/diagnostics/inference/substitutions/kt32189returnTypeWithTypealiasSubtitutionOldInference.antlrtree.txt
deleted file mode 100644
index c2e13a99d..000000000
--- a/grammar/testData/diagnostics/inference/substitutions/kt32189returnTypeWithTypealiasSubtitutionOldInference.antlrtree.txt
+++ /dev/null
@@ -1,468 +0,0 @@
-File: kt32189returnTypeWithTypealiasSubtitutionOldInference.kt - d297b06fb6be6498bad38e11abd4ef6c
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("B")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Builder")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- typeAlias
- TYPE_ALIAS("typealias")
- simpleIdentifier
- Identifier("ApplyRestrictions")
- ASSIGNMENT("=")
- type
- functionType
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("Builder")
- DOT(".")
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("Builder")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("applyRestrictions1")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ApplyRestrictions")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("TODO")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("applyRestrictions2")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("applyRestrictions1")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("K")
- RANGLE(">")
- simpleIdentifier
- Identifier("applyRestrictions3")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("e")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("K")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("applyRestrictions1")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("buildB")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a1")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("applyRestrictions1")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a2")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("applyRestrictions2")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a3")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("applyRestrictions3")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("foo")
- QUOTE_CLOSE(""")
- RPAREN(")")
- NL("\n")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("B")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Builder")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("a1")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("B")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Builder")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("a2")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("B")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Builder")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("a3")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/inference/tooEagerSmartcast.antlrtree.txt b/grammar/testData/diagnostics/inference/tooEagerSmartcast.antlrtree.txt
index bde86f6d7..2e7a5054f 100644
--- a/grammar/testData/diagnostics/inference/tooEagerSmartcast.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/tooEagerSmartcast.antlrtree.txt
@@ -1,5 +1,4 @@
-File: tooEagerSmartcast.kt - 59446c18b0ffc7ecf9786b12fb601eaa
- NL("\n")
+File: tooEagerSmartcast.kt - 8dd54c9eb8bc838cd30dedd975b4a7cb
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/inference/typeParameterInConstructor.antlrtree.txt b/grammar/testData/diagnostics/inference/typeParameterInConstructor.antlrtree.txt
index 4d4ea43d7..908fcc924 100644
--- a/grammar/testData/diagnostics/inference/typeParameterInConstructor.antlrtree.txt
+++ b/grammar/testData/diagnostics/inference/typeParameterInConstructor.antlrtree.txt
@@ -1,5 +1,4 @@
-File: typeParameterInConstructor.kt - 9cc65cd7a495e2a7dfa936495c4342aa
- NL("\n")
+File: typeParameterInConstructor.kt - d4494bf41a39717d032ed8ac97176839
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/inline/defaultLambdaInlineDisable.antlrtree.txt b/grammar/testData/diagnostics/inline/defaultLambdaInlineDisable.antlrtree.txt
deleted file mode 100644
index 0caec0afd..000000000
--- a/grammar/testData/diagnostics/inline/defaultLambdaInlineDisable.antlrtree.txt
+++ /dev/null
@@ -1,1238 +0,0 @@
-File: defaultLambdaInlineDisable.kt - 2a52f7efcbf3045807e25031bc75708b
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("prop")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("prop")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("FooObject")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("prop")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("test")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default3")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("prop")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default4")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("FooObject")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("test")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default5")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("FooObject")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("prop")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default6")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- parameter
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Foo")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Foo")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("test")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default7")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- parameter
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Foo")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Foo")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("prop")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default8")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("test")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default9")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("prop")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default10")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Function0")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("invoke")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("FAIL")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- CLASS("class")
- simpleIdentifier
- Identifier("Base")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Derived")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- modifier
- inheritanceModifier
- FINAL("final")
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default11")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Derived")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("Derived")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/inline/inlineLambdaInDefaultInlineParameterDisabled.antlrtree.txt b/grammar/testData/diagnostics/inline/inlineLambdaInDefaultInlineParameterDisabled.antlrtree.txt
deleted file mode 100644
index 80b75ef69..000000000
--- a/grammar/testData/diagnostics/inline/inlineLambdaInDefaultInlineParameterDisabled.antlrtree.txt
+++ /dev/null
@@ -1,1986 +0,0 @@
-File: inlineLambdaInDefaultInlineParameterDisabled.kt - 9512acd3a64e658487f242e82aa6dff3
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("inlineFun")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("noInlineFun")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default0_1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default0_2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("noInlineFun")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default1_0")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default1_1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameterModifiers
- parameterModifier
- NOINLINE("noinline")
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default1_1crossinline")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameterModifiers
- parameterModifier
- CROSSINLINE("crossinline")
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameterModifiers
- parameterModifier
- NOINLINE("noinline")
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default1_2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameterModifiers
- parameterModifier
- NOINLINE("noinline")
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default1_3")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameterModifiers
- parameterModifier
- NOINLINE("noinline")
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameterModifiers
- parameterModifier
- NOINLINE("noinline")
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default2_0")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("inlineFun")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default2_1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameterModifiers
- parameterModifier
- NOINLINE("noinline")
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("inlineFun")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default2_1crossinline")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameterModifiers
- parameterModifier
- CROSSINLINE("crossinline")
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameterModifiers
- parameterModifier
- NOINLINE("noinline")
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("inlineFun")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default2_2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameterModifiers
- parameterModifier
- NOINLINE("noinline")
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("inlineFun")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("default2_3")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameterModifiers
- parameterModifier
- NOINLINE("noinline")
- parameter
- simpleIdentifier
- Identifier("lambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- functionValueParameter
- parameterModifiers
- parameterModifier
- NOINLINE("noinline")
- parameter
- simpleIdentifier
- Identifier("dlambda")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("inlineFun")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- RPAREN(")")
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("dlambda")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/inline/unsupportedConstruction.antlrtree.txt b/grammar/testData/diagnostics/inline/unsupportedConstruction.antlrtree.txt
deleted file mode 100644
index c1abfb765..000000000
--- a/grammar/testData/diagnostics/inline/unsupportedConstruction.antlrtree.txt
+++ /dev/null
@@ -1,326 +0,0 @@
-File: unsupportedConstruction.kt - c738339fa4e5a3d311ee201e9ac4b910
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("unsupported")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- statement
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("a")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("AInner")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("B")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("BInner")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("local")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("localInner")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("unsupportedDefault")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("Base")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Derived")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- modifier
- inheritanceModifier
- FINAL("final")
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/inline/virtualMemberInEnum.antlrtree.txt b/grammar/testData/diagnostics/inline/virtualMemberInEnum.antlrtree.txt
new file mode 100644
index 000000000..eafdb67fb
--- /dev/null
+++ b/grammar/testData/diagnostics/inline/virtualMemberInEnum.antlrtree.txt
@@ -0,0 +1,229 @@
+File: virtualMemberInEnum.kt - e45196dfed4c62212f3947135a287e03
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ classModifier
+ ENUM("enum")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Some")
+ enumClassBody
+ LCURL("{")
+ NL("\n")
+ enumEntries
+ enumEntry
+ simpleIdentifier
+ Identifier("A")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("s")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("s")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ additiveOperator
+ ADD("+")
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("s")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ SEMICOLON(";")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ OPEN("open")
+ modifier
+ functionModifier
+ INLINE("inline")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("s")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("s")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/inner/illegalModifier.antlrtree.txt b/grammar/testData/diagnostics/inner/illegalModifier.antlrtree.txt
deleted file mode 100644
index 6d9310972..000000000
--- a/grammar/testData/diagnostics/inner/illegalModifier.antlrtree.txt
+++ /dev/null
@@ -1,399 +0,0 @@
-File: illegalModifier.kt - 407d5351103422ff77d49c8acfb7f584
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("prop")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("42")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- INTERFACE("interface")
- simpleIdentifier
- Identifier("B")
- semis
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- OBJECT("object")
- simpleIdentifier
- Identifier("C")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("D")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("E")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- INTERFACE("interface")
- simpleIdentifier
- Identifier("F")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- objectDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- OBJECT("object")
- simpleIdentifier
- Identifier("G")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- modifier
- classModifier
- ENUM("enum")
- CLASS("class")
- simpleIdentifier
- Identifier("R")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("S")
- semis
- NL("\n")
- classMemberDeclaration
- companionObject
- modifiers
- modifier
- classModifier
- INNER("inner")
- COMPANION("companion")
- OBJECT("object")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ENUM("enum")
- CLASS("class")
- simpleIdentifier
- Identifier("H")
- enumClassBody
- LCURL("{")
- NL("\n")
- enumEntries
- enumEntry
- simpleIdentifier
- Identifier("I0")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("II0")
- semis
- NL("\n")
- RCURL("}")
- COMMA(",")
- NL("\n")
- enumEntry
- modifiers
- modifier
- classModifier
- INNER("inner")
- simpleIdentifier
- Identifier("I")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("II")
- semis
- NL("\n")
- RCURL("}")
- SEMICOLON(";")
- NL("\n")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("J")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("K")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("L")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("N")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("O")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("P")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- companionObject
- COMPANION("companion")
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("Q")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("R")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("S")
- semis
- NL("\n")
- RCURL("}")
- NL("\n")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/inner/innerClassInEnumEntryClass_lv11.antlrtree.txt b/grammar/testData/diagnostics/inner/innerClassInEnumEntryClass_lv11.antlrtree.txt
deleted file mode 100644
index 2161833eb..000000000
--- a/grammar/testData/diagnostics/inner/innerClassInEnumEntryClass_lv11.antlrtree.txt
+++ /dev/null
@@ -1,104 +0,0 @@
-File: innerClassInEnumEntryClass_lv11.kt - fe503ac6a52daa3bf70a93e8813c1a17
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ENUM("enum")
- CLASS("class")
- simpleIdentifier
- Identifier("Enum")
- enumClassBody
- LCURL("{")
- NL("\n")
- enumEntries
- enumEntry
- simpleIdentifier
- Identifier("ENTRY_WITH_CLASS")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("TestInner")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("TestNested")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("TestInterface")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("TestObject")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ENUM("enum")
- CLASS("class")
- simpleIdentifier
- Identifier("TestEnumClass")
- enumClassBody
- LCURL("{")
- NL("\n")
- enumEntries
- enumEntry
- simpleIdentifier
- Identifier("OTHER_ENTRY")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- companionObject
- COMPANION("companion")
- OBJECT("object")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/j+k/defaultMethods_warning.1.antlrtree.txt b/grammar/testData/diagnostics/j+k/defaultMethods_warning.1.antlrtree.txt
deleted file mode 100644
index 22af81df7..000000000
--- a/grammar/testData/diagnostics/j+k/defaultMethods_warning.1.antlrtree.txt
+++ /dev/null
@@ -1,2369 +0,0 @@
-File: defaultMethods_warning.1.kt - f7e6eb7b51747182c2b34c96dec8a2a6
- packageHeader
- importList
- importHeader
- IMPORT("import")
- identifier
- simpleIdentifier
- Identifier("JavaInterface")
- DOT(".")
- simpleIdentifier
- Identifier("testStatic")
- semi
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("KotlinInterface")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JavaInterface")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("fooo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("testStatic")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER_AT("super@KotlinInterface")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("propertyy")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER_AT("super@KotlinInterface")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("testOverride")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("OK")
- QUOTE_CLOSE(""")
- semis
- SEMICOLON(";")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("KotlinInterfaceIndirectInheritance")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("KotlinInterface")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foooo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("testStatic")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER_AT("super@KotlinInterfaceIndirectInheritance")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("propertyyy")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER_AT("super@KotlinInterfaceIndirectInheritance")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("KotlinClass")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JavaInterface")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("testStatic")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("testOverride")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER_AT("super@KotlinClass")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- PROPERTY("property")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("testOverride")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER_AT("super@KotlinClass")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("KotlinClassIndirectInheritance")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("KotlinClass")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo2")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("testStatic")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("testOverride")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER_AT("super@KotlinClassIndirectInheritance")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("property2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("testOverride")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER_AT("super@KotlinClassIndirectInheritance")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("KotlinClassIndirectInheritance2")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("KotlinInterfaceIndirectInheritance")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("testStatic")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("testOverride")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER_AT("super@KotlinClassIndirectInheritance2")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- PROPERTY("property")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER("super")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("testOverride")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- superExpression
- SUPER_AT("super@KotlinClassIndirectInheritance2")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("JavaInterface")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("testStatic")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("KotlinClass")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("KotlinClass")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- PROPERTY("property")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("KotlinClassIndirectInheritance2")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("KotlinClassIndirectInheritance2")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- PROPERTY("property")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("KotlinClass")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("KotlinClass")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- PROPERTY("property")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("KotlinClass")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("testOverride")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("KotlinClassIndirectInheritance")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("testOverride")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/java8Overrides/abstractFakeOverrideSuperCallOneMoreLevel.antlrtree.txt b/grammar/testData/diagnostics/java8Overrides/abstractFakeOverrideSuperCallOneMoreLevel.antlrtree.txt
new file mode 100644
index 000000000..5ba3b96c9
--- /dev/null
+++ b/grammar/testData/diagnostics/java8Overrides/abstractFakeOverrideSuperCallOneMoreLevel.antlrtree.txt
@@ -0,0 +1,389 @@
+File: abstractFakeOverrideSuperCallOneMoreLevel.kt - 57d2f4a739c1b7dc6eb8b8fb7bd991bb
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("Foo")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("check")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("OK")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ ABSTRACT("abstract")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Base")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ ABSTRACT("abstract")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("check")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ ABSTRACT("abstract")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Derived")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Base")
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ COMMA(",")
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Foo")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ ABSTRACT("abstract")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Derived2")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Derived")
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ ABSTRACT("abstract")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Derived3")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Derived2")
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Problem")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Derived2")
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("check")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ superExpression
+ SUPER("super")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("check")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Problem2")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Derived3")
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("check")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ superExpression
+ SUPER("super")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("check")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/java8Overrides/falseManyImplementations.antlrtree.txt b/grammar/testData/diagnostics/java8Overrides/falseManyImplementations.antlrtree.txt
new file mode 100644
index 000000000..4656cef74
--- /dev/null
+++ b/grammar/testData/diagnostics/java8Overrides/falseManyImplementations.antlrtree.txt
@@ -0,0 +1,131 @@
+File: falseManyImplementations.kt - ada756c97564ead182e85af1a03abf67
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ ABSTRACT("abstract")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("ClassEmpty")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ ABSTRACT("abstract")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("BaseEmpty")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("BaseDefault")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ inheritanceModifier
+ ABSTRACT("abstract")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("ClassEmpty_BaseEmpty_BaseDefault")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("ClassEmpty")
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ COMMA(",")
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("BaseEmpty")
+ COMMA(",")
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("BaseDefault")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/kt34857.antlrtree.txt b/grammar/testData/diagnostics/kt34857.antlrtree.txt
index 14f470404..1ce832609 100644
--- a/grammar/testData/diagnostics/kt34857.antlrtree.txt
+++ b/grammar/testData/diagnostics/kt34857.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt34857.kt - 5e611b9049c976ce2ddb1551091e1bb1
- NL("\n")
+File: kt34857.kt - ffdb948ed4aa3c06beed9ed0233204a7
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/lateinit/modifierApplicability.antlrtree.txt b/grammar/testData/diagnostics/lateinit/modifierApplicability.antlrtree.txt
deleted file mode 100644
index 08801098f..000000000
--- a/grammar/testData/diagnostics/lateinit/modifierApplicability.antlrtree.txt
+++ /dev/null
@@ -1,1018 +0,0 @@
-File: modifierApplicability.kt - 643c03c48f4f558c41a77fd5eeeb1c63
- NL("\n")
- packageHeader
- importList
- importHeader
- IMPORT("import")
- identifier
- simpleIdentifier
- Identifier("kotlin")
- DOT(".")
- simpleIdentifier
- Identifier("reflect")
- DOT(".")
- simpleIdentifier
- Identifier("KProperty")
- semi
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("CustomDelegate")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("getValue")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("thisRef")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("prop")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("KProperty")
- typeArguments
- LANGLE("<")
- typeProjection
- MULT("*")
- RANGLE(">")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("prop")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("name")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("setValue")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("thisRef")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("prop")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("KProperty")
- typeArguments
- LANGLE("<")
- typeProjection
- MULT("*")
- RANGLE(">")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- VALUE("value")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- visibilityModifier
- PUBLIC("public")
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- COMMA(",")
- typeParameter
- simpleIdentifier
- Identifier("V")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- RANGLE(">")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- simpleIdentifier
- Identifier("p2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- visibilityModifier
- PUBLIC("public")
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("b")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- visibilityModifier
- PRIVATE("private")
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("c")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("CharSequence")
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("d")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- getter
- GET("get")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- visibilityModifier
- PUBLIC("public")
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- getter
- GET("get")
- NL("\n")
- setter
- modifiers
- modifier
- visibilityModifier
- PRIVATE("private")
- SET("set")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("a")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e1")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("V")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e2")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e3")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e4")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- quest
- QUEST_NO_WS("?")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e5")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("A")
- QUOTE_CLOSE(""")
- NL("\n")
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e6")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e7")
- propertyDelegate
- BY("by")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("CustomDelegate")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e8")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("A")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e9")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("v")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- FIELD("field")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("v")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("e10")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- DOT(".")
- variableDeclaration
- simpleIdentifier
- Identifier("e11")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- DOT(".")
- variableDeclaration
- simpleIdentifier
- Identifier("e12")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("topLevel")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("topLevelMutable")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- visibilityModifier
- PUBLIC("public")
- INTERFACE("interface")
- simpleIdentifier
- Identifier("Intf")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("str")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- visibilityModifier
- PUBLIC("public")
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- CLASS("class")
- simpleIdentifier
- Identifier("AbstractClass")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("str")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- visibilityModifier
- PUBLIC("public")
- CLASS("class")
- simpleIdentifier
- Identifier("AbstractClassImpl")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("AbstractClass")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("str")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- visibilityModifier
- PUBLIC("public")
- CLASS("class")
- simpleIdentifier
- Identifier("B")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- LATEINIT("lateinit")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- NL("\n")
- classMemberDeclaration
- anonymousInitializer
- INIT("init")
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/modifiers/const/noDivisionByZeroFeature.antlrtree.txt b/grammar/testData/diagnostics/modifiers/const/noDivisionByZeroFeature.antlrtree.txt
deleted file mode 100644
index ca2735196..000000000
--- a/grammar/testData/diagnostics/modifiers/const/noDivisionByZeroFeature.antlrtree.txt
+++ /dev/null
@@ -1,621 +0,0 @@
-File: noDivisionByZeroFeature.kt - 1a124010eb45f8803f4c2c28aa022d5c
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- propertyModifier
- CONST("const")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- multiplicativeOperator
- DIV("/")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("0.0")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- propertyModifier
- CONST("const")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("b")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("1.0")
- multiplicativeOperator
- DIV("/")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- propertyModifier
- CONST("const")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("c")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("0.0")
- multiplicativeOperator
- DIV("/")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- propertyModifier
- CONST("const")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("d")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("1.0")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- propertyModifier
- CONST("const")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("e")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("0.0")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- propertyModifier
- CONST("const")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("g")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("0.0")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("rem")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- RPAREN(")")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- propertyModifier
- CONST("const")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("h")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("0.0")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("div")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- RPAREN(")")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- propertyModifier
- CONST("const")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("i")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- multiplicativeOperator
- DIV("/")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("nonConst1")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("1.0")
- multiplicativeOperator
- DIV("/")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("nonConst2")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- multiplicativeOperator
- DIV("/")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("nonConst3")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("1.0")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("nonConst4")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("nonConst6")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("rem")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- RPAREN(")")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("nonConst7")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("div")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- RPAREN(")")
- NL("\n")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/multiplatform/expectDataObject.common.antlrtree.txt b/grammar/testData/diagnostics/multiplatform/expectDataObject.common.antlrtree.txt
new file mode 100644
index 000000000..4ab6516ea
--- /dev/null
+++ b/grammar/testData/diagnostics/multiplatform/expectDataObject.common.antlrtree.txt
@@ -0,0 +1,21 @@
+File: expectDataObject.common.kt - 5b2676b8754e76696350c19fdf0f24aa
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ objectDeclaration
+ modifiers
+ modifier
+ platformModifier
+ EXPECT("expect")
+ modifier
+ classModifier
+ DATA("data")
+ OBJECT("object")
+ simpleIdentifier
+ Identifier("DataObject")
+ semis
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/multiplatform/expectDataObject.jvm.antlrtree.txt b/grammar/testData/diagnostics/multiplatform/expectDataObject.jvm.antlrtree.txt
new file mode 100644
index 000000000..78e7ea890
--- /dev/null
+++ b/grammar/testData/diagnostics/multiplatform/expectDataObject.jvm.antlrtree.txt
@@ -0,0 +1,19 @@
+File: expectDataObject.jvm.kt - 1f33bb0e68508c740f0e590d58c78d34
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ objectDeclaration
+ modifiers
+ modifier
+ platformModifier
+ ACTUAL("actual")
+ modifier
+ classModifier
+ DATA("data")
+ OBJECT("object")
+ simpleIdentifier
+ Identifier("DataObject")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/defaults.antlrtree.txt b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/defaults.antlrtree.txt
index d658cd2b9..f72fbb928 100644
--- a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/defaults.antlrtree.txt
+++ b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/defaults.antlrtree.txt
@@ -1,4 +1,4 @@
-File: defaults.kt - ad6bf44eb2fc89be3df5131f48f0105d
+File: defaults.kt - a25730ec875b0d0d687413b17cc44a31
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/disabledFeature.antlrtree.txt b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/disabledFeature.antlrtree.txt
index e952da108..3cb5982d1 100644
--- a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/disabledFeature.antlrtree.txt
+++ b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/disabledFeature.antlrtree.txt
@@ -1,4 +1,4 @@
-File: disabledFeature.kt - b7a8dd15b764763f65e7923107528423
+File: disabledFeature.kt - dd44f13e449bbe8474684d0946253adb
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/oldInference.antlrtree.txt b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/oldInference.antlrtree.txt
index 61839eaff..e423ae8de 100644
--- a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/oldInference.antlrtree.txt
+++ b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/oldInference.antlrtree.txt
@@ -1,4 +1,4 @@
-File: oldInference.kt - 50d3f9e76e3f2341dfb8ecbed8ebeb8b
+File: oldInference.kt - a39fde7e1a993220514516bfd518afc3
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/secondNamed.antlrtree.txt b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/secondNamed.antlrtree.txt
index be66b639f..f8d55d185 100644
--- a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/secondNamed.antlrtree.txt
+++ b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/secondNamed.antlrtree.txt
@@ -1,4 +1,4 @@
-File: secondNamed.kt - d576b0dcf2b76ebd2a791825b0ebf01f
+File: secondNamed.kt - f1f4a5b9faafb0f7a8c67b94344cff59
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/simple.antlrtree.txt b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/simple.antlrtree.txt
index 4ec0c4357..6dce86206 100644
--- a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/simple.antlrtree.txt
+++ b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/simple.antlrtree.txt
@@ -1,4 +1,4 @@
-File: simple.kt - f56d61328e76ae49315d69a69ce1987d
+File: simple.kt - a39fde7e1a993220514516bfd518afc3
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/varargs.antlrtree.txt b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/varargs.antlrtree.txt
index 852abfbff..bb9060c45 100644
--- a/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/varargs.antlrtree.txt
+++ b/grammar/testData/diagnostics/namedArguments/mixedNamedPosition/varargs.antlrtree.txt
@@ -1,4 +1,4 @@
-File: varargs.kt - 9a1a486d2a2e9d3c0172e05cfde185fe
+File: varargs.kt - e17ed75fad75619530695a4a34d632af
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/nullabilityAndSmartCasts/kt30734.antlrtree.txt b/grammar/testData/diagnostics/nullabilityAndSmartCasts/kt30734.antlrtree.txt
index ffa2ba4b3..0a534220f 100644
--- a/grammar/testData/diagnostics/nullabilityAndSmartCasts/kt30734.antlrtree.txt
+++ b/grammar/testData/diagnostics/nullabilityAndSmartCasts/kt30734.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt30734.kt - 4d017751dc5e3ac6230614857c13a9e9
- NL("\n")
+File: kt30734.kt - 8567e0a63f933369d11ce3518be733ec
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/nullableTypes/definitelyNotNullWithNullableBound.antlrtree.txt b/grammar/testData/diagnostics/nullableTypes/definitelyNotNullWithNullableBound.antlrtree.txt
index f80b3a74b..5d41e64c3 100644
--- a/grammar/testData/diagnostics/nullableTypes/definitelyNotNullWithNullableBound.antlrtree.txt
+++ b/grammar/testData/diagnostics/nullableTypes/definitelyNotNullWithNullableBound.antlrtree.txt
@@ -1,5 +1,4 @@
-File: definitelyNotNullWithNullableBound.kt - b10d01dc663043393c6e41a544661307
- NL("\n")
+File: definitelyNotNullWithNullableBound.kt - 4bc9120f8b939520695ffd901f9a637f
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/numbers/numberAsUnionAndIntersection.antlrtree.txt b/grammar/testData/diagnostics/numbers/numberAsUnionAndIntersection.antlrtree.txt
index 631138bb0..d33b7545a 100644
--- a/grammar/testData/diagnostics/numbers/numberAsUnionAndIntersection.antlrtree.txt
+++ b/grammar/testData/diagnostics/numbers/numberAsUnionAndIntersection.antlrtree.txt
@@ -1,5 +1,4 @@
-File: numberAsUnionAndIntersection.kt - 4ee9993eabf6bc451b23da05de02f9c5
- NL("\n")
+File: numberAsUnionAndIntersection.kt - 98ea7edef41cc088d4a4016311e6a7b7
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/operatorRem/noDeprecatedModConventionWithoutFeature.antlrtree.txt b/grammar/testData/diagnostics/operatorRem/noDeprecatedModConventionWithoutFeature.antlrtree.txt
deleted file mode 100644
index b876539be..000000000
--- a/grammar/testData/diagnostics/operatorRem/noDeprecatedModConventionWithoutFeature.antlrtree.txt
+++ /dev/null
@@ -1,612 +0,0 @@
-File: noDeprecatedModConventionWithoutFeature.kt - 155dbeafb9affd75787e6ec282e8789e
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("ModAndRem")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("mod")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("OldMod")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("mod")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("ModAndRemExtension")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ModAndRemExtension")
- DOT(".")
- simpleIdentifier
- Identifier("mod")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ModAndRemExtension")
- DOT(".")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("ModExtension")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ModExtension")
- DOT(".")
- simpleIdentifier
- Identifier("mod")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("ModMemberAndRemExtension")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("mod")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ModMemberAndRemExtension")
- DOT(".")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ModAndRem")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("OldMod")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ModAndRemExtension")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ModExtension")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ModMemberAndRemExtension")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("OldMod")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("mod")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ModExtension")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("mod")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/operatorRem/noOperatorRemFeature.antlrtree.txt b/grammar/testData/diagnostics/operatorRem/noOperatorRemFeature.antlrtree.txt
deleted file mode 100644
index d177364f0..000000000
--- a/grammar/testData/diagnostics/operatorRem/noOperatorRemFeature.antlrtree.txt
+++ /dev/null
@@ -1,543 +0,0 @@
-File: noOperatorRemFeature.kt - c30af1750e193c802e3c8598f114ce95
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Foo")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Bar")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("remAssign")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Baz")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- companionObject
- COMPANION("companion")
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- DOT(".")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Baz")
- DOT(".")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("local")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- DOT(".")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- statement
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- DOT(".")
- simpleIdentifier
- Identifier("remAssign")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("builtIns")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("b")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Byte")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Short")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("a")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("d")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("5")
- semis
- NL("\n")
- statement
- assignment
- assignableExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("d")
- assignmentAndOperator
- MOD_ASSIGNMENT("%=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("b")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("1.0")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("2.0")
- semis
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/operatorRem/resolveToModWhenNoOperatorRemFeature.antlrtree.txt b/grammar/testData/diagnostics/operatorRem/resolveToModWhenNoOperatorRemFeature.antlrtree.txt
deleted file mode 100644
index 521cb463b..000000000
--- a/grammar/testData/diagnostics/operatorRem/resolveToModWhenNoOperatorRemFeature.antlrtree.txt
+++ /dev/null
@@ -1,665 +0,0 @@
-File: resolveToModWhenNoOperatorRemFeature.kt - 66f848a72198225d00b7a2fdc8ed46db
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("ModAndRem")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("mod")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("ModAssignAndRemAssign")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("modAssign")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("remAssign")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("RemAndModAssign")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("modAssign")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("RemAndModAssign")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("OnlyRem")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("rem")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("remAssign")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("takeInt")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ModAndRem")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("c")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ModAssignAndRemAssign")
- semis
- NL("\n")
- statement
- assignment
- assignableExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("c")
- assignmentAndOperator
- MOD_ASSIGNMENT("%=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("c1")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("RemAndModAssign")
- semis
- NL("\n")
- statement
- assignment
- assignableExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("c1")
- assignmentAndOperator
- MOD_ASSIGNMENT("%=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("OnlyRem")
- multiplicativeOperator
- MOD("%")
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("c2")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("OnlyRem")
- semis
- NL("\n")
- statement
- assignment
- assignableExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("c2")
- assignmentAndOperator
- MOD_ASSIGNMENT("%=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("takeInt")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/operatorsOverloading/until/custom.antlrtree.txt b/grammar/testData/diagnostics/operatorsOverloading/until/custom.antlrtree.txt
index e8c1171d8..8323b90a3 100644
--- a/grammar/testData/diagnostics/operatorsOverloading/until/custom.antlrtree.txt
+++ b/grammar/testData/diagnostics/operatorsOverloading/until/custom.antlrtree.txt
@@ -1,4 +1,4 @@
-File: custom.kt - 05470931525d9faf2a6e9c2c5ef8a8b4 (WITH_ERRORS)
+File: custom.kt - 05470931525d9faf2a6e9c2c5ef8a8b4
NL("\n")
NL("\n")
NL("\n")
@@ -118,22 +118,58 @@ File: custom.kt - 05470931525d9faf2a6e9c2c5ef8a8b4 (WITH_ERRORS)
simpleIdentifier
Identifier("A")
RPAREN(")")
- LCURL("{")
- NL("\n")
- FOR("for")
- LPAREN("(")
- Identifier("i")
- IN("in")
- Identifier("f")
- RANGE("..")
- LANGLE("<")
- Identifier("n")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- NL("\n")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ loopStatement
+ forStatement
+ FOR("for")
+ LPAREN("(")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("i")
+ IN("in")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("f")
+ RANGE_UNTIL("..<")
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("n")
+ RPAREN(")")
+ controlStructureBody
+ block
+ LCURL("{")
+ NL("\n")
+ NL("\n")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/operatorsOverloading/until/customDefault.antlrtree.txt b/grammar/testData/diagnostics/operatorsOverloading/until/customDefault.antlrtree.txt
index cc82390fe..735ed6d21 100644
--- a/grammar/testData/diagnostics/operatorsOverloading/until/customDefault.antlrtree.txt
+++ b/grammar/testData/diagnostics/operatorsOverloading/until/customDefault.antlrtree.txt
@@ -1,4 +1,5 @@
-File: customDefault.kt - 9e12681033486432f758d06b905c9c59 (WITH_ERRORS)
+File: customDefault.kt - d21203d029564c7dfff471c7864e0b3a
+ NL("\n")
packageHeader
importList
topLevelObject
@@ -115,22 +116,58 @@ File: customDefault.kt - 9e12681033486432f758d06b905c9c59 (WITH_ERRORS)
simpleIdentifier
Identifier("A")
RPAREN(")")
- LCURL("{")
- NL("\n")
- FOR("for")
- LPAREN("(")
- Identifier("i")
- IN("in")
- Identifier("f")
- RANGE("..")
- LANGLE("<")
- Identifier("n")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- NL("\n")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ loopStatement
+ forStatement
+ FOR("for")
+ LPAREN("(")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("i")
+ IN("in")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("f")
+ RANGE_UNTIL("..<")
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("n")
+ RPAREN(")")
+ controlStructureBody
+ block
+ LCURL("{")
+ NL("\n")
+ NL("\n")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/operatorsOverloading/until/customDisabled.antlrtree.txt b/grammar/testData/diagnostics/operatorsOverloading/until/customDisabled.antlrtree.txt
index 05b7e85f9..e8777fb4c 100644
--- a/grammar/testData/diagnostics/operatorsOverloading/until/customDisabled.antlrtree.txt
+++ b/grammar/testData/diagnostics/operatorsOverloading/until/customDisabled.antlrtree.txt
@@ -1,4 +1,4 @@
-File: customDisabled.kt - 29caf09d063dc7ba1537934369585d00 (WITH_ERRORS)
+File: customDisabled.kt - 29caf09d063dc7ba1537934369585d00
NL("\n")
NL("\n")
packageHeader
@@ -117,22 +117,58 @@ File: customDisabled.kt - 29caf09d063dc7ba1537934369585d00 (WITH_ERRORS)
simpleIdentifier
Identifier("A")
RPAREN(")")
- LCURL("{")
- NL("\n")
- FOR("for")
- LPAREN("(")
- Identifier("i")
- IN("in")
- Identifier("f")
- RANGE("..")
- LANGLE("<")
- Identifier("n")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- NL("\n")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ loopStatement
+ forStatement
+ FOR("for")
+ LPAREN("(")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("i")
+ IN("in")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("f")
+ RANGE_UNTIL("..<")
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("n")
+ RPAREN(")")
+ controlStructureBody
+ block
+ LCURL("{")
+ NL("\n")
+ NL("\n")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/operatorsOverloading/until/simple.antlrtree.txt b/grammar/testData/diagnostics/operatorsOverloading/until/simple.antlrtree.txt
index e7b27a496..9cf71cfcc 100644
--- a/grammar/testData/diagnostics/operatorsOverloading/until/simple.antlrtree.txt
+++ b/grammar/testData/diagnostics/operatorsOverloading/until/simple.antlrtree.txt
@@ -1,4 +1,5 @@
-File: simple.kt - cfed1acd087bd95b0b8e9ed460be7331 (WITH_ERRORS)
+File: simple.kt - e002e6d4de6754c3b7c600b58cae46a2
+ NL("\n")
NL("\n")
NL("\n")
packageHeader
@@ -23,21 +24,58 @@ File: simple.kt - cfed1acd087bd95b0b8e9ed460be7331 (WITH_ERRORS)
simpleIdentifier
Identifier("Int")
RPAREN(")")
- LCURL("{")
- NL("\n")
- FOR("for")
- LPAREN("(")
- Identifier("i")
- IN("in")
- IntegerLiteral("0")
- RANGE("..")
- LANGLE("<")
- Identifier("n")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ loopStatement
+ forStatement
+ FOR("for")
+ LPAREN("(")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("i")
+ IN("in")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("0")
+ RANGE_UNTIL("..<")
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("n")
+ RPAREN(")")
+ controlStructureBody
+ block
+ LCURL("{")
+ NL("\n")
+ NL("\n")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/operatorsOverloading/until/until.diff b/grammar/testData/diagnostics/operatorsOverloading/until/until.diff
deleted file mode 100644
index 922c46c4e..000000000
--- a/grammar/testData/diagnostics/operatorsOverloading/until/until.diff
+++ /dev/null
@@ -1 +0,0 @@
-Needs `until` operator support to parse correctly
diff --git a/grammar/testData/diagnostics/properties/inferenceFromGetters/unsupportedInferenceFromGetters.antlrtree.txt b/grammar/testData/diagnostics/properties/inferenceFromGetters/unsupportedInferenceFromGetters.antlrtree.txt
deleted file mode 100644
index 24eae0f08..000000000
--- a/grammar/testData/diagnostics/properties/inferenceFromGetters/unsupportedInferenceFromGetters.antlrtree.txt
+++ /dev/null
@@ -1,1487 +0,0 @@
-File: unsupportedInferenceFromGetters.kt - ecae53e44e2e5e07594c15921ab8d684
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x1")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("y1")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("E")
- RANGLE(">")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("E")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("E")
- RANGLE(">")
- simpleIdentifier
- Identifier("bar")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("List")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("E")
- RANGLE(">")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x2")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("y2")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("List")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("z2")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("List")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("u")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- FIELD("field")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("y")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("id")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("y2")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("id")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("id")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- RPAREN(")")
- RPAREN(")")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("z")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("l")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("z2")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("l")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("id")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("l")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- DOT(".")
- variableDeclaration
- simpleIdentifier
- Identifier("u")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("id")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("this")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("E")
- RANGLE(">")
- simpleIdentifier
- Identifier("id")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("E")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("E")
- RANGLE(">")
- simpleIdentifier
- Identifier("l")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("E")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("List")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("E")
- RANGLE(">")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("x3")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("q")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x4")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x4")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x5")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("y5")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("Outer")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- visibilityModifier
- PRIVATE("private")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("CharSequence")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("length")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- GET("get")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("index")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Char")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("' '")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("subSequence")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("startIndex")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("endIndex")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("bar")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("q")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("q")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/properties/kt47621.main.antlrtree.txt b/grammar/testData/diagnostics/properties/kt47621.main.antlrtree.txt
new file mode 100644
index 000000000..f615a705c
--- /dev/null
+++ b/grammar/testData/diagnostics/properties/kt47621.main.antlrtree.txt
@@ -0,0 +1,200 @@
+File: kt47621.main.kt - 9340aa430bddbfa66dc0407f27e9e39b
+ packageHeader
+ importList
+ importHeader
+ IMPORT("import")
+ identifier
+ simpleIdentifier
+ Identifier("j")
+ DOT(".")
+ MULT("*")
+ semi
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("C")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("J")
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ assignment
+ directlyAssignableExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("J")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ assignableSuffix
+ navigationSuffix
+ memberAccessOperator
+ safeNav
+ QUEST_NO_WS("?")
+ DOT(".")
+ simpleIdentifier
+ Identifier("x")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("box")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("C")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ jumpExpression
+ RETURN("return")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("OK")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ RCURL("}")
+ EOF("")
diff --git a/grammar/testData/diagnostics/regressions/kt12898.antlrtree.txt b/grammar/testData/diagnostics/regressions/kt12898.antlrtree.txt
index 735fba8f1..6a2022225 100644
--- a/grammar/testData/diagnostics/regressions/kt12898.antlrtree.txt
+++ b/grammar/testData/diagnostics/regressions/kt12898.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt12898.kt - 8e984824c7afb101f72e3025ecf41386
- NL("\n")
+File: kt12898.kt - 72717c884d21b7ea7ae8e1a3f5dbee67
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/regressions/kt30245.antlrtree.txt b/grammar/testData/diagnostics/regressions/kt30245.antlrtree.txt
index 7ed8bf8a8..4b0faee6f 100644
--- a/grammar/testData/diagnostics/regressions/kt30245.antlrtree.txt
+++ b/grammar/testData/diagnostics/regressions/kt30245.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt30245.kt - ede242a5d92d3438e7ad6aadc9a7df4e
- NL("\n")
+File: kt30245.kt - e92a706d056649c566ad9ced38294a2e
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/regressions/kt31975.antlrtree.txt b/grammar/testData/diagnostics/regressions/kt31975.antlrtree.txt
index 39e0e0e9b..c6dc904b8 100644
--- a/grammar/testData/diagnostics/regressions/kt31975.antlrtree.txt
+++ b/grammar/testData/diagnostics/regressions/kt31975.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt31975.kt - e3f46a347ed914fa62799faa592916e8
- NL("\n")
+File: kt31975.kt - f067cef301f49dfd97aafea77c7789bc
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/regressions/kt32507.antlrtree.txt b/grammar/testData/diagnostics/regressions/kt32507.antlrtree.txt
index ad7ae9bff..7d51644ab 100644
--- a/grammar/testData/diagnostics/regressions/kt32507.antlrtree.txt
+++ b/grammar/testData/diagnostics/regressions/kt32507.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32507.kt - 6718cc27cc18742bc106749a5732c3f1
- NL("\n")
+File: kt32507.kt - 8ccce4db0347dce479187c2c2b476ac7
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/regressions/kt32792.antlrtree.txt b/grammar/testData/diagnostics/regressions/kt32792.antlrtree.txt
index 834a9bdd6..d834cfd92 100644
--- a/grammar/testData/diagnostics/regressions/kt32792.antlrtree.txt
+++ b/grammar/testData/diagnostics/regressions/kt32792.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32792.kt - dbe2ba365d70b6fc9210705207d01e5b
- NL("\n")
+File: kt32792.kt - 07ad3ed95f5e42df5842f3fa994aea7b
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/regressions/kt35626.antlrtree.txt b/grammar/testData/diagnostics/regressions/kt35626.antlrtree.txt
index 3d7dc64f7..b0043948b 100644
--- a/grammar/testData/diagnostics/regressions/kt35626.antlrtree.txt
+++ b/grammar/testData/diagnostics/regressions/kt35626.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt35626.kt - 7b537387bf2ee1299acb1d9132113067
- NL("\n")
+File: kt35626.kt - c0f78dcf01bd83ff1f3c94f17864934a
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/regressions/kt35626small.antlrtree.txt b/grammar/testData/diagnostics/regressions/kt35626small.antlrtree.txt
index 9a8809e5e..706bdea15 100644
--- a/grammar/testData/diagnostics/regressions/kt35626small.antlrtree.txt
+++ b/grammar/testData/diagnostics/regressions/kt35626small.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt35626small.kt - 13975daef060514098e4dca466cfcce4
- NL("\n")
+File: kt35626small.kt - 23696313d3c15722b71954f031186861
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/regressions/kt35668.antlrtree.txt b/grammar/testData/diagnostics/regressions/kt35668.antlrtree.txt
index 16d74b302..1d1a02d89 100644
--- a/grammar/testData/diagnostics/regressions/kt35668.antlrtree.txt
+++ b/grammar/testData/diagnostics/regressions/kt35668.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt35668.kt - 229021d5ae75f467dbf79ba4f4439d35
- NL("\n")
+File: kt35668.kt - 9733214bcac44e9533e5abecc82f0128
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/regressions/kt36222.antlrtree.txt b/grammar/testData/diagnostics/regressions/kt36222.antlrtree.txt
index db30ad430..86737df4a 100644
--- a/grammar/testData/diagnostics/regressions/kt36222.antlrtree.txt
+++ b/grammar/testData/diagnostics/regressions/kt36222.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt36222.kt - 96ee30126e5f78493a7ae930236e6984
- NL("\n")
+File: kt36222.kt - 683742eba02d999b7d4eb691ba000fb2
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/regressions/testNestedSpecialCalls.antlrtree.txt b/grammar/testData/diagnostics/regressions/testNestedSpecialCalls.antlrtree.txt
index b1868150e..7de63b74f 100644
--- a/grammar/testData/diagnostics/regressions/testNestedSpecialCalls.antlrtree.txt
+++ b/grammar/testData/diagnostics/regressions/testNestedSpecialCalls.antlrtree.txt
@@ -1,5 +1,4 @@
-File: testNestedSpecialCalls.kt - 1d95acdcde8f59ac56aa848a329b88e1
- NL("\n")
+File: testNestedSpecialCalls.kt - 758ae843185faa9773efb084fb1e1e2d
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/resolve/callableReferenceInCST.antlrtree.txt b/grammar/testData/diagnostics/resolve/callableReferenceInCST.antlrtree.txt
index 1a8755624..1b10d6280 100644
--- a/grammar/testData/diagnostics/resolve/callableReferenceInCST.antlrtree.txt
+++ b/grammar/testData/diagnostics/resolve/callableReferenceInCST.antlrtree.txt
@@ -1,5 +1,4 @@
-File: callableReferenceInCST.kt - 40b42c0befb82bda35b9cf9be7d55771
- NL("\n")
+File: callableReferenceInCST.kt - 5df76d2dfa3c49619068bcf6f8c119d3
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/resolve/dslMarker/unsupportedFeature.antlrtree.txt b/grammar/testData/diagnostics/resolve/dslMarker/kt46969.antlrtree.txt
similarity index 58%
rename from grammar/testData/diagnostics/resolve/dslMarker/unsupportedFeature.antlrtree.txt
rename to grammar/testData/diagnostics/resolve/dslMarker/kt46969.antlrtree.txt
index 6af7f6657..a79875587 100644
--- a/grammar/testData/diagnostics/resolve/dslMarker/unsupportedFeature.antlrtree.txt
+++ b/grammar/testData/diagnostics/resolve/dslMarker/kt46969.antlrtree.txt
@@ -1,6 +1,4 @@
-File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
- NL("\n")
- NL("\n")
+File: kt46969.kt - 35c27eb4b78c85d53f7be749bf8a3601
packageHeader
importList
topLevelObject
@@ -21,7 +19,7 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
ANNOTATION("annotation")
CLASS("class")
simpleIdentifier
- Identifier("Ann")
+ Identifier("Foo")
semis
NL("\n")
topLevelObject
@@ -35,11 +33,17 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
userType
simpleUserType
simpleIdentifier
- Identifier("Ann")
+ Identifier("Foo")
NL("\n")
- CLASS("class")
+ INTERFACE("interface")
simpleIdentifier
- Identifier("A")
+ Identifier("Scope")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
classBody
LCURL("{")
NL("\n")
@@ -49,102 +53,119 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
functionDeclaration
FUN("fun")
simpleIdentifier
- Identifier("a")
+ VALUE("value")
functionValueParameters
LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ VALUE("value")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
semis
NL("\n")
RCURL("}")
semis
NL("\n")
+ NL("\n")
topLevelObject
declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Ann")
- NL("\n")
- CLASS("class")
+ functionDeclaration
+ FUN("fun")
simpleIdentifier
- Identifier("B")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("b")
- functionValueParameters
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("block")
+ COLON(":")
+ type
+ functionType
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Scope")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Nothing")
+ RANGLE(">")
+ DOT(".")
+ functionTypeParameters
LPAREN("(")
RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semis
- NL("\n")
- RCURL("}")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
semis
NL("\n")
NL("\n")
topLevelObject
declaration
functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ INLINE("inline")
FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ typeParameterModifiers
+ typeParameterModifier
+ reificationModifier
+ REIFIED("reified")
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Scope")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ MULT("*")
+ RANGLE(">")
+ DOT(".")
simpleIdentifier
- Identifier("foo")
+ Identifier("nested")
functionValueParameters
LPAREN("(")
functionValueParameter
+ parameterModifiers
+ parameterModifier
+ NOINLINE("noinline")
parameter
simpleIdentifier
- Identifier("x")
+ Identifier("block")
COLON(":")
type
functionType
@@ -153,7 +174,17 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
userType
simpleUserType
simpleIdentifier
- Identifier("A")
+ Identifier("Scope")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
DOT(".")
functionTypeParameters
LPAREN("(")
@@ -176,15 +207,44 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
topLevelObject
declaration
functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ INLINE("inline")
FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ typeParameterModifiers
+ typeParameterModifier
+ reificationModifier
+ REIFIED("reified")
+ simpleIdentifier
+ Identifier("K")
+ RANGLE(">")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Scope")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ MULT("*")
+ RANGLE(">")
+ DOT(".")
simpleIdentifier
- Identifier("bar")
+ Identifier("nested2")
functionValueParameters
LPAREN("(")
functionValueParameter
+ parameterModifiers
+ parameterModifier
+ NOINLINE("noinline")
parameter
simpleIdentifier
- Identifier("x")
+ Identifier("block")
COLON(":")
type
functionType
@@ -193,7 +253,17 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
userType
simpleUserType
simpleIdentifier
- Identifier("B")
+ Identifier("Scope")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("K")
+ RANGLE(">")
DOT(".")
functionTypeParameters
LPAREN("(")
@@ -214,12 +284,13 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
semis
NL("\n")
NL("\n")
+ NL("\n")
topLevelObject
declaration
functionDeclaration
FUN("fun")
simpleIdentifier
- Identifier("test")
+ Identifier("main")
functionValueParameters
LPAREN("(")
RPAREN(")")
@@ -272,33 +343,7 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("bar")
+ Identifier("nested")
postfixUnarySuffix
callSuffix
annotatedLambda
@@ -324,45 +369,33 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("a")
+ VALUE("value")
postfixUnarySuffix
callSuffix
valueArguments
LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
RPAREN(")")
semis
NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- thisExpression
- THIS_AT("this@foo")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
NL("\n")
statement
expression
@@ -382,12 +415,64 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
postfixUnaryExpression
primaryExpression
simpleIdentifier
- Identifier("b")
+ Identifier("nested2")
postfixUnarySuffix
callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ VALUE("value")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("foo")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
semis
NL("\n")
RCURL("}")
@@ -397,6 +482,4 @@ File: unsupportedFeature.kt - 04d7d52895ae5713e938169c0f9655a4
semis
NL("\n")
RCURL("}")
- semis
- NL("\n")
EOF("")
diff --git a/grammar/testData/diagnostics/resolve/overloadConflicts/kt31670.antlrtree.txt b/grammar/testData/diagnostics/resolve/overloadConflicts/kt31670.antlrtree.txt
index 084f80f33..3b11c3d4c 100644
--- a/grammar/testData/diagnostics/resolve/overloadConflicts/kt31670.antlrtree.txt
+++ b/grammar/testData/diagnostics/resolve/overloadConflicts/kt31670.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt31670.kt - 31ee6f80edce0bfc1993758777c2c453
- NL("\n")
+File: kt31670.kt - 9a0ddef540d4febb0ba37f8dc352c5e3
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/resolve/overloadConflicts/kt31670_compat.antlrtree.txt b/grammar/testData/diagnostics/resolve/overloadConflicts/kt31670_compat.antlrtree.txt
deleted file mode 100644
index 968939cd7..000000000
--- a/grammar/testData/diagnostics/resolve/overloadConflicts/kt31670_compat.antlrtree.txt
+++ /dev/null
@@ -1,406 +0,0 @@
-File: kt31670_compat.kt - 52ffab7a5aa04113c254b2d678a1f430
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- VALUE("value")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("B")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- simpleIdentifier
- VALUE("value")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("block")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("block")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("block")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("block")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- VALUE("value")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("B")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("string")
- QUOTE_CLOSE(""")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/diagnostics/resolve/overloadConflicts/kt31758_compat.a.antlrtree.txt b/grammar/testData/diagnostics/resolve/overloadConflicts/kt31758_compat.a.antlrtree.txt
deleted file mode 100644
index 06b72a867..000000000
--- a/grammar/testData/diagnostics/resolve/overloadConflicts/kt31758_compat.a.antlrtree.txt
+++ /dev/null
@@ -1,110 +0,0 @@
-File: kt31758_compat.a.kt - 856a6c7f7e3f649594ddefaa734c4823
- packageHeader
- PACKAGE("package")
- identifier
- simpleIdentifier
- Identifier("a")
- semi
- NL("\n")
- NL("\n")
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ENUM("enum")
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- enumClassBody
- LCURL("{")
- enumEntries
- enumEntry
- simpleIdentifier
- Identifier("A1")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Enum")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- RANGLE(">")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("arg")
- COLON(":")
- type
- functionType
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- DOT(".")
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/resolve/overloadConflicts/kt31758_compat.test.antlrtree.txt b/grammar/testData/diagnostics/resolve/overloadConflicts/kt31758_compat.test.antlrtree.txt
deleted file mode 100644
index 380b8f9fa..000000000
--- a/grammar/testData/diagnostics/resolve/overloadConflicts/kt31758_compat.test.antlrtree.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-File: kt31758_compat.test.kt - fd7ef0e9aa7fb2ab3c080d0235f24919
- packageHeader
- importList
- importHeader
- IMPORT("import")
- identifier
- simpleIdentifier
- Identifier("a")
- DOT(".")
- MULT("*")
- semi
- NL("\n")
- importHeader
- IMPORT("import")
- identifier
- simpleIdentifier
- Identifier("b")
- DOT(".")
- MULT("*")
- semi
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/diagnostics/resolve/overloadConflicts/overloadResolutionOnNullableContravariantParameter_compat.a.antlrtree.txt b/grammar/testData/diagnostics/resolve/overloadConflicts/overloadResolutionOnNullableContravariantParameter_compat.a.antlrtree.txt
deleted file mode 100644
index 745ae4c6b..000000000
--- a/grammar/testData/diagnostics/resolve/overloadConflicts/overloadResolutionOnNullableContravariantParameter_compat.a.antlrtree.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-File: overloadResolutionOnNullableContravariantParameter_compat.a.kt - 13a8c21baeaf70dcb31fb4fd5f82cd9c
- packageHeader
- PACKAGE("package")
- identifier
- simpleIdentifier
- Identifier("a")
- semi
- NL("\n")
- NL("\n")
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("block")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/resolve/overloadConflicts/overloadResolutionOnNullableContravariantParameter_compat.b.antlrtree.txt b/grammar/testData/diagnostics/resolve/overloadConflicts/overloadResolutionOnNullableContravariantParameter_compat.b.antlrtree.txt
deleted file mode 100644
index 03ddf7410..000000000
--- a/grammar/testData/diagnostics/resolve/overloadConflicts/overloadResolutionOnNullableContravariantParameter_compat.b.antlrtree.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-File: overloadResolutionOnNullableContravariantParameter_compat.b.kt - 8dc8d4cb424a3b975974c831d90a0fae
- packageHeader
- PACKAGE("package")
- identifier
- simpleIdentifier
- Identifier("b")
- semi
- NL("\n")
- NL("\n")
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("K")
- RANGLE(">")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("block")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("K")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/resolve/overloadConflicts/overloadResolutionOnNullableContravariantParameter_compat.test.antlrtree.txt b/grammar/testData/diagnostics/resolve/overloadConflicts/overloadResolutionOnNullableContravariantParameter_compat.test.antlrtree.txt
deleted file mode 100644
index 8d9832f41..000000000
--- a/grammar/testData/diagnostics/resolve/overloadConflicts/overloadResolutionOnNullableContravariantParameter_compat.test.antlrtree.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-File: overloadResolutionOnNullableContravariantParameter_compat.test.kt - 86674e137488c358d17920ef55918142
- packageHeader
- importList
- importHeader
- IMPORT("import")
- identifier
- simpleIdentifier
- Identifier("a")
- DOT(".")
- MULT("*")
- semi
- NL("\n")
- importHeader
- IMPORT("import")
- identifier
- simpleIdentifier
- Identifier("b")
- DOT(".")
- MULT("*")
- semi
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/diagnostics/resolve/resolveWithRedeclarationError.antlrtree.txt b/grammar/testData/diagnostics/resolve/resolveWithRedeclarationError.antlrtree.txt
index 96b547029..9f13162f1 100644
--- a/grammar/testData/diagnostics/resolve/resolveWithRedeclarationError.antlrtree.txt
+++ b/grammar/testData/diagnostics/resolve/resolveWithRedeclarationError.antlrtree.txt
@@ -1,4 +1,5 @@
-File: resolveWithRedeclarationError.kt - e0655c94d955ede6b181f881fc294984
+File: resolveWithRedeclarationError.kt - 8dad603cf321a263c3bb35c4baf58117
+ NL("\n")
NL("\n")
packageHeader
PACKAGE("package")
diff --git a/grammar/testData/diagnostics/samConversions/implicitReturnType.antlrtree.txt b/grammar/testData/diagnostics/samConversions/implicitReturnType.antlrtree.txt
new file mode 100644
index 000000000..5a90a5396
--- /dev/null
+++ b/grammar/testData/diagnostics/samConversions/implicitReturnType.antlrtree.txt
@@ -0,0 +1,245 @@
+File: implicitReturnType.kt - e1f1102a3a5c02ad09a9eb921c6968c5
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("compose")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("C1")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ RPAREN(")")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("C1")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FunInterface")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("invoke")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("C2")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("C2")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FunInterface")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ memberModifier
+ OVERRIDE("override")
+ FUN("fun")
+ simpleIdentifier
+ Identifier("invoke")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ FUN("fun")
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("FunInterface")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Unit")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("compose")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("funInterfaces")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FunInterface")
+ RPAREN(")")
+ functionBody
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("funInterfaces")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/sealed/protectedConstructors_enabled.antlrtree.txt b/grammar/testData/diagnostics/sealed/protectedConstructors_enabled.antlrtree.txt
index e8e983cdf..29ca4f691 100644
--- a/grammar/testData/diagnostics/sealed/protectedConstructors_enabled.antlrtree.txt
+++ b/grammar/testData/diagnostics/sealed/protectedConstructors_enabled.antlrtree.txt
@@ -1,4 +1,4 @@
-File: protectedConstructors_enabled.kt - 1d513162e6852beba959c1ea500576fa
+File: protectedConstructors_enabled.kt - 3630e1f46ca11e3083e859b406c71730
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/smartCasts/kt32358_1.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/kt32358_1.antlrtree.txt
index 14086b92c..5c48258a8 100644
--- a/grammar/testData/diagnostics/smartCasts/kt32358_1.antlrtree.txt
+++ b/grammar/testData/diagnostics/smartCasts/kt32358_1.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32358_1.kt - 44f13235d30c974af7dbf7ec94f0a3da
- NL("\n")
+File: kt32358_1.kt - c0f4f00604fd81a31fa6447ed2ed348c
NL("\n")
packageHeader
importList
diff --git a/grammar/testData/diagnostics/smartCasts/kt32358_2.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/kt32358_2.antlrtree.txt
index 48daf94d2..5e0e3db4a 100644
--- a/grammar/testData/diagnostics/smartCasts/kt32358_2.antlrtree.txt
+++ b/grammar/testData/diagnostics/smartCasts/kt32358_2.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32358_2.kt - 4d0f917f467181cf327b549b8593497b
- NL("\n")
+File: kt32358_2.kt - 1e74fd900297695c979e66e04af5e35d
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/smartCasts/kt32358_3.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/kt32358_3.antlrtree.txt
index 813952e58..7ecdea07b 100644
--- a/grammar/testData/diagnostics/smartCasts/kt32358_3.antlrtree.txt
+++ b/grammar/testData/diagnostics/smartCasts/kt32358_3.antlrtree.txt
@@ -1,5 +1,4 @@
-File: kt32358_3.kt - 12a9bb1b4e2ab04d4ba704ded8c0e6c0
- NL("\n")
+File: kt32358_3.kt - c4ca76b9d1844ba4306dbbb8dd2836d9
NL("\n")
NL("\n")
NL("\n")
diff --git a/grammar/testData/diagnostics/smartCasts/level_1_0.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/level_1_0.antlrtree.txt
deleted file mode 100644
index 950181e95..000000000
--- a/grammar/testData/diagnostics/smartCasts/level_1_0.antlrtree.txt
+++ /dev/null
@@ -1,1365 +0,0 @@
-File: level_1_0.kt - 2f395544194f9e12432097d1514ef7b6
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("arg")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("y")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("yy")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("yy")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("yy")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("z")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("z")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("z")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("let")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("42")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("z")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arg")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt6840_1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("hash")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("hash")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt6840_2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt1635")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt2127")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("length")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("kt3356")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- safeNav
- QUEST_NO_WS("?")
- DOT(".")
- simpleIdentifier
- Identifier("length")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/smartCasts/loops/elvisIfBreakInsideWhileTrue.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/loops/elvisIfBreakInsideWhileTrue.antlrtree.txt
index 6650a0991..25a3764ed 100644
--- a/grammar/testData/diagnostics/smartCasts/loops/elvisIfBreakInsideWhileTrue.antlrtree.txt
+++ b/grammar/testData/diagnostics/smartCasts/loops/elvisIfBreakInsideWhileTrue.antlrtree.txt
@@ -1,4 +1,5 @@
-File: elvisIfBreakInsideWhileTrue.kt - 61a95726b92df8d24319eda0ad9b5ab8
+File: elvisIfBreakInsideWhileTrue.kt - e3d81118500421de3204be20cee4f112
+ NL("\n")
packageHeader
importList
topLevelObject
diff --git a/grammar/testData/diagnostics/smartCasts/loops/whileWithAssertInConditionAndBreakAfter.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/loops/whileWithAssertInConditionAndBreakAfter.antlrtree.txt
deleted file mode 100644
index ed8dc8dc2..000000000
--- a/grammar/testData/diagnostics/smartCasts/loops/whileWithAssertInConditionAndBreakAfter.antlrtree.txt
+++ /dev/null
@@ -1,417 +0,0 @@
-File: whileWithAssertInConditionAndBreakAfter.kt - ebd32a02010762f88429122993c9c13f
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("123")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- statement
- loopStatement
- whileStatement
- WHILE("while")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("42")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- BREAK("break")
- semis
- NL("\n")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("bar")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("List")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ArrayList")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- semis
- NL("\n")
- statement
- loopStatement
- forStatement
- FOR("for")
- LPAREN("(")
- variableDeclaration
- simpleIdentifier
- Identifier("i")
- IN("in")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- BREAK("break")
- semis
- NL("\n")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("size")
- semis
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/smartCasts/loops/whileWithAssertInConditionAndBreakBefore.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/loops/whileWithAssertInConditionAndBreakBefore.antlrtree.txt
deleted file mode 100644
index 2f49d57ed..000000000
--- a/grammar/testData/diagnostics/smartCasts/loops/whileWithAssertInConditionAndBreakBefore.antlrtree.txt
+++ /dev/null
@@ -1,415 +0,0 @@
-File: whileWithAssertInConditionAndBreakBefore.kt - e8459c4787d564293dabc2bc32b2de42
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("123")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- statement
- loopStatement
- whileStatement
- WHILE("while")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("42")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- BREAK("break")
- semis
- NL("\n")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("length")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("bar")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("List")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("ArrayList")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- semis
- NL("\n")
- statement
- loopStatement
- forStatement
- FOR("for")
- LPAREN("(")
- variableDeclaration
- simpleIdentifier
- Identifier("i")
- IN("in")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- BREAK("break")
- semis
- NL("\n")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("size")
- semis
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/smartCasts/varnotnull/capturedInClosureOff.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/varnotnull/capturedInClosureOff.antlrtree.txt
deleted file mode 100644
index def652372..000000000
--- a/grammar/testData/diagnostics/smartCasts/varnotnull/capturedInClosureOff.antlrtree.txt
+++ /dev/null
@@ -1,342 +0,0 @@
-File: capturedInClosureOff.kt - eb963db34de1917bba462a8d9a24b182
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("run")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("f")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("f")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_WS("? ")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- equalityOperator
- EXCL_EQ("!=")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("run")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/smartCasts/varnotnull/leakingLambdaInCalledInPlace.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/varnotnull/leakingLambdaInCalledInPlace.antlrtree.txt
new file mode 100644
index 000000000..ef9dc5423
--- /dev/null
+++ b/grammar/testData/diagnostics/smartCasts/varnotnull/leakingLambdaInCalledInPlace.antlrtree.txt
@@ -0,0 +1,269 @@
+File: leakingLambdaInCalledInPlace.kt - e9962b74eb112534d803127b6e934496
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("main")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAR("var")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("p")
+ COLON(":")
+ type
+ nullableType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ quest
+ QUEST_NO_WS("?")
+ semis
+ NL("\n")
+ statement
+ declaration
+ propertyDeclaration
+ VAR("var")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("block")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ IntegerLiteral("1")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ assignment
+ directlyAssignableExpression
+ simpleIdentifier
+ Identifier("p")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ lineStringContent
+ LineStrText("2")
+ QUOTE_CLOSE(""")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("run")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ assignment
+ directlyAssignableExpression
+ simpleIdentifier
+ Identifier("block")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ functionLiteral
+ lambdaLiteral
+ LCURL("{")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("p")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("length")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ assignment
+ directlyAssignableExpression
+ simpleIdentifier
+ Identifier("p")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ literalConstant
+ NullLiteral("null")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("block")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/smartCasts/varnotnull/setNullInTryUnsound.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/varnotnull/setNullInTryUnsound.antlrtree.txt
deleted file mode 100644
index d984da3cc..000000000
--- a/grammar/testData/diagnostics/smartCasts/varnotnull/setNullInTryUnsound.antlrtree.txt
+++ /dev/null
@@ -1,173 +0,0 @@
-File: setNullInTryUnsound.kt - 30f2a163a20d8dfde0b350d94567072b
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("s")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("Test")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- tryExpression
- TRY("try")
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("s")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- RCURL("}")
- catchBlock
- CATCH("catch")
- LPAREN("(")
- simpleIdentifier
- Identifier("ex")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Exception")
- RPAREN(")")
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("s")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("hashCode")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/smartCasts/varnotnull/varCapturedInClosure.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/varnotnull/varCapturedInClosure.antlrtree.txt
index cb85746e3..8f7cb55e0 100644
--- a/grammar/testData/diagnostics/smartCasts/varnotnull/varCapturedInClosure.antlrtree.txt
+++ b/grammar/testData/diagnostics/smartCasts/varnotnull/varCapturedInClosure.antlrtree.txt
@@ -1,4 +1,4 @@
-File: varCapturedInClosure.kt - 64f072ed97a5ec6c4286ad9c4e757b83
+File: varCapturedInClosure.kt - 3b640246364204e595a23251148070a6
NL("\n")
packageHeader
importList
@@ -322,6 +322,7 @@ File: varCapturedInClosure.kt - 64f072ed97a5ec6c4286ad9c4e757b83
block
LCURL("{")
NL("\n")
+ NL("\n")
statements
statement
expression
diff --git a/grammar/testData/diagnostics/smartCasts/varnotnull/varCapturedInInlineClosure.antlrtree.txt b/grammar/testData/diagnostics/smartCasts/varnotnull/varCapturedInInlineClosure.antlrtree.txt
index 1ec6955a3..07b4c899e 100644
--- a/grammar/testData/diagnostics/smartCasts/varnotnull/varCapturedInInlineClosure.antlrtree.txt
+++ b/grammar/testData/diagnostics/smartCasts/varnotnull/varCapturedInInlineClosure.antlrtree.txt
@@ -1,4 +1,4 @@
-File: varCapturedInInlineClosure.kt - 20979c79dab1cc8b423fca8c793d3a12
+File: varCapturedInInlineClosure.kt - bee39875a085cd947b758b8ac3df279c
NL("\n")
NL("\n")
NL("\n")
@@ -7,6 +7,10 @@ File: varCapturedInInlineClosure.kt - 20979c79dab1cc8b423fca8c793d3a12
topLevelObject
declaration
functionDeclaration
+ modifiers
+ modifier
+ functionModifier
+ INLINE("inline")
FUN("fun")
receiverType
typeReference
diff --git a/grammar/testData/diagnostics/sourceCompatibility/inlineFunctionAlways.antlrtree.txt b/grammar/testData/diagnostics/sourceCompatibility/inlineFunctionAlways.antlrtree.txt
deleted file mode 100644
index 628071b06..000000000
--- a/grammar/testData/diagnostics/sourceCompatibility/inlineFunctionAlways.antlrtree.txt
+++ /dev/null
@@ -1,122 +0,0 @@
-File: inlineFunctionAlways.kt - a856c0235b279b0eba94cdecc14bdd97
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- DOT(".")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- DOT(".")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/boundCallableReference.antlrtree.txt b/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/boundCallableReference.antlrtree.txt
deleted file mode 100644
index 85283b1ac..000000000
--- a/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/boundCallableReference.antlrtree.txt
+++ /dev/null
@@ -1,458 +0,0 @@
-File: boundCallableReference.kt - 77ea4f3d70231491938c32c7714e6903
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("C")
- classBody
- LCURL("{")
- classMemberDeclarations
- classMemberDeclaration
- companionObject
- COMPANION("companion")
- OBJECT("object")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("ok1")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("C")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("hashCode")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("fail1")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("C")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Companion")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("hashCode")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("O")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Y")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- companionObject
- COMPANION("companion")
- OBJECT("object")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("fail2")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("O")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("hashCode")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("ok2")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("O")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("Y")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("ok3")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("O")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Y")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("hashCode")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ENUM("enum")
- CLASS("class")
- simpleIdentifier
- Identifier("E")
- enumClassBody
- LCURL("{")
- NL("\n")
- enumEntries
- enumEntry
- simpleIdentifier
- Identifier("Entry")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("ok4")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("E")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Entry")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("hashCode")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("hashCode")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("fail3")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("hashCode")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("fail4")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("C")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("hashCode")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("fail5")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("C")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Companion")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("hashCode")
- NL("\n")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/boundClassLiteral.antlrtree.txt b/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/boundClassLiteral.antlrtree.txt
deleted file mode 100644
index 806cacfb9..000000000
--- a/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/boundClassLiteral.antlrtree.txt
+++ /dev/null
@@ -1,375 +0,0 @@
-File: boundClassLiteral.kt - 81a7f0c2d061a9dc9974332def5ecac5
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("C")
- classBody
- LCURL("{")
- classMemberDeclarations
- classMemberDeclaration
- companionObject
- COMPANION("companion")
- OBJECT("object")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("ok1")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("C")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- CLASS("class")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("ok2")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("C")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Companion")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- CLASS("class")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("O")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("ok3")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("O")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- CLASS("class")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ENUM("enum")
- CLASS("class")
- simpleIdentifier
- Identifier("E")
- enumClassBody
- LCURL("{")
- NL("\n")
- enumEntries
- enumEntry
- simpleIdentifier
- Identifier("Entry")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("ok4")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("E")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Entry")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- CLASS("class")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("fail1")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- CLASS("class")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("fail2")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- receiverType
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- quest
- QUEST_NO_WS("?")
- COLONCOLON("::")
- CLASS("class")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("fail3")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("C")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- CLASS("class")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("fail4")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("C")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Companion")
- RPAREN(")")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- CLASS("class")
- NL("\n")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/qualifiedJavaClassLiteralInKClassExtension.antlrtree.txt b/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/qualifiedJavaClassLiteralInKClassExtension.antlrtree.txt
deleted file mode 100644
index 771ac09da..000000000
--- a/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/qualifiedJavaClassLiteralInKClassExtension.antlrtree.txt
+++ /dev/null
@@ -1,254 +0,0 @@
-File: qualifiedJavaClassLiteralInKClassExtension.kt - 878ec3bf3f27119070f37ca27008e249
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- importHeader
- IMPORT("import")
- identifier
- simpleIdentifier
- Identifier("kotlin")
- DOT(".")
- simpleIdentifier
- Identifier("reflect")
- DOT(".")
- simpleIdentifier
- Identifier("KClass")
- semi
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RANGLE(">")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("KClass")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- DOT(".")
- variableDeclaration
- simpleIdentifier
- Identifier("java")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Class")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RANGLE(">")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("KClass")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- DOT(".")
- variableDeclaration
- simpleIdentifier
- Identifier("javaObjectType")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Class")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("java")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("lang")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Class")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- CLASS("class")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("java")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Class")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/qualifiedJavaClassReferenceInKClassExtension.antlrtree.txt b/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/qualifiedJavaClassReferenceInKClassExtension.antlrtree.txt
deleted file mode 100644
index 7a9a8e143..000000000
--- a/grammar/testData/diagnostics/sourceCompatibility/noBoundCallableReferences/qualifiedJavaClassReferenceInKClassExtension.antlrtree.txt
+++ /dev/null
@@ -1,223 +0,0 @@
-File: qualifiedJavaClassReferenceInKClassExtension.kt - e9c5e3235a439ef558a09632fc61a729
- NL("\n")
- NL("\n")
- packageHeader
- importList
- importHeader
- IMPORT("import")
- identifier
- simpleIdentifier
- Identifier("kotlin")
- DOT(".")
- simpleIdentifier
- Identifier("reflect")
- DOT(".")
- simpleIdentifier
- Identifier("KClass")
- semi
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RANGLE(">")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("KClass")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- DOT(".")
- variableDeclaration
- simpleIdentifier
- Identifier("java")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Class")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- postfixUnarySuffix
- postfixUnaryOperator
- EXCL_NO_WS("!")
- excl
- EXCL_NO_WS("!")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RANGLE(">")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("KClass")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- DOT(".")
- variableDeclaration
- simpleIdentifier
- Identifier("foo")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("java")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("lang")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Integer")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- COLONCOLON("::")
- simpleIdentifier
- Identifier("hashCode")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/sourceCompatibility/noCallableReferencesWithEmptyLHS.antlrtree.txt b/grammar/testData/diagnostics/sourceCompatibility/noCallableReferencesWithEmptyLHS.antlrtree.txt
deleted file mode 100644
index dd2c4bc9a..000000000
--- a/grammar/testData/diagnostics/sourceCompatibility/noCallableReferencesWithEmptyLHS.antlrtree.txt
+++ /dev/null
@@ -1,632 +0,0 @@
-File: noCallableReferencesWithEmptyLHS.kt - 79fa8033de23fdf7d6afd376a67610fb
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("memberFunction")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("memberProperty")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("42")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("memberFunction")
- RPAREN(")")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("extensionFunction")
- RPAREN(")")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("memberProperty")
- RPAREN(")")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("extensionProperty")
- RPAREN(")")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("B")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("memberFunction")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("memberProperty")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("43")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("memberFunction")
- RPAREN(")")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("extensionFunction")
- RPAREN(")")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("memberProperty")
- RPAREN(")")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("extensionProperty")
- RPAREN(")")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- DOT(".")
- simpleIdentifier
- Identifier("extensionFunction")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- receiverType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- DOT(".")
- variableDeclaration
- simpleIdentifier
- Identifier("extensionProperty")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("44")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/sourceCompatibility/noDataClassInheritance.antlrtree.txt b/grammar/testData/diagnostics/sourceCompatibility/noDataClassInheritance.antlrtree.txt
deleted file mode 100644
index b1ea9bb00..000000000
--- a/grammar/testData/diagnostics/sourceCompatibility/noDataClassInheritance.antlrtree.txt
+++ /dev/null
@@ -1,348 +0,0 @@
-File: noDataClassInheritance.kt - 737222c8be682af316769beb9a5336fc
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("Allowed")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("NotAllowed")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("Base")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Derived")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("42")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("Nasty")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("z")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("z")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("Complex")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Allowed")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("NotAllowed")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("AbstractEqualsHashCodeToString")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("equals")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("other")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Boolean")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("hashCode")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- semis
- NL("\n")
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- memberModifier
- OVERRIDE("override")
- FUN("fun")
- simpleIdentifier
- Identifier("toString")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("ImplInterface")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("AbstractEqualsHashCodeToString")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/sourceCompatibility/noInlineProperty.antlrtree.txt b/grammar/testData/diagnostics/sourceCompatibility/noInlineProperty.antlrtree.txt
deleted file mode 100644
index 5469f8b5e..000000000
--- a/grammar/testData/diagnostics/sourceCompatibility/noInlineProperty.antlrtree.txt
+++ /dev/null
@@ -1,232 +0,0 @@
-File: noInlineProperty.kt - d056295096a980b826cec3daf689f988
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- VALUE("value")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("z")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- INCR("++")
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- VALUE("value")
- NL("\n")
- setter
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- VALUE("value")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("p")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("z2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- getter
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- INCR("++")
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- VALUE("value")
- NL("\n")
- setter
- modifiers
- modifier
- functionModifier
- INLINE("inline")
- SET("set")
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- VALUE("value")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("p")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/sourceCompatibility/noLocalDelegatedProperty.antlrtree.txt b/grammar/testData/diagnostics/sourceCompatibility/noLocalDelegatedProperty.antlrtree.txt
deleted file mode 100644
index 5f469c4a1..000000000
--- a/grammar/testData/diagnostics/sourceCompatibility/noLocalDelegatedProperty.antlrtree.txt
+++ /dev/null
@@ -1,415 +0,0 @@
-File: noLocalDelegatedProperty.kt - f12bfcf263bba391dbdda574cc3f5d82
- NL("\n")
- packageHeader
- importList
- importHeader
- IMPORT("import")
- identifier
- simpleIdentifier
- Identifier("kotlin")
- DOT(".")
- simpleIdentifier
- Identifier("reflect")
- DOT(".")
- simpleIdentifier
- Identifier("KProperty")
- semi
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Delegate")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- modifiers
- modifier
- functionModifier
- OPERATOR("operator")
- FUN("fun")
- simpleIdentifier
- Identifier("getValue")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("t")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- quest
- QUEST_NO_WS("?")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("p")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("KProperty")
- typeArguments
- LANGLE("<")
- typeProjection
- MULT("*")
- RANGLE(">")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("prop")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- propertyDelegate
- BY("by")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Delegate")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- NL("\n")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("prop2")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- propertyDelegate
- BY("by")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("123")
- NL("\n")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("obj")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("v")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("prop3")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- propertyDelegate
- BY("by")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Delegate")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("prop3")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- NL("\n")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("prop")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("prop2")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("obj")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("v")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/syntax/incorrectLTGTFallback.antlrtree.txt b/grammar/testData/diagnostics/syntax/incorrectLTGTFallback.antlrtree.txt
new file mode 100644
index 000000000..81bf0c1ec
--- /dev/null
+++ b/grammar/testData/diagnostics/syntax/incorrectLTGTFallback.antlrtree.txt
@@ -0,0 +1,918 @@
+File: incorrectLTGTFallback.kt - 06026e47029e0f23a87e7486a15ba876
+ NL("\n")
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ modifiers
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Target")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("AnnotationTarget")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("EXPRESSION")
+ RPAREN(")")
+ annotation
+ singleAnnotation
+ AT_PRE_WS("\n@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Retention")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("AnnotationRetention")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("SOURCE")
+ RPAREN(")")
+ NL("\n")
+ modifier
+ classModifier
+ ANNOTATION("annotation")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("Ann")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ VAL("val")
+ simpleIdentifier
+ Identifier("x")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RPAREN(")")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("x")
+ COLON(":")
+ type
+ functionType
+ functionTypeParameters
+ LPAREN("(")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RPAREN(")")
+ ARROW("->")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ statements
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("main")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ label
+ simpleIdentifier
+ Identifier("label")
+ AT_POST_WS("@ ")
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ label
+ simpleIdentifier
+ Identifier("label")
+ AT_NO_WS("@")
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ label
+ simpleIdentifier
+ Identifier("label")
+ AT_POST_WS("@ ")
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ label
+ simpleIdentifier
+ Identifier("label")
+ AT_NO_WS("@")
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ label
+ simpleIdentifier
+ Identifier("label")
+ AT_POST_WS("@\n")
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ annotation
+ singleAnnotation
+ AT_PRE_WS("/* */label@ { x -> x }\n foo/* */label@{ x -> x }\n foolabel@/* */{ x -> x }\n foo label@/* */{ x -> x }\n foo label@/* */\n { x -> x }\n\n foo @Ann("") label@ { x -> x }\n foo/* */@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Ann")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ label
+ simpleIdentifier
+ Identifier("label")
+ AT_POST_WS("@ ")
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ annotation
+ singleAnnotation
+ AT_NO_WS("@")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Ann")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ label
+ simpleIdentifier
+ Identifier("label")
+ AT_POST_WS("@ ")
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ annotation
+ singleAnnotation
+ AT_PRE_WS(" @")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Ann")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ label
+ simpleIdentifier
+ Identifier("label")
+ AT_POST_WS("@/* */")
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ RCURL("}")
+ semis
+ NL("\n")
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("foo")
+ postfixUnarySuffix
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Int")
+ RANGLE(">")
+ postfixUnarySuffix
+ callSuffix
+ annotatedLambda
+ annotation
+ singleAnnotation
+ AT_PRE_WS(" @")
+ unescapedAnnotation
+ constructorInvocation
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Ann")
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ stringLiteral
+ lineStringLiteral
+ QUOTE_OPEN(""")
+ QUOTE_CLOSE(""")
+ RPAREN(")")
+ label
+ simpleIdentifier
+ Identifier("label")
+ AT_POST_WS("@/* */")
+ NL("\n")
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ ARROW("->")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("x")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/syntheticExtensions/samAdapters/overloadResolutionStaticWithoutRefinedSams.1.antlrtree.txt b/grammar/testData/diagnostics/syntheticExtensions/samAdapters/overloadResolutionStaticWithoutRefinedSams.1.antlrtree.txt
deleted file mode 100644
index ae3badb4a..000000000
--- a/grammar/testData/diagnostics/syntheticExtensions/samAdapters/overloadResolutionStaticWithoutRefinedSams.1.antlrtree.txt
+++ /dev/null
@@ -1,1460 +0,0 @@
-File: overloadResolutionStaticWithoutRefinedSams.1.kt - cad245e74ec3708ba6fa27f1def12a2f
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("fn")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("x")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("r")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Runnable")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("fn")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Runnable")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("r")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("123")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("fn")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("r")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- asOperator
- AS("as")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Runnable")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- asOperator
- AS("as")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("CharSequence")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("123")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/syntheticExtensions/samAdapters/overloadResolutionWithoutRefinedSams.1.antlrtree.txt b/grammar/testData/diagnostics/syntheticExtensions/samAdapters/overloadResolutionWithoutRefinedSams.1.antlrtree.txt
deleted file mode 100644
index 474553cfe..000000000
--- a/grammar/testData/diagnostics/syntheticExtensions/samAdapters/overloadResolutionWithoutRefinedSams.1.antlrtree.txt
+++ /dev/null
@@ -1,1472 +0,0 @@
-File: overloadResolutionWithoutRefinedSams.1.kt - 63c77707477f19b518d1246dca6f7234
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("fn")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("x")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("a")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("r")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Runnable")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("fn")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("Runnable")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("r")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("123")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- simpleIdentifier
- Identifier("fn")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- RCURL("}")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("r")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- asOperator
- AS("as")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Runnable")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- asOperator
- AS("as")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("CharSequence")
- quest
- QUEST_NO_WS("?")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- simpleIdentifier
- Identifier("checkType")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("_")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RCURL("}")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("a")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("bar")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("123")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/diagnostics.antlrtree.txt b/grammar/testData/diagnostics/testsWithJava15/jvmRecord/diagnostics.antlrtree.txt
deleted file mode 100644
index b0df1122b..000000000
--- a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/diagnostics.antlrtree.txt
+++ /dev/null
@@ -1,518 +0,0 @@
-File: diagnostics.kt - 82e056e7caabd653eaca0b217eb385c6
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- CLASS("class")
- simpleIdentifier
- Identifier("A0")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- CLASS("class")
- simpleIdentifier
- Identifier("A1")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- secondaryConstructor
- CONSTRUCTOR("constructor")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- CLASS("class")
- simpleIdentifier
- Identifier("A2")
- primaryConstructor
- classParameters
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- CLASS("class")
- simpleIdentifier
- Identifier("A3")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- simpleIdentifier
- Identifier("name")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- CLASS("class")
- simpleIdentifier
- Identifier("A4")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAR("var")
- simpleIdentifier
- Identifier("name")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- CLASS("class")
- simpleIdentifier
- Identifier("A5")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- modifier
- parameterModifier
- VARARG("vararg")
- VAL("val")
- simpleIdentifier
- Identifier("name")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- classParameter
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- inheritanceModifier
- OPEN("open")
- CLASS("class")
- simpleIdentifier
- Identifier("A6")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- CLASS("class")
- simpleIdentifier
- Identifier("A7")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- SEALED("sealed")
- CLASS("class")
- simpleIdentifier
- Identifier("A8")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- ENUM("enum")
- CLASS("class")
- simpleIdentifier
- Identifier("A9")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- enumClassBody
- LCURL("{")
- NL("\n")
- enumEntries
- enumEntry
- simpleIdentifier
- Identifier("X")
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- SEMICOLON(";")
- NL("\n")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- CLASS("class")
- simpleIdentifier
- Identifier("A10")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- COMMA(",")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- COMMA(",")
- classParameter
- modifiers
- modifier
- parameterModifier
- VARARG("vararg")
- VAL("val")
- simpleIdentifier
- Identifier("z")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Double")
- COMMA(",")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Local")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Outer")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- INNER("inner")
- CLASS("class")
- simpleIdentifier
- Identifier("Inner")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("name")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/irrelevantFields.antlrtree.txt b/grammar/testData/diagnostics/testsWithJava15/jvmRecord/irrelevantFields.antlrtree.txt
deleted file mode 100644
index efc57c7cf..000000000
--- a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/irrelevantFields.antlrtree.txt
+++ /dev/null
@@ -1,540 +0,0 @@
-File: irrelevantFields.kt - fd7e4ba155120d87ae27b98651559977
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("I")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("i")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("I")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- objectLiteral
- OBJECT("object")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("I")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("MyRec1")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("name")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- explicitDelegation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("I")
- BY("by")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("i")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("MyRec2")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("name")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("MyRec3")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("name")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- NL("\n")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- FIELD("field")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("1")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- NL("\n")
- classMemberDeclaration
- anonymousInitializer
- INIT("init")
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- simpleIdentifier
- Identifier("y")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("MyRec4")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("name")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("z")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- propertyDelegate
- BY("by")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("lazy")
- postfixUnarySuffix
- callSuffix
- annotatedLambda
- lambdaLiteral
- LCURL("{")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("MyRec5")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("name")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("w")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- getter
- GET("get")
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("name")
- additiveOperator
- ADD("+")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("1")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/jvmRecordDescriptorStructure.antlrtree.txt b/grammar/testData/diagnostics/testsWithJava15/jvmRecord/jvmRecordDescriptorStructure.antlrtree.txt
deleted file mode 100644
index 75de41882..000000000
--- a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/jvmRecordDescriptorStructure.antlrtree.txt
+++ /dev/null
@@ -1,123 +0,0 @@
-File: jvmRecordDescriptorStructure.kt - 84a94ed492ca717807a2c479e006cab9
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- CLASS("class")
- simpleIdentifier
- Identifier("BasicRecord")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("BasicDataRecord")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- CLASS("class")
- simpleIdentifier
- Identifier("BasicRecordWithSuperClass")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Record")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/simpleRecords.main.antlrtree.txt b/grammar/testData/diagnostics/testsWithJava15/jvmRecord/simpleRecords.main.antlrtree.txt
deleted file mode 100644
index 4365c4ecf..000000000
--- a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/simpleRecords.main.antlrtree.txt
+++ /dev/null
@@ -1,219 +0,0 @@
-File: simpleRecords.main.kt - 4bc05bbae87e4687862c8ed4c73b01f7
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("mr")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("MyRecord")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("MyRecord")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- COMMA(",")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("mr")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("mr")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("y")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("mr")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("x")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("mr")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("y")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/supertypesCheck.antlrtree.txt b/grammar/testData/diagnostics/testsWithJava15/jvmRecord/supertypesCheck.antlrtree.txt
deleted file mode 100644
index 246909fa8..000000000
--- a/grammar/testData/diagnostics/testsWithJava15/jvmRecord/supertypesCheck.antlrtree.txt
+++ /dev/null
@@ -1,403 +0,0 @@
-File: supertypesCheck.kt - 3fd43494dbb414e09495fc6d90a19510
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- inheritanceModifier
- ABSTRACT("abstract")
- CLASS("class")
- simpleIdentifier
- Identifier("Abstract")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- INTERFACE("interface")
- simpleIdentifier
- Identifier("I")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("A1")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Abstract")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("I")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("A2")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("I")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("A3")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Record")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("I")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("A4")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("java")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("lang")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("Record")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("I")
- semis
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JvmRecord")
- NL("\n")
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("A5")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("I")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("A6")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Record")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("I")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- DATA("data")
- CLASS("class")
- simpleIdentifier
- Identifier("A7")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- VAL("val")
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("java")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("lang")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("Record")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- COMMA(",")
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("I")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/testsWithJava15/sealedClasses/javaSealedClassExhaustiveness.main.antlrtree.txt b/grammar/testData/diagnostics/testsWithJava15/sealedClasses/javaSealedClassExhaustiveness.main.antlrtree.txt
deleted file mode 100644
index f1b1c54ed..000000000
--- a/grammar/testData/diagnostics/testsWithJava15/sealedClasses/javaSealedClassExhaustiveness.main.antlrtree.txt
+++ /dev/null
@@ -1,607 +0,0 @@
-File: javaSealedClassExhaustiveness.main.kt - a4fe7f4f9519e31b45f253716ee73ca8
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test_ok_1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("base")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("base")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semi
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test_ok_2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("base")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("base")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("C")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("D")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- semi
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test_error_1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("base")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("base")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semi
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test_error_2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("base")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("base")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("C")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semi
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/testsWithJava15/sealedClasses/javaSealedInterfaceExhaustiveness.main.antlrtree.txt b/grammar/testData/diagnostics/testsWithJava15/sealedClasses/javaSealedInterfaceExhaustiveness.main.antlrtree.txt
deleted file mode 100644
index 71a21e923..000000000
--- a/grammar/testData/diagnostics/testsWithJava15/sealedClasses/javaSealedInterfaceExhaustiveness.main.antlrtree.txt
+++ /dev/null
@@ -1,1110 +0,0 @@
-File: javaSealedInterfaceExhaustiveness.main.kt - 5ca4a4ba8d2d5b5f3ee44bb1ab712eae
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test_ok_1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("base")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("base")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("E")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- semi
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test_ok_2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("base")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("base")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("C")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("D")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- semi
- NL("\n")
- whenEntry
- whenCondition
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("E")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("First")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("4")
- semi
- NL("\n")
- whenEntry
- whenCondition
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("E")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Second")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("5")
- semi
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test_error_1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("base")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("base")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semi
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test_error_2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("base")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("base")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("C")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("D")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("3")
- semi
- NL("\n")
- whenEntry
- whenCondition
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("E")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Second")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("5")
- semi
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test_error_3")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("base")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- whenExpression
- WHEN("when")
- whenSubject
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("base")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("A")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semi
- NL("\n")
- whenEntry
- whenCondition
- typeTest
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("B")
- DOT(".")
- simpleUserType
- simpleIdentifier
- Identifier("C")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semi
- NL("\n")
- whenEntry
- whenCondition
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("E")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("First")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("4")
- semi
- NL("\n")
- whenEntry
- whenCondition
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("E")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("Second")
- ARROW("->")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("5")
- semi
- NL("\n")
- RCURL("}")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/testsWithJava15/sealedClasses/kotlinInheritsJavaClass.B.antlrtree.txt b/grammar/testData/diagnostics/testsWithJava15/sealedClasses/kotlinInheritsJavaClass.B.antlrtree.txt
deleted file mode 100644
index 2595ebc26..000000000
--- a/grammar/testData/diagnostics/testsWithJava15/sealedClasses/kotlinInheritsJavaClass.B.antlrtree.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-File: kotlinInheritsJavaClass.B.kt - 22587166429fb86e3de9ebd6605a4e04
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("B")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/testsWithJava15/sealedClasses/kotlinInheritsJavaInterface.B.antlrtree.txt b/grammar/testData/diagnostics/testsWithJava15/sealedClasses/kotlinInheritsJavaInterface.B.antlrtree.txt
deleted file mode 100644
index c80e48a3c..000000000
--- a/grammar/testData/diagnostics/testsWithJava15/sealedClasses/kotlinInheritsJavaInterface.B.antlrtree.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-File: kotlinInheritsJavaInterface.B.kt - f8b45e58bbb7796ff34ee9c5e1069542
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("B")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Base")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/typeParameters/implicitNothingAgainstNotNothingExpectedType.antlrtree.txt b/grammar/testData/diagnostics/typeParameters/implicitNothingAgainstNotNothingExpectedType.antlrtree.txt
index 7369291fe..f1fbe9365 100644
--- a/grammar/testData/diagnostics/typeParameters/implicitNothingAgainstNotNothingExpectedType.antlrtree.txt
+++ b/grammar/testData/diagnostics/typeParameters/implicitNothingAgainstNotNothingExpectedType.antlrtree.txt
@@ -1,5 +1,4 @@
-File: implicitNothingAgainstNotNothingExpectedType.kt - dbd9fc15f0cd094900401927b769f4ca
- NL("\n")
+File: implicitNothingAgainstNotNothingExpectedType.kt - 52922916c24ed6f88c14ff7e98b0516b
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/typealias/unsupportedTypeAlias.antlrtree.txt b/grammar/testData/diagnostics/typealias/unsupportedTypeAlias.antlrtree.txt
deleted file mode 100644
index e28235fd4..000000000
--- a/grammar/testData/diagnostics/typealias/unsupportedTypeAlias.antlrtree.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-File: unsupportedTypeAlias.kt - fa1485b5915c5ed52f2ee22f985833b7
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("C")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- typeAlias
- TYPE_ALIAS("typealias")
- simpleIdentifier
- Identifier("S")
- ASSIGNMENT("=")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- semis
- NL("\n")
- topLevelObject
- declaration
- typeAlias
- TYPE_ALIAS("typealias")
- simpleIdentifier
- Identifier("L")
- typeParameters
- LANGLE("<")
- typeParameter
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- ASSIGNMENT("=")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("List")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("T")
- RANGLE(">")
- semis
- NL("\n")
- topLevelObject
- declaration
- typeAlias
- TYPE_ALIAS("typealias")
- simpleIdentifier
- Identifier("CA")
- ASSIGNMENT("=")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("C")
- semis
- NL("\n")
- topLevelObject
- declaration
- typeAlias
- TYPE_ALIAS("typealias")
- simpleIdentifier
- Identifier("Unused")
- ASSIGNMENT("=")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test1")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("S")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test2")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("L")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("S")
- RANGLE(">")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Test3")
- COLON(":")
- delegationSpecifiers
- annotatedDelegationSpecifier
- delegationSpecifier
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("CA")
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/underscoresInNumericLiterals/noUnderscores.antlrtree.txt b/grammar/testData/diagnostics/underscoresInNumericLiterals/noUnderscores.antlrtree.txt
deleted file mode 100644
index 10ac9b45f..000000000
--- a/grammar/testData/diagnostics/underscoresInNumericLiterals/noUnderscores.antlrtree.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-File: noUnderscores.kt - ccb121905fe7d99838b8e22e0ade13c3 (WITH_ERRORS)
- NL("\n")
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- IntegerLiteral("100_1")
- NL("\n")
- IntegerLiteral("3")
- Identifier("_")
- RealLiteral(".1")
- NL("\n")
- IntegerLiteral("2___4")
- NL("\n")
- IntegerLiteral("123")
- Identifier("_")
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/diagnostics/unsignedTypes/unsignedLiteralsOn1_2.antlrtree.txt b/grammar/testData/diagnostics/unsignedTypes/unsignedLiteralsOn1_2.antlrtree.txt
deleted file mode 100644
index e034687c0..000000000
--- a/grammar/testData/diagnostics/unsignedTypes/unsignedLiteralsOn1_2.antlrtree.txt
+++ /dev/null
@@ -1,88 +0,0 @@
-File: unsignedLiteralsOn1_2.kt - 6e9ae39fa5ec23b1acdb769887a1ee26
- NL("\n")
- NL("\n")
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("a")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("0u")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("b")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("u")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("UInt")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- EOF("")
- EOF("")
diff --git a/grammar/testData/diagnostics/varargs/noAssigningArraysToVarargsFeature.test.antlrtree.txt b/grammar/testData/diagnostics/varargs/noAssigningArraysToVarargsFeature.test.antlrtree.txt
deleted file mode 100644
index 9f565831c..000000000
--- a/grammar/testData/diagnostics/varargs/noAssigningArraysToVarargsFeature.test.antlrtree.txt
+++ /dev/null
@@ -1,910 +0,0 @@
-File: noAssigningArraysToVarargsFeature.test.kt - 4dfc486a56d37c90ec5c43f149241b01
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("Ann")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- modifier
- parameterModifier
- VARARG("vararg")
- VAL("val")
- simpleIdentifier
- Identifier("s")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Ann")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- Identifier("s")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arrayOf")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("test1")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Ann")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- Identifier("s")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("intArrayOf")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("test2")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Ann")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- Identifier("s")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arrayOf")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("test3")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Ann")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- Identifier("s")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("value")
- QUOTE_CLOSE(""")
- RSQUARE("]")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("test5")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JavaAnn")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- VALUE("value")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("arrayOf")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("value")
- QUOTE_CLOSE(""")
- RPAREN(")")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("jTest1")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JavaAnn")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- VALUE("value")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("value")
- QUOTE_CLOSE(""")
- RSQUARE("]")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("jTest2")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("JavaAnn")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- VALUE("value")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("value")
- QUOTE_CLOSE(""")
- RSQUARE("]")
- COMMA(",")
- valueArgument
- simpleIdentifier
- Identifier("path")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("path")
- QUOTE_CLOSE(""")
- RSQUARE("]")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("jTest3")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- modifiers
- modifier
- classModifier
- ANNOTATION("annotation")
- CLASS("class")
- simpleIdentifier
- Identifier("IntAnn")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- modifier
- parameterModifier
- VARARG("vararg")
- VAL("val")
- simpleIdentifier
- Identifier("i")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("IntAnn")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- Identifier("i")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- collectionLiteral
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- COMMA(",")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- RSQUARE("]")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("foo1")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("IntAnn")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- Identifier("i")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("intArrayOf")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- RPAREN(")")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("foo2")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("foo")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameterModifiers
- parameterModifier
- VARARG("vararg")
- parameter
- simpleIdentifier
- Identifier("i")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS("\n@")
- unescapedAnnotation
- constructorInvocation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Ann")
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- Identifier("s")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- lineStringContent
- LineStrText("value")
- QUOTE_CLOSE(""")
- RPAREN(")")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("dep1")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("foo")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- simpleIdentifier
- Identifier("i")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/diagnostics/varargs/varargViewedAsArray.antlrtree.txt b/grammar/testData/diagnostics/varargs/varargViewedAsArray.antlrtree.txt
index faf3e8748..cec0502c2 100644
--- a/grammar/testData/diagnostics/varargs/varargViewedAsArray.antlrtree.txt
+++ b/grammar/testData/diagnostics/varargs/varargViewedAsArray.antlrtree.txt
@@ -1,5 +1,4 @@
-File: varargViewedAsArray.kt - d9429c83939ddb369bea1f00a45b892f
- NL("\n")
+File: varargViewedAsArray.kt - ed6d0c889e5510d655080b52a9a8745f
NL("\n")
NL("\n")
packageHeader
diff --git a/grammar/testData/diagnostics/visibility/privateToThis.antlrtree.txt b/grammar/testData/diagnostics/visibility/privateToThis.antlrtree.txt
new file mode 100644
index 000000000..89bf3089a
--- /dev/null
+++ b/grammar/testData/diagnostics/visibility/privateToThis.antlrtree.txt
@@ -0,0 +1,436 @@
+File: privateToThis.kt - 929c95752e67bb63ea55b754db0a3cdc
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("A")
+ typeParameters
+ LANGLE("<")
+ typeParameter
+ typeParameterModifiers
+ typeParameterModifier
+ varianceModifier
+ IN("in")
+ simpleIdentifier
+ Identifier("T")
+ RANGLE(">")
+ primaryConstructor
+ classParameters
+ LPAREN("(")
+ classParameter
+ simpleIdentifier
+ Identifier("t")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ RPAREN(")")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ propertyDeclaration
+ modifiers
+ modifier
+ visibilityModifier
+ PRIVATE("private")
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("t")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("t")
+ NL("\n")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ propertyDeclaration
+ modifiers
+ modifier
+ visibilityModifier
+ PRIVATE("private")
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("i")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("B")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("B")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ NL("\n")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("test")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("t")
+ semis
+ NL("\n")
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("y")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("T")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ thisExpression
+ THIS("this")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("t")
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("foo")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("a")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("A")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ RANGLE(">")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("x")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("String")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("t")
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("bar")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("a")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("A")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ MULT("*")
+ RANGLE(">")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("t")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ NL("\n")
+ classMemberDeclaration
+ declaration
+ classDeclaration
+ modifiers
+ modifier
+ classModifier
+ INNER("inner")
+ CLASS("class")
+ simpleIdentifier
+ Identifier("B")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ functionDeclaration
+ FUN("fun")
+ simpleIdentifier
+ Identifier("baz")
+ functionValueParameters
+ LPAREN("(")
+ functionValueParameter
+ parameter
+ simpleIdentifier
+ Identifier("a")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("A")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ MULT("*")
+ RANGLE(">")
+ RPAREN(")")
+ functionBody
+ block
+ LCURL("{")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("a")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("i")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/diagnostics/when/extractingEntireCall.antlrtree.txt b/grammar/testData/diagnostics/when/extractingEntireCall.antlrtree.txt
new file mode 100644
index 000000000..f3a9bcbbb
--- /dev/null
+++ b/grammar/testData/diagnostics/when/extractingEntireCall.antlrtree.txt
@@ -0,0 +1,364 @@
+File: extractingEntireCall.kt - 21e5c6b6c0a09d0e553a6860b7a9f950
+ NL("\n")
+ NL("\n")
+ packageHeader
+ importList
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("FirExpression")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ INTERFACE("interface")
+ simpleIdentifier
+ Identifier("FirNamedArgumentExpression")
+ COLON(":")
+ delegationSpecifiers
+ annotatedDelegationSpecifier
+ delegationSpecifier
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirExpression")
+ classBody
+ LCURL("{")
+ NL("\n")
+ classMemberDeclarations
+ classMemberDeclaration
+ declaration
+ propertyDeclaration
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("expression")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirNamedArgumentExpression")
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ topLevelObject
+ declaration
+ classDeclaration
+ CLASS("class")
+ simpleIdentifier
+ Identifier("AnnotationUseSiteTarget")
+ semis
+ NL("\n")
+ NL("\n")
+ topLevelObject
+ declaration
+ functionDeclaration
+ modifiers
+ modifier
+ visibilityModifier
+ PRIVATE("private")
+ FUN("fun")
+ receiverType
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("List")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirExpression")
+ RANGLE(">")
+ DOT(".")
+ simpleIdentifier
+ Identifier("toAnnotationUseSiteTargets2")
+ functionValueParameters
+ LPAREN("(")
+ RPAREN(")")
+ COLON(":")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("Set")
+ typeArguments
+ LANGLE("<")
+ typeProjection
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("AnnotationUseSiteTarget")
+ RANGLE(">")
+ functionBody
+ ASSIGNMENT("=")
+ NL("\n")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("flatMapTo")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ valueArgument
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("mutableSetOf")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ RPAREN(")")
+ annotatedLambda
+ lambdaLiteral
+ LCURL("{")
+ lambdaParameters
+ lambdaParameter
+ variableDeclaration
+ simpleIdentifier
+ Identifier("arg")
+ ARROW("->")
+ NL("\n")
+ statements
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ whenExpression
+ WHEN("when")
+ whenSubject
+ LPAREN("(")
+ VAL("val")
+ variableDeclaration
+ simpleIdentifier
+ Identifier("unwrappedArg")
+ ASSIGNMENT("=")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ ifExpression
+ IF("if")
+ LPAREN("(")
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("arg")
+ isOperator
+ IS("is")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirNamedArgumentExpression")
+ RPAREN(")")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("arg")
+ postfixUnarySuffix
+ navigationSuffix
+ memberAccessOperator
+ DOT(".")
+ simpleIdentifier
+ Identifier("expression")
+ ELSE("else")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("arg")
+ RPAREN(")")
+ LCURL("{")
+ NL("\n")
+ whenEntry
+ whenCondition
+ typeTest
+ isOperator
+ IS("is")
+ type
+ typeReference
+ userType
+ simpleUserType
+ simpleIdentifier
+ Identifier("FirNamedArgumentExpression")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("setOf")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semi
+ NL("\n")
+ whenEntry
+ ELSE("else")
+ ARROW("->")
+ controlStructureBody
+ statement
+ expression
+ disjunction
+ conjunction
+ equality
+ comparison
+ genericCallLikeComparison
+ infixOperation
+ elvisExpression
+ infixFunctionCall
+ rangeExpression
+ additiveExpression
+ multiplicativeExpression
+ asExpression
+ prefixUnaryExpression
+ postfixUnaryExpression
+ primaryExpression
+ simpleIdentifier
+ Identifier("setOf")
+ postfixUnarySuffix
+ callSuffix
+ valueArguments
+ LPAREN("(")
+ RPAREN(")")
+ semi
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ RCURL("}")
+ semis
+ NL("\n")
+ EOF("")
diff --git a/grammar/testData/grammar/annotations/exclamationMark.antlrtree.txt b/grammar/testData/grammar/annotations/exclamationMark.antlrtree.txt
deleted file mode 100644
index 80428560e..000000000
--- a/grammar/testData/grammar/annotations/exclamationMark.antlrtree.txt
+++ /dev/null
@@ -1,214 +0,0 @@
-File: exclamationMark.kt - 9a0edc06e282c798cde7565f9c3f3a91
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("case_1")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- nullableType
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- quest
- QUEST_NO_WS("?")
- COMMA(",")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("y")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Anno")
- unaryPrefix
- prefixUnaryOperator
- excl
- EXCL_NO_WS("!")
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- equalityOperator
- EQEQ("==")
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("y")
- RPAREN(")")
- RPAREN(")")
- controlStructureBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("inv")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Anno")
- unaryPrefix
- prefixUnaryOperator
- excl
- EXCL_NO_WS("!")
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("y")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/exclamationMark.kt b/grammar/testData/grammar/annotations/exclamationMark.kt
deleted file mode 100644
index b1ca30291..000000000
--- a/grammar/testData/grammar/annotations/exclamationMark.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-fun case_1(x: Int?, y: Int) {
- if (@Anno !(x == y)) {
- x.inv()
- }
-}
-
-val x = @Anno !y
\ No newline at end of file
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegate.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegate.antlrtree.txt
deleted file mode 100644
index e7f5d9287..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegate.antlrtree.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-File: delegate.kt - dd105c1365272957223b0357f58ceb55
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- DELEGATE("delegate")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- DELEGATE("delegate")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- DELEGATE("delegate")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- DELEGATE("delegate")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- DELEGATE("delegate")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegate.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegate.kt
deleted file mode 100644
index 40a48a491..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegate.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@delegate private val field: Int) {}
-
-class Foo {
- @ann @delegate var field: Int = 10
-}
-
-class Foo(@delegate @ann protected val field: Int) {}
-
-class Foo {
- @ann @delegate var field: Int = 10
-}
-
-class Foo {
- @delegate @ann var field: Int = 10
-}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegateInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegateInBackticks.antlrtree.txt
deleted file mode 100644
index 08057b63b..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegateInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,311 +0,0 @@
-File: delegateInBackticks.kt - fb5e22c55d064af15eeb500ea86b45d5
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegate`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegate`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegate`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegate`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegate`")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegate`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegateInBackticks.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegateInBackticks.kt
deleted file mode 100644
index cf39ec783..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/delegateInBackticks.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@`delegate` private val field: Int) {}
-
-class Foo {
- @ann @`delegate` var field: Int = 10
-}
-
-class Foo(@`delegate` @ann protected val field: Int) {}
-
-class Foo {
- @ann @`delegate` var field: Int = 10
-}
-
-class Foo(@ann @`delegate` val field: Int) {}
-
-class Foo(@`delegate` @ann val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/field.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/field.antlrtree.txt
deleted file mode 100644
index 56ea36128..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/field.antlrtree.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-File: field.kt - bdcad0b1138dabdf0d8b5f16051dba64
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- FIELD("field")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- FIELD("field")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- FIELD("field")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- FIELD("field")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- FIELD("field")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/field.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/field.kt
deleted file mode 100644
index 200b38b4b..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/field.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@field private val field: Int) {}
-
-class Foo {
- @ann @field var field: Int = 10
-}
-
-class Foo(@field @ann protected val field: Int) {}
-
-class Foo {
- @ann @field var field: Int = 10
-}
-
-class Foo {
- @field @ann var field: Int = 10
-}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fieldInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fieldInBackticks.antlrtree.txt
deleted file mode 100644
index 2ec3e543a..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fieldInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,311 +0,0 @@
-File: fieldInBackticks.kt - 1572c328f9807ae64ba10cf96e686bc0
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`field`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`field`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`field`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`field`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`field`")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`field`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fieldInBackticks.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fieldInBackticks.kt
deleted file mode 100644
index 74ef4e8e9..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fieldInBackticks.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@`field` private val field: Int) {}
-
-class Foo {
- @ann @`field` var field: Int = 10
-}
-
-class Foo(@`field` @ann protected val field: Int) {}
-
-class Foo {
- @ann @`field` var field: Int = 10
-}
-
-class Foo(@ann @`field` val field: Int) {}
-
-class Foo(@`field` @ann val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/file.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/file.antlrtree.txt
deleted file mode 100644
index 208d9f334..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/file.antlrtree.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-File: file.kt - e993cd0d1d50b4120494284555974df2
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- FILE("file")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/file.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/file.kt
deleted file mode 100644
index 3f4e8df74..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/file.kt
+++ /dev/null
@@ -1,2 +0,0 @@
-@file
-fun main() {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fileInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fileInBackticks.antlrtree.txt
deleted file mode 100644
index ff31c0427..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fileInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-File: fileInBackticks.kt - d127906cc039d0b176d54ef0573fa59d
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`file`")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fileInBackticks.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fileInBackticks.kt
deleted file mode 100644
index 4ad0398ad..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/fileInBackticks.kt
+++ /dev/null
@@ -1,2 +0,0 @@
-@`file`
-fun main() {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/get.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/get.antlrtree.txt
deleted file mode 100644
index 1eb7c7d55..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/get.antlrtree.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-File: get.kt - 3fb63ac08c2c793a1fdd9c826b6690bb
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- GET("get")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- GET("get")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- GET("get")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- GET("get")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- GET("get")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/get.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/get.kt
deleted file mode 100644
index 33dd12b84..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/get.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@get private val field: Int) {}
-
-class Foo {
- @ann @get var field: Int = 10
-}
-
-class Foo(@get @ann protected val field: Int) {}
-
-class Foo {
- @ann @get var field: Int = 10
-}
-
-class Foo {
- @get @ann var field: Int = 10
-}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/getInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/getInBackticks.antlrtree.txt
deleted file mode 100644
index 85ee15d64..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/getInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,311 +0,0 @@
-File: getInBackticks.kt - 96149c40ead4e12da363ac5a42b25a5e
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`get`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`get`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`get`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`get`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`get`")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`get`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/getInBackticks.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/getInBackticks.kt
deleted file mode 100644
index 1ed2d9bed..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/getInBackticks.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@`get` private val field: Int) {}
-
-class Foo {
- @ann @`get` var field: Int = 10
-}
-
-class Foo(@`get` @ann protected val field: Int) {}
-
-class Foo {
- @ann @`get` var field: Int = 10
-}
-
-class Foo(@ann @`get` val field: Int) {}
-
-class Foo(@`get` @ann val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/param.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/param.antlrtree.txt
deleted file mode 100644
index 39458913b..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/param.antlrtree.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-File: param.kt - c8d94c6d0a2db89db77d0298c971d3f3
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- PARAM("param")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- PARAM("param")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- PARAM("param")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- PARAM("param")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- PARAM("param")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/param.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/param.kt
deleted file mode 100644
index 373c24a0d..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/param.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@param private val field: Int) {}
-
-class Foo {
- @ann @param var field: Int = 10
-}
-
-class Foo(@param @ann protected val field: Int) {}
-
-class Foo {
- @ann @param var field: Int = 10
-}
-
-class Foo {
- @param @ann var field: Int = 10
-}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/paramInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/paramInBackticks.antlrtree.txt
deleted file mode 100644
index 805ea9086..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/paramInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,311 +0,0 @@
-File: paramInBackticks.kt - 19dad1a720ecb1406d6f0dab8b299d3c
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`param`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`param`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`param`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`param`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`param`")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`param`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/paramInBackticks.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/paramInBackticks.kt
deleted file mode 100644
index c341afa7e..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/paramInBackticks.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@`param` private val field: Int) {}
-
-class Foo {
- @ann @`param` var field: Int = 10
-}
-
-class Foo(@`param` @ann protected val field: Int) {}
-
-class Foo {
- @ann @`param` var field: Int = 10
-}
-
-class Foo(@ann @`param` val field: Int) {}
-
-class Foo(@`param` @ann val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/property.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/property.antlrtree.txt
deleted file mode 100644
index cb7b2195d..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/property.antlrtree.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-File: property.kt - db34c6fc0257d2c2b26ecc084c5622d0
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- PROPERTY("property")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- PROPERTY("property")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- PROPERTY("property")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- PROPERTY("property")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- PROPERTY("property")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/property.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/property.kt
deleted file mode 100644
index 09c416871..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/property.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@property private val field: Int) {}
-
-class Foo {
- @ann @property var field: Int = 10
-}
-
-class Foo(@property @ann protected val field: Int) {}
-
-class Foo {
- @ann @property var field: Int = 10
-}
-
-class Foo {
- @property @ann var field: Int = 10
-}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/propertyInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/propertyInBackticks.antlrtree.txt
deleted file mode 100644
index 9b9994395..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/propertyInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,311 +0,0 @@
-File: propertyInBackticks.kt - 315ebe3afabfe51a637a588af5d598bf
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`property`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`property`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`property`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`property`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`property`")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`property`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/propertyInBackticks.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/propertyInBackticks.kt
deleted file mode 100644
index 5722f6c31..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/propertyInBackticks.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@`property` private val field: Int) {}
-
-class Foo {
- @ann @`property` var field: Int = 10
-}
-
-class Foo(@`property` @ann protected val field: Int) {}
-
-class Foo {
- @ann @`property` var field: Int = 10
-}
-
-class Foo(@ann @`property` val field: Int) {}
-
-class Foo(@`property` @ann val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiver.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiver.antlrtree.txt
deleted file mode 100644
index 0ca5acbf0..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiver.antlrtree.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-File: receiver.kt - 4c1a9acbfdebb8d90d61a4048fa142ae
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- RECEIVER("receiver")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- RECEIVER("receiver")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- RECEIVER("receiver")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- RECEIVER("receiver")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- RECEIVER("receiver")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiver.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiver.kt
deleted file mode 100644
index 68b3d4f3a..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiver.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@receiver private val field: Int) {}
-
-class Foo {
- @ann @receiver var field: Int = 10
-}
-
-class Foo(@receiver @ann protected val field: Int) {}
-
-class Foo {
- @ann @receiver var field: Int = 10
-}
-
-class Foo {
- @receiver @ann var field: Int = 10
-}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiverInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiverInBackticks.antlrtree.txt
deleted file mode 100644
index 8ed08ba57..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiverInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,311 +0,0 @@
-File: receiverInBackticks.kt - af3b9234d57b015457aae39774f5a8a2
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiver`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiver`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiver`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiver`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiver`")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiver`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiverInBackticks.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiverInBackticks.kt
deleted file mode 100644
index ece4dddde..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/receiverInBackticks.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@`receiver` private val field: Int) {}
-
-class Foo {
- @ann @`receiver` var field: Int = 10
-}
-
-class Foo(@`receiver` @ann protected val field: Int) {}
-
-class Foo {
- @ann @`receiver` var field: Int = 10
-}
-
-class Foo(@ann @`receiver` val field: Int) {}
-
-class Foo(@`receiver` @ann val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/set.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/set.antlrtree.txt
deleted file mode 100644
index 665f886ab..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/set.antlrtree.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-File: set.kt - 93a15a3f30d454053beb5e6635da2884
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- SET("set")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- SET("set")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- SET("set")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- SET("set")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- SET("set")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/set.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/set.kt
deleted file mode 100644
index cdce056ce..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/set.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@set private val field: Int) {}
-
-class Foo {
- @ann @set var field: Int = 10
-}
-
-class Foo(@set @ann protected val field: Int) {}
-
-class Foo {
- @ann @set var field: Int = 10
-}
-
-class Foo {
- @set @ann var field: Int = 10
-}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setInBackticks.antlrtree.txt
deleted file mode 100644
index f98520448..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,311 +0,0 @@
-File: setInBackticks.kt - e82677ada56d4f0eb4ed1f647d624003
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`set`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`set`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`set`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`set`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`set`")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`set`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setInBackticks.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setInBackticks.kt
deleted file mode 100644
index b327a6abc..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setInBackticks.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@`set` private val field: Int) {}
-
-class Foo {
- @ann @`set` var field: Int = 10
-}
-
-class Foo(@`set` @ann protected val field: Int) {}
-
-class Foo {
- @ann @`set` var field: Int = 10
-}
-
-class Foo(@ann @`set` val field: Int) {}
-
-class Foo(@`set` @ann val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparam.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparam.antlrtree.txt
deleted file mode 100644
index 6820da153..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparam.antlrtree.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-File: setparam.kt - 962954231f500a2a0b02ee3a6af406d3
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- SETPARAM("setparam")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- SETPARAM("setparam")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- SETPARAM("setparam")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- SETPARAM("setparam")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- SETPARAM("setparam")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparam.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparam.kt
deleted file mode 100644
index 14adde4c1..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparam.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@setparam private val field: Int) {}
-
-class Foo {
- @ann @setparam var field: Int = 10
-}
-
-class Foo(@setparam @ann protected val field: Int) {}
-
-class Foo {
- @ann @setparam var field: Int = 10
-}
-
-class Foo {
- @setparam @ann var field: Int = 10
-}
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparamInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparamInBackticks.antlrtree.txt
deleted file mode 100644
index 62c24d53d..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparamInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,311 +0,0 @@
-File: setparamInBackticks.kt - 383c81d5f56c1a0b5ec605a745e97028
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparam`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparam`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparam`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparam`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparam`")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparam`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparamInBackticks.kt b/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparamInBackticks.kt
deleted file mode 100644
index 500d0c851..000000000
--- a/grammar/testData/grammar/annotations/nameAsUseSiteTargetPrefix/setparamInBackticks.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@`setparam` private val field: Int) {}
-
-class Foo {
- @ann @`setparam` var field: Int = 10
-}
-
-class Foo(@`setparam` @ann protected val field: Int) {}
-
-class Foo {
- @ann @`setparam` var field: Int = 10
-}
-
-class Foo(@ann @`setparam` val field: Int) {}
-
-class Foo(@`setparam` @ann val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/delegate.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/delegate.antlrtree.txt
deleted file mode 100644
index 1e5b6b4cd..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/delegate.antlrtree.txt
+++ /dev/null
@@ -1,459 +0,0 @@
-File: delegate.kt - 0f7c34d7a1867164b33812571b44966c
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("delegateann")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegateann`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegate `")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("delegateann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("delegateann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("delegateann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegateann`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegate-`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`delegate)`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/delegate.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/delegate.kt
deleted file mode 100644
index a92c3312d..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/delegate.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-class Foo(@delegateann private val field: Int) {}
-
-class Foo(@`delegateann` private val field: Int) {}
-
-class Foo(@`delegate ` val field: Int) {}
-
-class Foo {
- @ann @delegateann var field: Int = 10
-}
-
-class Foo(@delegateann @ann protected val field: Int) {}
-
-class Foo {
- @ann @delegateann var field: Int = 10
-}
-
-class Foo {
- @ann @`delegateann` var field: Int = 10
-}
-
-class Foo(@`delegate-` @`ann` protected val field: Int) {}
-
-class Foo(@`ann` @`delegate)` protected val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/field.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/field.antlrtree.txt
deleted file mode 100644
index 7bd62aa7a..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/field.antlrtree.txt
+++ /dev/null
@@ -1,459 +0,0 @@
-File: field.kt - fb55f009b776d3d4a267c284acc70668
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("fieldann")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`fieldann`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`field `")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("fieldann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("fieldann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("fieldann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`fieldann`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`field-`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`field)`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/field.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/field.kt
deleted file mode 100644
index 2a7b6c1ca..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/field.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-class Foo(@fieldann private val field: Int) {}
-
-class Foo(@`fieldann` private val field: Int) {}
-
-class Foo(@`field ` val field: Int) {}
-
-class Foo {
- @ann @fieldann var field: Int = 10
-}
-
-class Foo(@fieldann @ann protected val field: Int) {}
-
-class Foo {
- @ann @fieldann var field: Int = 10
-}
-
-class Foo {
- @ann @`fieldann` var field: Int = 10
-}
-
-class Foo(@`field-` @`ann` protected val field: Int) {}
-
-class Foo(@`ann` @`field)` protected val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/file.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/file.antlrtree.txt
deleted file mode 100644
index 7f68ea61b..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/file.antlrtree.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-File: file.kt - ee936f9d2c09898295c283b114008273
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("fileann")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/file.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/file.kt
deleted file mode 100644
index 82f4fbb5a..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/file.kt
+++ /dev/null
@@ -1,2 +0,0 @@
-@fileann
-fun main() {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileInBackticks.antlrtree.txt
deleted file mode 100644
index 772b381c6..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-File: fileInBackticks.kt - b5cc78d9c9ac44265d3b1e89e5ad8ad8
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`fileann`")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileInBackticks.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileInBackticks.kt
deleted file mode 100644
index 260adafeb..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileInBackticks.kt
+++ /dev/null
@@ -1,2 +0,0 @@
-@`fileann`
-fun main() {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileWithWhitespaceInBackticks.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileWithWhitespaceInBackticks.antlrtree.txt
deleted file mode 100644
index 696e62ef8..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileWithWhitespaceInBackticks.antlrtree.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-File: fileWithWhitespaceInBackticks.kt - bf0b3294bcfdac194d35ffd9952a211f
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`file `")
- NL("\n")
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileWithWhitespaceInBackticks.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileWithWhitespaceInBackticks.kt
deleted file mode 100644
index 5b8505cf0..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/fileWithWhitespaceInBackticks.kt
+++ /dev/null
@@ -1,2 +0,0 @@
-@`file `
-fun main() {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/get.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/get.antlrtree.txt
deleted file mode 100644
index 1035493f6..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/get.antlrtree.txt
+++ /dev/null
@@ -1,459 +0,0 @@
-File: get.kt - 85a953cbb3c98e693794566baf24dea1
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("getann")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`getann`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`get `")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("getann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("getann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("getann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`getann`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`get-`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`get)`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/get.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/get.kt
deleted file mode 100644
index d167b26bb..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/get.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-class Foo(@getann private val field: Int) {}
-
-class Foo(@`getann` private val field: Int) {}
-
-class Foo(@`get ` val field: Int) {}
-
-class Foo {
- @ann @getann var field: Int = 10
-}
-
-class Foo(@getann @ann protected val field: Int) {}
-
-class Foo {
- @ann @getann var field: Int = 10
-}
-
-class Foo {
- @ann @`getann` var field: Int = 10
-}
-
-class Foo(@`get-` @`ann` protected val field: Int) {}
-
-class Foo(@`ann` @`get)` protected val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/param.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/param.antlrtree.txt
deleted file mode 100644
index 5536ed1d5..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/param.antlrtree.txt
+++ /dev/null
@@ -1,459 +0,0 @@
-File: param.kt - c45279994e97ed720ecbe508e9907476
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("paramann")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`paramann`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`param `")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("paramann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("paramann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("paramann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`paramann`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`param-`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`param)`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/param.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/param.kt
deleted file mode 100644
index 4a3459461..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/param.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-class Foo(@paramann private val field: Int) {}
-
-class Foo(@`paramann` private val field: Int) {}
-
-class Foo(@`param ` val field: Int) {}
-
-class Foo {
- @ann @paramann var field: Int = 10
-}
-
-class Foo(@paramann @ann protected val field: Int) {}
-
-class Foo {
- @ann @paramann var field: Int = 10
-}
-
-class Foo {
- @ann @`paramann` var field: Int = 10
-}
-
-class Foo(@`param-` @`ann` protected val field: Int) {}
-
-class Foo(@`ann` @`param)` protected val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/property.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/property.antlrtree.txt
deleted file mode 100644
index 41de418a5..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/property.antlrtree.txt
+++ /dev/null
@@ -1,459 +0,0 @@
-File: property.kt - 6a4d8da242580137cc8c6ed8fc3504e3
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("propertyann")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`propertyann`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`property `")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("propertyann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("propertyann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("propertyann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`propertyann`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`property-`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`property)`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/property.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/property.kt
deleted file mode 100644
index 8f016d882..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/property.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-class Foo(@propertyann private val field: Int) {}
-
-class Foo(@`propertyann` private val field: Int) {}
-
-class Foo(@`property ` val field: Int) {}
-
-class Foo {
- @ann @propertyann var field: Int = 10
-}
-
-class Foo(@propertyann @ann protected val field: Int) {}
-
-class Foo {
- @ann @propertyann var field: Int = 10
-}
-
-class Foo {
- @ann @`propertyann` var field: Int = 10
-}
-
-class Foo(@`property-` @`ann` protected val field: Int) {}
-
-class Foo(@`ann` @`property)` protected val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/receiver.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/receiver.antlrtree.txt
deleted file mode 100644
index 12ed67db8..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/receiver.antlrtree.txt
+++ /dev/null
@@ -1,459 +0,0 @@
-File: receiver.kt - c636d93c6749f7b84a7695a526a58302
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("receiverann")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiverann`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiver `")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("receiverann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("receiverann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("receiverann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiverann`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiver-`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`receiver)`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/receiver.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/receiver.kt
deleted file mode 100644
index a05d91a58..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/receiver.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-class Foo(@receiverann private val field: Int) {}
-
-class Foo(@`receiverann` private val field: Int) {}
-
-class Foo(@`receiver ` val field: Int) {}
-
-class Foo {
- @ann @receiverann var field: Int = 10
-}
-
-class Foo(@receiverann @ann protected val field: Int) {}
-
-class Foo {
- @ann @receiverann var field: Int = 10
-}
-
-class Foo {
- @ann @`receiverann` var field: Int = 10
-}
-
-class Foo(@`receiver-` @`ann` protected val field: Int) {}
-
-class Foo(@`ann` @`receiver)` protected val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/set.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/set.antlrtree.txt
deleted file mode 100644
index 25478d951..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/set.antlrtree.txt
+++ /dev/null
@@ -1,459 +0,0 @@
-File: set.kt - 4f76a9284897a5f5e05e181d259b366e
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("setann")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setann`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`set `")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("setann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("setann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("setann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setann`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`set-`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`set)`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/set.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/set.kt
deleted file mode 100644
index 46c60ab2f..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/set.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-class Foo(@setann private val field: Int) {}
-
-class Foo(@`setann` private val field: Int) {}
-
-class Foo(@`set ` val field: Int) {}
-
-class Foo {
- @ann @setann var field: Int = 10
-}
-
-class Foo(@setann @ann protected val field: Int) {}
-
-class Foo {
- @ann @setann var field: Int = 10
-}
-
-class Foo {
- @ann @`setann` var field: Int = 10
-}
-
-class Foo(@`set-` @`ann` protected val field: Int) {}
-
-class Foo(@`ann` @`set)` protected val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/setparam.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/setparam.antlrtree.txt
deleted file mode 100644
index 7bf0c2449..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/setparam.antlrtree.txt
+++ /dev/null
@@ -1,459 +0,0 @@
-File: setparam.kt - 5eebb0ceca55345cf72b4a485a54711a
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("setparamann")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparamann`")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparam `")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("setparamann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("setparamann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("setparamann")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparamann`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparam-`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`setparam)`")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/setparam.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/setparam.kt
deleted file mode 100644
index e078d707a..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/setparam.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-class Foo(@setparamann private val field: Int) {}
-
-class Foo(@`setparamann` private val field: Int) {}
-
-class Foo(@`setparam ` val field: Int) {}
-
-class Foo {
- @ann @setparamann var field: Int = 10
-}
-
-class Foo(@setparamann @ann protected val field: Int) {}
-
-class Foo {
- @ann @setparamann var field: Int = 10
-}
-
-class Foo {
- @ann @`setparamann` var field: Int = 10
-}
-
-class Foo(@`setparam-` @`ann` protected val field: Int) {}
-
-class Foo(@`ann` @`setparam)` protected val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/withoutSpace.antlrtree.txt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/withoutSpace.antlrtree.txt
deleted file mode 100644
index 9d7cb2071..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/withoutSpace.antlrtree.txt
+++ /dev/null
@@ -1,361 +0,0 @@
-File: withoutSpace.kt - 35d619e5a5454f8726124098d54876fa
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`anno`")
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("anno")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- multiAnnotation
- AT_PRE_WS(" @")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- RSQUARE("]")
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`anno`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`anno`")
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("anno")
- RSQUARE("]")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- multiAnnotation
- AT_PRE_WS(" @")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- RSQUARE("]")
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`test`")
- RSQUARE("]")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`test`")
- RSQUARE("]")
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("test")
- RSQUARE("]")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("test")
- RSQUARE("]")
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("test")
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`test`")
- RSQUARE("]")
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`test`")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/withoutSpace.kt b/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/withoutSpace.kt
deleted file mode 100644
index 3393a1d06..000000000
--- a/grammar/testData/grammar/annotations/namePrefixAsUseSiteTargetPrefix/withoutSpace.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@`anno`@anno private val field: Int) {}
-
-class Foo {
- @[ann]@`anno` var field: Int = 10
-}
-
-class Foo(@`anno`@[ann anno] protected val field: Int) {}
-
-class Foo {
- @[`ann` `ann`]@[`test`] var field: Int = 10
-}
-
-class Foo(@[`test`]@[test] val field: Int) {}
-
-class Foo(@[test]@test@[`test`]@`test` val field: Int) {}
diff --git a/grammar/testData/grammar/annotations/withoutSpace.antlrtree.txt b/grammar/testData/grammar/annotations/withoutSpace.antlrtree.txt
deleted file mode 100644
index 9d7cb2071..000000000
--- a/grammar/testData/grammar/annotations/withoutSpace.antlrtree.txt
+++ /dev/null
@@ -1,361 +0,0 @@
-File: withoutSpace.kt - 35d619e5a5454f8726124098d54876fa
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`anno`")
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("anno")
- modifier
- visibilityModifier
- PRIVATE("private")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- multiAnnotation
- AT_PRE_WS(" @")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- RSQUARE("]")
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`anno`")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`anno`")
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("ann")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("anno")
- RSQUARE("]")
- modifier
- visibilityModifier
- PROTECTED("protected")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- classBody
- LCURL("{")
- NL("\n")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- modifiers
- annotation
- multiAnnotation
- AT_PRE_WS(" @")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`ann`")
- RSQUARE("]")
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`test`")
- RSQUARE("]")
- VAR("var")
- variableDeclaration
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`test`")
- RSQUARE("]")
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("test")
- RSQUARE("]")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("Foo")
- primaryConstructor
- classParameters
- LPAREN("(")
- classParameter
- modifiers
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("test")
- RSQUARE("]")
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("test")
- annotation
- multiAnnotation
- AT_NO_WS("@")
- LSQUARE("[")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`test`")
- RSQUARE("]")
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("`test`")
- VAL("val")
- simpleIdentifier
- FIELD("field")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/annotations/withoutSpace.kt b/grammar/testData/grammar/annotations/withoutSpace.kt
deleted file mode 100644
index 3393a1d06..000000000
--- a/grammar/testData/grammar/annotations/withoutSpace.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-class Foo(@`anno`@anno private val field: Int) {}
-
-class Foo {
- @[ann]@`anno` var field: Int = 10
-}
-
-class Foo(@`anno`@[ann anno] protected val field: Int) {}
-
-class Foo {
- @[`ann` `ann`]@[`test`] var field: Int = 10
-}
-
-class Foo(@[`test`]@[test] val field: Int) {}
-
-class Foo(@[test]@test@[`test`]@`test` val field: Int) {}
diff --git a/grammar/testData/grammar/asExpression/asExpressionRepeation.antlrtree.txt b/grammar/testData/grammar/asExpression/asExpressionRepeation.antlrtree.txt
deleted file mode 100644
index 9d6046790..000000000
--- a/grammar/testData/grammar/asExpression/asExpressionRepeation.antlrtree.txt
+++ /dev/null
@@ -1,510 +0,0 @@
-File: asExpressionRepeation.kt - a465d08c3c8f50ea532f1b777fa42e3b
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- semis
- NL("\n")
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("x")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- asOperator
- AS_SAFE("as?")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- asOperator
- AS("as")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- isOperator
- IS("is")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/asExpression/asExpressionRepeation.kt b/grammar/testData/grammar/asExpression/asExpressionRepeation.kt
deleted file mode 100644
index af61e177c..000000000
--- a/grammar/testData/grammar/asExpression/asExpressionRepeation.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-fun main() {
- val x = null as Int as Int
- val x = null as Int as? Int
- val x = null as? Int as Int
- val x = null as? Int as? Int
- val x = (null as? Int is Int) as Int is Int
- val x = (null as Int is Int) as? Int is Int
- val x = (null is Int) as Int as? Int is Int
- val x = (null is Int) as? Int as Int is Int
-}
\ No newline at end of file
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairs.antlrtree.txt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairs.antlrtree.txt
deleted file mode 100644
index 3073fc7aa..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairs.antlrtree.txt
+++ /dev/null
@@ -1,108 +0,0 @@
-File: manyParenthesesPairs.kt - c0af5995639fad49d95aa4751f4ed33a
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- simpleIdentifier
- Identifier("test")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- RPAREN(")")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairs.kt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairs.kt
deleted file mode 100644
index 6aa820a74..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairs.kt
+++ /dev/null
@@ -1,4 +0,0 @@
-fun main() {
- val test: Int
- (((((((test))))))) = (10)
-}
\ No newline at end of file
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnArrayElement.antlrtree.txt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnArrayElement.antlrtree.txt
deleted file mode 100644
index 3ec3a990b..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnArrayElement.antlrtree.txt
+++ /dev/null
@@ -1,126 +0,0 @@
-File: manyParenthesesPairsOnArrayElement.kt - d6d8b126018bd117fda7b3c17564bcc7
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Array")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- assignableSuffix
- indexingSuffix
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- RSQUARE("]")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnArrayElement.kt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnArrayElement.kt
deleted file mode 100644
index 144a9daf7..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnArrayElement.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main(x: Array) {
- (((((((((x[0]))))))))) = 10
-}
\ No newline at end of file
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnProperty.antlrtree.txt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnProperty.antlrtree.txt
deleted file mode 100644
index 78c9d4029..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnProperty.antlrtree.txt
+++ /dev/null
@@ -1,113 +0,0 @@
-File: manyParenthesesPairsOnProperty.kt - 18f05025a5d942b440d360227d2b0e61
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("A")
- classBody
- LCURL("{")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("z")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("z")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- RPAREN(")")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnProperty.kt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnProperty.kt
deleted file mode 100644
index ce7c7784f..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/manyParenthesesPairsOnProperty.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-class A { var z = 10 }
-
-fun main() {
- ((((A().z)))) = 10
-}
\ No newline at end of file
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPair.antlrtree.txt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPair.antlrtree.txt
deleted file mode 100644
index 86ffea5c6..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPair.antlrtree.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-File: oneParenthesesPair.kt - 69c71721e41e05ac8e354ff09c5d3a8b
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- semis
- NL("\n")
- statement
- assignment
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- simpleIdentifier
- Identifier("test")
- RPAREN(")")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPair.kt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPair.kt
deleted file mode 100644
index 9131e3c6a..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPair.kt
+++ /dev/null
@@ -1,4 +0,0 @@
-fun main() {
- val test: Int
- (test) = 10
-}
\ No newline at end of file
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnArrayElement.antlrtree.txt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnArrayElement.antlrtree.txt
deleted file mode 100644
index 45a7ebed6..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnArrayElement.antlrtree.txt
+++ /dev/null
@@ -1,116 +0,0 @@
-File: oneParenthesesPairOnArrayElement.kt - 255ead544f0933d02e7c846829cf4ebe
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Array")
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("String")
- RANGLE(">")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- indexingSuffix
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- RSQUARE("]")
- assignableSuffix
- indexingSuffix
- LSQUARE("[")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- RSQUARE("]")
- RPAREN(")")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnArrayElement.kt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnArrayElement.kt
deleted file mode 100644
index dd8a75c9f..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnArrayElement.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main(x: Array) {
- (x[0][1]) = 10
-}
\ No newline at end of file
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnProperty.antlrtree.txt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnProperty.antlrtree.txt
deleted file mode 100644
index b529fd509..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnProperty.antlrtree.txt
+++ /dev/null
@@ -1,96 +0,0 @@
-File: oneParenthesesPairOnProperty.kt - 70433ab8b4cf8fbbfbfa542651c81862
- packageHeader
- importList
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("A")
- classBody
- LCURL("{")
- classMemberDeclarations
- classMemberDeclaration
- declaration
- propertyDeclaration
- VAR("var")
- variableDeclaration
- simpleIdentifier
- Identifier("z")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- RCURL("}")
- semis
- NL("\n")
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- assignment
- directlyAssignableExpression
- parenthesizedDirectlyAssignableExpression
- LPAREN("(")
- directlyAssignableExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("A")
- assignableSuffix
- navigationSuffix
- memberAccessOperator
- DOT(".")
- simpleIdentifier
- Identifier("z")
- RPAREN(")")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnProperty.kt b/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnProperty.kt
deleted file mode 100644
index 5dc260ae7..000000000
--- a/grammar/testData/grammar/assignments/withLeftHandInParentheses/oneParenthesesPairOnProperty.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-object A { var z = 10 }
-
-fun main() {
- (A.z) = 10
-}
\ No newline at end of file
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnDeclarationSite.antlrtree.txt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnDeclarationSite.antlrtree.txt
deleted file mode 100644
index d4f252416..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnDeclarationSite.antlrtree.txt
+++ /dev/null
@@ -1,152 +0,0 @@
-File: functionsChainWithExpectedTypeOnDeclarationSite.kt - 2b22c3d62b5d4158950fd55573f494e9
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- lambdaLiteral
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- excl
- EXCL_NO_WS("!")
- unaryPrefix
- prefixUnaryOperator
- excl
- EXCL_WS("! ")
- NL("\n")
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- INCR("++")
- NL("\n")
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- jumpExpression
- RETURN("return")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- callableReference
- COLONCOLON("::")
- CLASS("class")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnDeclarationSite.kt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnDeclarationSite.kt
deleted file mode 100644
index d52d5ba2d..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnDeclarationSite.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-fun main() = {
- return!! // Expecting an element
- return++ // Expecting an element
- return() // Expecting an element
- return::class // Unsupported [Class literals with empty left hand side are not yet supported]
-}
\ No newline at end of file
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnUseSite.kt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnUseSite.kt
deleted file mode 100644
index 8f3b8dd7f..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/functionsChainWithExpectedTypeOnUseSite.kt
+++ /dev/null
@@ -1 +0,0 @@
-val bar: (Any) -> (Any) -> (Any) -> (Any) -> (Any) -> Unit = fun (a) = fun (b) = fun (vararg c) = fun (@Anno d) = fun (@Anno vararg e)
\ No newline at end of file
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotation.antlrtree.txt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotation.antlrtree.txt
deleted file mode 100644
index 848c90b98..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotation.antlrtree.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-File: withAnnotation.kt - 479c35f8233ed3a69aadb6d9876b1811
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("bar")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterModifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Anno")
- parameterWithOptionalType
- simpleIdentifier
- Identifier("a")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotation.kt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotation.kt
deleted file mode 100644
index 7ae8d3161..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotation.kt
+++ /dev/null
@@ -1 +0,0 @@
-val bar: (Any) -> Unit = fun (@Anno a) {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationAfterVararg.antlrtree.txt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationAfterVararg.antlrtree.txt
deleted file mode 100644
index 31286cfd0..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationAfterVararg.antlrtree.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-File: withAnnotationAfterVararg.kt - 10bea537408bac146cca714fc1569116
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("bar")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterModifiers
- parameterModifier
- VARARG("vararg")
- annotation
- singleAnnotation
- AT_PRE_WS(" @")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Anno")
- parameterWithOptionalType
- simpleIdentifier
- Identifier("a")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationAfterVararg.kt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationAfterVararg.kt
deleted file mode 100644
index 0748237c2..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationAfterVararg.kt
+++ /dev/null
@@ -1 +0,0 @@
-val bar: (Any) -> Unit = fun (vararg @Anno a) {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationBeforeVararg.antlrtree.txt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationBeforeVararg.antlrtree.txt
deleted file mode 100644
index 13d1fc73d..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationBeforeVararg.antlrtree.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-File: withAnnotationBeforeVararg.kt - 8733559e776e928877743165cb1002ad
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("bar")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterModifiers
- annotation
- singleAnnotation
- AT_NO_WS("@")
- unescapedAnnotation
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Anno")
- parameterModifier
- VARARG("vararg")
- parameterWithOptionalType
- simpleIdentifier
- Identifier("a")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationBeforeVararg.kt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationBeforeVararg.kt
deleted file mode 100644
index c15efbec5..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withAnnotationBeforeVararg.kt
+++ /dev/null
@@ -1 +0,0 @@
-val bar: (Any) -> Unit = fun (@Anno vararg a) {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnDeclarationSite.antlrtree.txt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnDeclarationSite.antlrtree.txt
deleted file mode 100644
index 65dd5c3d2..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnDeclarationSite.antlrtree.txt
+++ /dev/null
@@ -1,124 +0,0 @@
-File: withExpectedTypeOnDeclarationSite.kt - 3a3663c46abeafcb5d93f9c615211a8c
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("test")
- functionValueParameters
- LPAREN("(")
- functionValueParameter
- parameter
- simpleIdentifier
- Identifier("x")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- semis
- NL("\n")
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("test")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("a")
- RPAREN(")")
- functionBody
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- RPAREN(")")
- EOF("")
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnDeclarationSite.kt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnDeclarationSite.kt
deleted file mode 100644
index 4b71839d1..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnDeclarationSite.kt
+++ /dev/null
@@ -1,2 +0,0 @@
-fun test(x: (Int) -> Int) {}
-fun main() = test(fun(a) = 10)
\ No newline at end of file
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnUseSite.antlrtree.txt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnUseSite.antlrtree.txt
deleted file mode 100644
index dfad6fd50..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnUseSite.antlrtree.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-File: withExpectedTypeOnUseSite.kt - a1da86122234b8d6ab789ae2dc926f55
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("bar")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Int")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterWithOptionalType
- simpleIdentifier
- Identifier("a")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnUseSite.kt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnUseSite.kt
deleted file mode 100644
index d11a31797..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withExpectedTypeOnUseSite.kt
+++ /dev/null
@@ -1 +0,0 @@
-val bar: (Int) -> Unit = fun(a) {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withVararg.antlrtree.txt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withVararg.antlrtree.txt
deleted file mode 100644
index d9e8044dc..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withVararg.antlrtree.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-File: withVararg.kt - 3098a06bd791b065c936f4dc2c1ebe80
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("bar")
- COLON(":")
- type
- functionType
- functionTypeParameters
- LPAREN("(")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Any")
- RPAREN(")")
- ARROW("->")
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("Unit")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- functionLiteral
- anonymousFunction
- FUN("fun")
- parametersWithOptionalType
- LPAREN("(")
- functionValueParameterWithOptionalType
- parameterModifiers
- parameterModifier
- VARARG("vararg")
- parameterWithOptionalType
- simpleIdentifier
- Identifier("a")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withVararg.kt b/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withVararg.kt
deleted file mode 100644
index bed78d6a5..000000000
--- a/grammar/testData/grammar/functions/anonymousFunctionsWithoutTypeForArguments/withVararg.kt
+++ /dev/null
@@ -1 +0,0 @@
-val bar: (Any) -> Unit = fun (vararg a) {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/functions/lt-gt-ambiguity.antlrtree.txt b/grammar/testData/grammar/functions/lt-gt-ambiguity.antlrtree.txt
deleted file mode 100644
index e17ded17a..000000000
--- a/grammar/testData/grammar/functions/lt-gt-ambiguity.antlrtree.txt
+++ /dev/null
@@ -1,3181 +0,0 @@
-File: lt-gt-ambiguity.kt - ea23ffc2ab438bfb8331cc759b9a5441
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("y")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("x")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("y")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("y")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("y")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("x")
- RANGLE(">")
- postfixUnarySuffix
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'a'")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'b'")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'a'")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'b'")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'c'")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'a'")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'b'")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'a'")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'b'")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("1L")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("5f")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("1L")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1Ul")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1Ul")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1Ul")
- RPAREN(")")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- parenthesizedExpression
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1Ul")
- RPAREN(")")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("y")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("y")
- RANGLE(">")
- simpleIdentifier
- Identifier("x")
- NL("\n")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("2")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("x")
- RANGLE(">")
- simpleIdentifier
- Identifier("x")
- NL("\n")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("y")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("y")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("y")
- RANGLE(">")
- simpleIdentifier
- Identifier("y")
- NL("\n")
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("1")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- simpleIdentifier
- Identifier("x")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- postfixUnarySuffix
- typeArguments
- LANGLE("<")
- typeProjection
- type
- typeReference
- userType
- simpleUserType
- simpleIdentifier
- Identifier("x")
- RANGLE(">")
- additiveOperator
- SUB("-")
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("19")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("10L")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'a'")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'a'")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'b'")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'a'")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'b'")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'a'")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- stringLiteral
- lineStringLiteral
- QUOTE_OPEN(""")
- QUOTE_CLOSE(""")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'a'")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- CharacterLiteral("'b'")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("1L")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- RealLiteral("5f")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- NullLiteral("null")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("0")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- semis
- NL("\n")
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("0L")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1Ul")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1Ul")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1Ul")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1Ul")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1Ul")
- semis
- NL("\n")
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1uL")
- comparisonOperator
- LANGLE("<")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- LongLiteral("5L")
- comparisonOperator
- RANGLE(">")
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- unaryPrefix
- prefixUnaryOperator
- SUB("-")
- postfixUnaryExpression
- primaryExpression
- literalConstant
- UnsignedLiteral("1Ul")
- semis
- NL("\n")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/functions/lt-gt-ambiguity.kt b/grammar/testData/grammar/functions/lt-gt-ambiguity.kt
deleted file mode 100644
index 69bd5260e..000000000
--- a/grammar/testData/grammar/functions/lt-gt-ambiguity.kt
+++ /dev/null
@@ -1,63 +0,0 @@
-fun main() {
- x(false)
- 1<2>(false)
- 1(false)
- y<1>(false)
- y(false)
- null(false)
- null<1>(false)
- 1(false)
- x(false)
- true(false)
- true(false)
- null(null)
-
- ""<"">("")
- ""("")
- true<"">("")
- true<'a'>('b')
- 'a'<'b'>('c')
- 'a'<"">('b')
- 'a'('b')
-
- 1L<5f>(1L)
- 0<0>(0)
-
- 1uL<5L>(1Ul)
- 1uL<-5L>(1Ul)
- -1uL<-5L>(-1Ul)
- -1uL<5L>(-1Ul)
-
- x1
- xx
- 1<2>2
- 1x
- y<1>null
- yfalse
- nully
- null<1>0
- 1null
- xtrue
- true-19
- true10L
- nullnull
-
- ""<"">""
- ""'a'
- true<"">false
- true<'a'>'b'
- 'a'<'b'>0
- 'a'<"">false
- 'a''b'
-
- 1L<5f>null
- 0<0>false
-
- 1uL<5L>0L
- -1uL<-5L>-1Ul
- -1uL<5L>-1Ul
- -1uL<5L>1Ul
- 1uL<-5L>1Ul
- 1uL<-5L>-1Ul
- 1uL<5L>-1Ul
-}
\ No newline at end of file
diff --git a/grammar/testData/grammar/functions/onlyWithSemicolon.antlrtree.txt b/grammar/testData/grammar/functions/onlyWithSemicolon.antlrtree.txt
deleted file mode 100644
index 812ba291d..000000000
--- a/grammar/testData/grammar/functions/onlyWithSemicolon.antlrtree.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-File: onlyWithSemicolon.kt - f3ea2c7d977787177afe05f78390c353
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("f")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- statements
- semis
- SEMICOLON(";")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/functions/onlyWithSemicolon.kt b/grammar/testData/grammar/functions/onlyWithSemicolon.kt
deleted file mode 100644
index c069f261a..000000000
--- a/grammar/testData/grammar/functions/onlyWithSemicolon.kt
+++ /dev/null
@@ -1 +0,0 @@
-fun f() {;}
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/backSlash.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/backSlash.antlrtree.txt
deleted file mode 100644
index 9f662f2e4..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/backSlash.antlrtree.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-File: backSlash.kt - 8946b4290a96556f4d8f43556a648026
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("`\test`")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("100")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/backSlash.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/backSlash.kt
deleted file mode 100644
index 9784d69d9..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/backSlash.kt
+++ /dev/null
@@ -1 +0,0 @@
-val `\test` = 100
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/backtick.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/backtick.antlrtree.txt
deleted file mode 100644
index d89e6300b..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/backtick.antlrtree.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-File: backtick.kt - eaa5726163fbacfc37bccdc3590b37c0 (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- topLevelObject
- declaration
- FUN("fun")
- ErrorCharacter("`")
- ErrorCharacter("`")
- ErrorCharacter("`")
- LPAREN("(")
- RPAREN(")")
- LCURL("{")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/backtick.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/backtick.kt
deleted file mode 100644
index 8411e3fad..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/backtick.kt
+++ /dev/null
@@ -1 +0,0 @@
-fun ```() {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/colon.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/colon.antlrtree.txt
deleted file mode 100644
index d3a2cc5d8..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/colon.antlrtree.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-File: colon.kt - 27b46d85572c561ea521fc18a569860d (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- Identifier("`:::`")
- LCURL("{")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/colon.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/colon.kt
deleted file mode 100644
index d1a667366..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/colon.kt
+++ /dev/null
@@ -1 +0,0 @@
-fun `:::` {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/dot.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/dot.antlrtree.txt
deleted file mode 100644
index 5056d81c3..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/dot.antlrtree.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-File: dot.kt - c2da8ed4d2daa57f980ab8acbb022d14
- packageHeader
- importList
- topLevelObject
- declaration
- objectDeclaration
- OBJECT("object")
- simpleIdentifier
- Identifier("`.`")
- classBody
- LCURL("{")
- NL("\n")
- NL("\n")
- classMemberDeclarations
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/dot.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/dot.kt
deleted file mode 100644
index 1608ee04b..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/dot.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-object `.` {
-
-}
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/doubleBacktick.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/doubleBacktick.antlrtree.txt
deleted file mode 100644
index 3b7cc9eb1..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/doubleBacktick.antlrtree.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-File: doubleBacktick.kt - 4fc3e2e0f108e717ac1733a77bde97c0 (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- topLevelObject
- declaration
- FUN("fun")
- ErrorCharacter("`")
- ErrorCharacter("`")
- ErrorCharacter("`")
- ErrorCharacter("`")
- LPAREN("(")
- RPAREN(")")
- LCURL("{")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/doubleBacktick.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/doubleBacktick.kt
deleted file mode 100644
index 1db563393..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/doubleBacktick.kt
+++ /dev/null
@@ -1 +0,0 @@
-fun ````() {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/leftAngleBracket.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/leftAngleBracket.antlrtree.txt
deleted file mode 100644
index 7ec7cceff..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/leftAngleBracket.antlrtree.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-File: leftAngleBracket.kt - fdf1663b71109ac19303931ec76e314c
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("` < `")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/leftAngleBracket.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/leftAngleBracket.kt
deleted file mode 100644
index 2b110fe1c..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/leftAngleBracket.kt
+++ /dev/null
@@ -1 +0,0 @@
-class ` < ` {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/leftSquareBracket.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/leftSquareBracket.antlrtree.txt
deleted file mode 100644
index e93ba2d95..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/leftSquareBracket.antlrtree.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-File: leftSquareBracket.kt - 699f1faeb457efcad636fb68ccf1ebc0
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("`[`")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/leftSquareBracket.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/leftSquareBracket.kt
deleted file mode 100644
index 2142b94a2..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/leftSquareBracket.kt
+++ /dev/null
@@ -1 +0,0 @@
-class `[` {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/rightAngleBracket.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/rightAngleBracket.antlrtree.txt
deleted file mode 100644
index 1b1fc6bba..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/rightAngleBracket.antlrtree.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-File: rightAngleBracket.kt - 4943d85a5dccd63b423b28c00813c8bd
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("`>`")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/rightAngleBracket.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/rightAngleBracket.kt
deleted file mode 100644
index 6df571a82..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/rightAngleBracket.kt
+++ /dev/null
@@ -1 +0,0 @@
-class `>` {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/rightSquareBracket.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/rightSquareBracket.antlrtree.txt
deleted file mode 100644
index c320325c9..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/rightSquareBracket.antlrtree.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-File: rightSquareBracket.kt - fcf2289ac60927c0f1d09af7d41afebf
- packageHeader
- importList
- topLevelObject
- declaration
- classDeclaration
- CLASS("class")
- simpleIdentifier
- Identifier("`Foo]`")
- classBody
- LCURL("{")
- classMemberDeclarations
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/rightSquareBracket.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/rightSquareBracket.kt
deleted file mode 100644
index 83eef753c..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/rightSquareBracket.kt
+++ /dev/null
@@ -1 +0,0 @@
-class `Foo]` {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/semicolon.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/semicolon.antlrtree.txt
deleted file mode 100644
index 42b2ab14b..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/semicolon.antlrtree.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-File: semicolon.kt - d7e339de78caee3930a900067a59f121 (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- Identifier("`test;test`")
- LCURL("{")
- RCURL("}")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/semicolon.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/semicolon.kt
deleted file mode 100644
index ccca00039..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/semicolon.kt
+++ /dev/null
@@ -1 +0,0 @@
-fun `test;test` {}
\ No newline at end of file
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/slash.antlrtree.txt b/grammar/testData/grammar/identifiers/forbiddenSymbols/slash.antlrtree.txt
deleted file mode 100644
index 12b4bd4a8..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/slash.antlrtree.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-File: slash.kt - ba14f387c3739b1b6d313b234189cb9b
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("`/`")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- IntegerLiteral("10")
- EOF("")
diff --git a/grammar/testData/grammar/identifiers/forbiddenSymbols/slash.kt b/grammar/testData/grammar/identifiers/forbiddenSymbols/slash.kt
deleted file mode 100644
index a1a19c8ea..000000000
--- a/grammar/testData/grammar/identifiers/forbiddenSymbols/slash.kt
+++ /dev/null
@@ -1 +0,0 @@
-val `/` = 10
\ No newline at end of file
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetween.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetween.antlrtree.txt
deleted file mode 100644
index 58f77a6fe..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetween.antlrtree.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-File: ifAndElseIfAndElseWithSemicolonBetween.kt - e96f13c09db3830f8f6b0369725382a9
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- SEMICOLON(";")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetween.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetween.kt
deleted file mode 100644
index 0a1c7b9db..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetween.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- if (true); else if (true); else;
-}
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.antlrtree.txt
deleted file mode 100644
index 0f5ac28e4..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.antlrtree.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-File: ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.kt - 6a5b7894d0376afc09a78c53a57b870e (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- IF("if")
- LPAREN("(")
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- IF("if")
- LPAREN("(")
- BooleanLiteral("false")
- RPAREN(")")
- ELSE("else")
- IF("if")
- LPAREN("(")
- BooleanLiteral("false")
- RPAREN(")")
- ELSE("else")
- NL("\n")
- RCURL("}")
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.kt
deleted file mode 100644
index bd7b34bd3..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- if (true); else if (false) else if (false) else
-}
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.antlrtree.txt
deleted file mode 100644
index a9925ce30..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.antlrtree.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-File: ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.kt - 281937179c86b51d1391748e93936b5a (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.kt
deleted file mode 100644
index 27e4e79da..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.kt
+++ /dev/null
@@ -1 +0,0 @@
-val test = if (true) else if (false); else
\ No newline at end of file
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAsExpression.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAsExpression.kt
deleted file mode 100644
index c15f07eed..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithSemicolonBetweenAsExpression.kt
+++ /dev/null
@@ -1 +0,0 @@
-val test = if (true); else if (true); else if (true); else;
\ No newline at end of file
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetween.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetween.antlrtree.txt
deleted file mode 100644
index cce226f9f..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetween.antlrtree.txt
+++ /dev/null
@@ -1,105 +0,0 @@
-File: ifAndElseIfAndElseWithoutSemicolonBetween.kt - 54923e74de0d5d84e85db651c6ec0ad8
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- SEMICOLON(";")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetween.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetween.kt
deleted file mode 100644
index 02e4ca22f..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetween.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- if (true) else if (true) else;
-}
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.antlrtree.txt
deleted file mode 100644
index a2056d45b..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.antlrtree.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-File: ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.kt - 89350583d69ee9c4ace067d7e1f71849 (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- IF("if")
- LPAREN("(")
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- IF("if")
- LPAREN("(")
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- NL("\n")
- RCURL("}")
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.kt
deleted file mode 100644
index 3974a1313..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- if (true) else if (true) else
-}
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.antlrtree.txt
deleted file mode 100644
index 7e003f97c..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.antlrtree.txt
+++ /dev/null
@@ -1,78 +0,0 @@
-File: ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.kt - aa6989349e0f12f20f0aaa85423ba7b7 (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- controlStructureBody
- statement
- IF("if")
- callSuffix
- valueArguments
- LPAREN("(")
- valueArgument
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- ELSE("else")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.kt
deleted file mode 100644
index 6e0eb2230..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.kt
+++ /dev/null
@@ -1 +0,0 @@
-val test = if (true) else if (false) else
\ No newline at end of file
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAsExpression.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAsExpression.antlrtree.txt
deleted file mode 100644
index 68b45010c..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAsExpression.antlrtree.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-File: ifAndElseIfAndElseWithoutSemicolonBetweenAsExpression.kt - 3e699e4cd978adc80233680cb4dc0bd2
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- controlStructureBody
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("false")
- RPAREN(")")
- ELSE("else")
- SEMICOLON(";")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAsExpression.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAsExpression.kt
deleted file mode 100644
index 0e829082b..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseIfAndElseWithoutSemicolonBetweenAsExpression.kt
+++ /dev/null
@@ -1 +0,0 @@
-val test = if (true) else if (false) else;
\ No newline at end of file
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetween.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetween.antlrtree.txt
deleted file mode 100644
index ab9dc6ccc..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetween.antlrtree.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-File: ifAndElseWithSemicolonBetween.kt - 3df6b5fd6ed1d87540c3b6e56995922c
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- SEMICOLON(";")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetween.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetween.kt
deleted file mode 100644
index 9dad91776..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetween.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- if (true); else;
-}
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.antlrtree.txt
deleted file mode 100644
index d29e686a6..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.antlrtree.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-File: ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.kt - 928539fa4681dbdd6fa950d6567eff64 (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- IF("if")
- LPAREN("(")
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- NL("\n")
- RCURL("}")
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.kt
deleted file mode 100644
index 5dae59e66..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEnd.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- if (true); else
-}
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.antlrtree.txt
deleted file mode 100644
index ca5170fb2..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.antlrtree.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-File: ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.kt - 9645aede2c4eb72fc7db71689de4153c (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.kt
deleted file mode 100644
index 401880c0e..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAndWithoutSemicolonAtEndAsExpression.kt
+++ /dev/null
@@ -1 +0,0 @@
-val test = if (true); else
\ No newline at end of file
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAsExpression.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAsExpression.antlrtree.txt
deleted file mode 100644
index 2f2eb0b87..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAsExpression.antlrtree.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-File: ifAndElseWithSemicolonBetweenAsExpression.kt - 56798f1308a19b13b2ac273a20ffdd3a
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- ELSE("else")
- SEMICOLON(";")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAsExpression.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAsExpression.kt
deleted file mode 100644
index 5b236f93e..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithSemicolonBetweenAsExpression.kt
+++ /dev/null
@@ -1 +0,0 @@
-val test = if (true); else;
\ No newline at end of file
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetween.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetween.antlrtree.txt
deleted file mode 100644
index 68c8bbe26..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetween.antlrtree.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-File: ifAndElseWithoutSemicolonBetween.kt - 91c1ff7cedd2939a532e6e6342c61a95
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- SEMICOLON(";")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetween.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetween.kt
deleted file mode 100644
index c37f9c43c..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetween.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- if (true) else;
-}
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.antlrtree.txt
deleted file mode 100644
index 422ccdf39..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.antlrtree.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-File: ifAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.kt - 0a3eb24420378dda09e360a4ddcce278 (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- LCURL("{")
- NL("\n")
- IF("if")
- LPAREN("(")
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- NL("\n")
- RCURL("}")
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.kt
deleted file mode 100644
index 381a90a2b..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEnd.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- if (true) else
-}
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.antlrtree.txt
deleted file mode 100644
index 4417a68f9..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.antlrtree.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-File: ifAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.kt - 730ba9fb2953323718160bd9b77640fb (WITH_ERRORS)
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.kt
deleted file mode 100644
index af1af085c..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAndSemicolonAtEndAsExpression.kt
+++ /dev/null
@@ -1 +0,0 @@
-val test = if (true) else
\ No newline at end of file
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAsExpression.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAsExpression.antlrtree.txt
deleted file mode 100644
index a099b2298..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAsExpression.antlrtree.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-File: ifAndElseWithoutSemicolonBetweenAsExpression.kt - afbce4e6ee91b90f97500150b0445c39
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- ELSE("else")
- SEMICOLON(";")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAsExpression.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAsExpression.kt
deleted file mode 100644
index 3634a1c00..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/ifAndElseWithoutSemicolonBetweenAsExpression.kt
+++ /dev/null
@@ -1 +0,0 @@
-val test = if (true) else;
\ No newline at end of file
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/onlyIf.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/onlyIf.antlrtree.txt
deleted file mode 100644
index e94e49e36..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/onlyIf.antlrtree.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-File: onlyIf.kt - 06b4ed4c06700b35343fd4f5a45029c5
- packageHeader
- importList
- topLevelObject
- declaration
- functionDeclaration
- FUN("fun")
- simpleIdentifier
- Identifier("main")
- functionValueParameters
- LPAREN("(")
- RPAREN(")")
- functionBody
- block
- LCURL("{")
- NL("\n")
- statements
- statement
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- semis
- NL("\n")
- RCURL("}")
- semis
- NL("\n")
- EOF("")
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/onlyIf.kt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/onlyIf.kt
deleted file mode 100644
index bdaf1f8d5..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/onlyIf.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- if (true);
-}
diff --git a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/onlyIfAsExpression.antlrtree.txt b/grammar/testData/grammar/ifExpression/emptyControlStructureBody/onlyIfAsExpression.antlrtree.txt
deleted file mode 100644
index b6a8d277a..000000000
--- a/grammar/testData/grammar/ifExpression/emptyControlStructureBody/onlyIfAsExpression.antlrtree.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-File: onlyIfAsExpression.kt - c84961224310d9da5a50d616675e8637
- packageHeader
- importList
- topLevelObject
- declaration
- propertyDeclaration
- VAL("val")
- variableDeclaration
- simpleIdentifier
- Identifier("test")
- ASSIGNMENT("=")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- ifExpression
- IF("if")
- LPAREN("(")
- expression
- disjunction
- conjunction
- equality
- comparison
- genericCallLikeComparison
- infixOperation
- elvisExpression
- infixFunctionCall
- rangeExpression
- additiveExpression
- multiplicativeExpression
- asExpression
- prefixUnaryExpression
- postfixUnaryExpression
- primaryExpression
- literalConstant
- BooleanLiteral("true")
- RPAREN(")")
- SEMICOLON(";")
- EOF("