From 211d662708e425a67e49e1cdbb93d117f26c8ac4 Mon Sep 17 00:00:00 2001 From: "Denis.Zharkov" Date: Thu, 25 Aug 2022 18:13:21 +0200 Subject: [PATCH] Revert "KT-8263: Conditional operators are not parsed correctly" This reverts commit ec8da2033c97f2ddad917beefd5b679cd4316efa. For the reason for the revert see KT-53719 ^KT-8263 Open ^KT-53719 Fixed --- ...CompilerTestFE10TestdataTestGenerated.java | 22 - ...irOldFrontendDiagnosticsTestGenerated.java | 22 - ...DiagnosticsWithLightTreeTestGenerated.java | 22 - .../jetbrains/kotlin/diagnostics/Errors.java | 1 - .../rendering/DefaultErrorMessages.java | 1 - .../resolve/PlatformConfiguratorBase.kt | 1 - .../TypeArgumentListLikeExpressionsChecker.kt | 50 - .../src/org/jetbrains/kotlin/KtNodeTypes.java | 2 - .../parsing/KotlinExpressionParsing.java | 206 +-- .../kotlin/parsing/KotlinParsing.java | 182 +-- .../SemanticWhitespaceAwarePsiBuilder.java | 2 - ...anticWhitespaceAwarePsiBuilderAdapter.java | 5 - ...SemanticWhitespaceAwarePsiBuilderImpl.java | 6 - .../tests/syntax/complicatedLTGT.fir.kt | 8 + .../tests/syntax/complicatedLTGT.kt | 3 +- .../allowTypeArgumentListLikeExpressions.kt | 22 - .../allowTypeArgumentListLikeExpressions.txt | 4 - ...rbidTypeArgumentListLikeExpressions.fir.kt | 21 - .../forbidTypeArgumentListLikeExpressions.kt | 21 - .../forbidTypeArgumentListLikeExpressions.txt | 4 - compiler/testData/psi/DoubleColon_ERR.txt | 82 +- .../psi/TypeExpressionAmbiguities_ERR.txt | 80 +- compiler/testData/psi/complicateLTGT.txt | 81 +- compiler/testData/psi/complicateLTGTE.txt | 2 - .../binaryExpressionsInFunctionCall.kt | 40 - .../binaryExpressionsInFunctionCall.txt | 1308 ----------------- .../callExpressionsAnyLHSAtomicExpression.kt | 27 - .../callExpressionsAnyLHSAtomicExpression.txt | 785 ---------- .../callExpressionsInFunctionCall.kt | 22 - .../callExpressionsInFunctionCall.txt | 664 --------- .../recovery/callExpressions.kt | 24 - .../recovery/callExpressions.txt | 417 ------ .../recovery/callExpressions_ERR.kt | 45 - .../recovery/callExpressions_ERR.txt | 800 ---------- .../test/runners/DiagnosticTestGenerated.java | 22 - .../kotlin/parsing/ParsingTestGenerated.java | 64 - .../kotlin/config/LanguageVersionSettings.kt | 1 - 37 files changed, 220 insertions(+), 4849 deletions(-) delete mode 100644 compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/TypeArgumentListLikeExpressionsChecker.kt create mode 100644 compiler/testData/diagnostics/tests/syntax/complicatedLTGT.fir.kt delete mode 100644 compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.kt delete mode 100644 compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.txt delete mode 100644 compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.fir.kt delete mode 100644 compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.kt delete mode 100644 compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.txt delete mode 100644 compiler/testData/psi/typeArgumentList/correctness/binaryExpressionsInFunctionCall.kt delete mode 100644 compiler/testData/psi/typeArgumentList/correctness/binaryExpressionsInFunctionCall.txt delete mode 100644 compiler/testData/psi/typeArgumentList/correctness/callExpressionsAnyLHSAtomicExpression.kt delete mode 100644 compiler/testData/psi/typeArgumentList/correctness/callExpressionsAnyLHSAtomicExpression.txt delete mode 100644 compiler/testData/psi/typeArgumentList/correctness/callExpressionsInFunctionCall.kt delete mode 100644 compiler/testData/psi/typeArgumentList/correctness/callExpressionsInFunctionCall.txt delete mode 100644 compiler/testData/psi/typeArgumentList/recovery/callExpressions.kt delete mode 100644 compiler/testData/psi/typeArgumentList/recovery/callExpressions.txt delete mode 100644 compiler/testData/psi/typeArgumentList/recovery/callExpressions_ERR.kt delete mode 100644 compiler/testData/psi/typeArgumentList/recovery/callExpressions_ERR.txt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java index e85e9d33053..68d136f82d1 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java @@ -32203,28 +32203,6 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag } } - @Nested - @TestMetadata("compiler/testData/diagnostics/tests/typeArguments") - @TestDataPath("$PROJECT_ROOT") - public class TypeArguments { - @Test - public void testAllFilesPresentInTypeArguments() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/typeArguments"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); - } - - @Test - @TestMetadata("allowTypeArgumentListLikeExpressions.kt") - public void testAllowTypeArgumentListLikeExpressions() throws Exception { - runTest("compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.kt"); - } - - @Test - @TestMetadata("forbidTypeArgumentListLikeExpressions.kt") - public void testForbidTypeArgumentListLikeExpressions() throws Exception { - runTest("compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.kt"); - } - } - @Nested @TestMetadata("compiler/testData/diagnostics/tests/typeParameters") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java index b509f0e061a..e060da69789 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java @@ -32203,28 +32203,6 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti } } - @Nested - @TestMetadata("compiler/testData/diagnostics/tests/typeArguments") - @TestDataPath("$PROJECT_ROOT") - public class TypeArguments { - @Test - public void testAllFilesPresentInTypeArguments() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/typeArguments"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); - } - - @Test - @TestMetadata("allowTypeArgumentListLikeExpressions.kt") - public void testAllowTypeArgumentListLikeExpressions() throws Exception { - runTest("compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.kt"); - } - - @Test - @TestMetadata("forbidTypeArgumentListLikeExpressions.kt") - public void testForbidTypeArgumentListLikeExpressions() throws Exception { - runTest("compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.kt"); - } - } - @Nested @TestMetadata("compiler/testData/diagnostics/tests/typeParameters") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java index 22ae96e9131..ed9f66d3072 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java @@ -32203,28 +32203,6 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac } } - @Nested - @TestMetadata("compiler/testData/diagnostics/tests/typeArguments") - @TestDataPath("$PROJECT_ROOT") - public class TypeArguments { - @Test - public void testAllFilesPresentInTypeArguments() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/typeArguments"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); - } - - @Test - @TestMetadata("allowTypeArgumentListLikeExpressions.kt") - public void testAllowTypeArgumentListLikeExpressions() throws Exception { - runTest("compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.kt"); - } - - @Test - @TestMetadata("forbidTypeArgumentListLikeExpressions.kt") - public void testForbidTypeArgumentListLikeExpressions() throws Exception { - runTest("compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.kt"); - } - } - @Nested @TestMetadata("compiler/testData/diagnostics/tests/typeParameters") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java index 36e3ddf9b1c..8d2f7f24a68 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java @@ -235,7 +235,6 @@ public interface Errors { DiagnosticFactoryForDeprecation1 PROGRESSIONS_CHANGING_RESOLVE = DiagnosticFactoryForDeprecation1.create(LanguageFeature.ProgressionsChangingResolve); DiagnosticFactory0 EXPRESSION_AFTER_TYPE_REFERENCE_WITHOUT_SPACING_NOT_ALLOWED = DiagnosticFactory0.create(ERROR); - DiagnosticFactory0 TYPE_ARGUMENT_LIST_LIKE_EXPRESSION = DiagnosticFactory0.create(ERROR); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java index 329347d605c..db6a6be9db3 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java @@ -629,7 +629,6 @@ public class DefaultErrorMessages { "See https://youtrack.jetbrains.com/issue/KT-49276 for more details. " + "Please specify a progression type of argument explicitly through explicit cast to resolve to a proper declaration", COMPACT); MAP.put(EXPRESSION_AFTER_TYPE_REFERENCE_WITHOUT_SPACING_NOT_ALLOWED, "Expression body directly after type without a whitespace in-between the '>=' is only allowed since version 1.8"); - MAP.put(TYPE_ARGUMENT_LIST_LIKE_EXPRESSION, "Type argument list like expressions are only allowed since version 1.8"); MAP.put(TOO_MANY_ARGUMENTS, "Too many arguments for {0}", FQ_NAMES_IN_TYPES); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt index 92817d8303e..8d1fcf4b849 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt @@ -54,7 +54,6 @@ private val DEFAULT_DECLARATION_CHECKERS = listOf( UnsupportedUntilRangeDeclarationChecker, DataObjectContentChecker, ExpressionAfterTypeParameterWithoutSpacingChecker, - TypeArgumentListLikeExpressionsChecker, ) private val DEFAULT_CALL_CHECKERS = listOf( diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/TypeArgumentListLikeExpressionsChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/TypeArgumentListLikeExpressionsChecker.kt deleted file mode 100644 index 67da88b2a86..00000000000 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/TypeArgumentListLikeExpressionsChecker.kt +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.resolve.checkers - -import org.jetbrains.kotlin.KtNodeTypes -import org.jetbrains.kotlin.config.LanguageFeature -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import org.jetbrains.kotlin.diagnostics.Errors -import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.psi.psiUtil.children - -object TypeArgumentListLikeExpressionsChecker : DeclarationChecker { - - override fun check(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) { - if (context.languageVersionSettings.supportsFeature(LanguageFeature.AllowTypeArgumentListLikeExpressions)) return - if (declaration.parent !is KtFile) return - - val visitor = object : KtTreeVisitorVoid() { - override fun visitBinaryExpression(expression: KtBinaryExpression) { - super.visitBinaryExpression(expression) - - if (wasTypeArgumentListLikeExpression(expression)) { - context.trace.report(Errors.TYPE_ARGUMENT_LIST_LIKE_EXPRESSION.on(expression.operationReference)) - } - } - - override fun visitUserType(type: KtUserType) { - super.visitUserType(type) - - if (wasTypeArgumentListLikeExpression(type)) { - var parent = type.parent ?: return - while (parent !is KtBinaryExpression) { - parent = parent.parent ?: return - } - - context.trace.report(Errors.TYPE_ARGUMENT_LIST_LIKE_EXPRESSION.on(parent.operationReference)) - } - } - - private fun wasTypeArgumentListLikeExpression(element: KtElement): Boolean { - return element.node.children().any { it.elementType == KtNodeTypes.TYPE_ARGUMENT_LIST_LIKE_EXPRESSION } - } - } - - declaration.accept(visitor) - } -} \ No newline at end of file diff --git a/compiler/psi/src/org/jetbrains/kotlin/KtNodeTypes.java b/compiler/psi/src/org/jetbrains/kotlin/KtNodeTypes.java index 48c1485d57c..3705c99c883 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/KtNodeTypes.java +++ b/compiler/psi/src/org/jetbrains/kotlin/KtNodeTypes.java @@ -149,8 +149,6 @@ public interface KtNodeTypes { IElementType CLASS_LITERAL_EXPRESSION = new KtNodeType("CLASS_LITERAL_EXPRESSION", KtClassLiteralExpression.class); IElementType SAFE_ACCESS_EXPRESSION = new KtNodeType("SAFE_ACCESS_EXPRESSION", KtSafeQualifiedExpression.class); - IElementType TYPE_ARGUMENT_LIST_LIKE_EXPRESSION = new IElementType("TYPE_ARGUMENT_LIST_LIKE_EXPRESSION", null); - IElementType OBJECT_LITERAL = new KtNodeType("OBJECT_LITERAL", KtObjectLiteralExpression.class); IElementType WHEN = new KtNodeType("WHEN", KtWhenExpression.class); diff --git a/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinExpressionParsing.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinExpressionParsing.java index 94df92a6c3c..931b5aa4b44 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinExpressionParsing.java +++ b/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinExpressionParsing.java @@ -21,7 +21,6 @@ import com.intellij.lang.ASTNode; import com.intellij.lang.Language; import com.intellij.lang.PsiBuilder; import com.intellij.openapi.project.Project; -import com.intellij.psi.TokenType; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.TokenSet; import org.jetbrains.annotations.NotNull; @@ -69,17 +68,20 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { return builder.build(); } - private static final TokenSet STRONG_TYPE_ARGUMENT_LIST_POSTFIX_INDICATORS = TokenSet.orSet( - TokenSet.create(COLONCOLON, QUEST, LBRACKET, TokenType.BAD_CHARACTER), Precedence.POSTFIX.getOperations() - ); - private static final TokenSet WEAK_TYPE_ARGUMENT_LIST_POSTFIX_INDICATORS = TokenSet.create( - RBRACKET, RBRACE, RPAR, EQ, COLON, SEMICOLON, COMMA, - - EQEQEQ, EXCLEQEQEQ, EQEQ, EXCLEQ, ELVIS, AS_KEYWORD, IS_KEYWORD, NOT_IS, NOT_IN, RANGE, RANGE_UNTIL, ARROW, - - PACKAGE_KEYWORD, CLASS_KEYWORD, INTERFACE_KEYWORD, OBJECT_KEYWORD, TYPE_ALIAS_KEYWORD, SUPER_KEYWORD, VAL_KEYWORD, - VAR_KEYWORD, FUN_KEYWORD, RETURN_KEYWORD, FOR_KEYWORD, WHILE_KEYWORD, DO_KEYWORD, BREAK_KEYWORD, CONTINUE_KEYWORD, - THROW_KEYWORD + private static final TokenSet TYPE_ARGUMENT_LIST_STOPPERS = TokenSet.create( + INTEGER_LITERAL, FLOAT_LITERAL, CHARACTER_LITERAL, OPEN_QUOTE, + PACKAGE_KEYWORD, AS_KEYWORD, TYPE_ALIAS_KEYWORD, INTERFACE_KEYWORD, CLASS_KEYWORD, THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD, + FUN_KEYWORD, FOR_KEYWORD, NULL_KEYWORD, + TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD, THROW_KEYWORD, RETURN_KEYWORD, BREAK_KEYWORD, + CONTINUE_KEYWORD, OBJECT_KEYWORD, IF_KEYWORD, TRY_KEYWORD, ELSE_KEYWORD, WHILE_KEYWORD, DO_KEYWORD, + WHEN_KEYWORD, RBRACKET, RBRACE, RPAR, PLUSPLUS, MINUSMINUS, EXCLEXCL, + // MUL, + PLUS, MINUS, EXCL, DIV, PERC, LTEQ, + // TODO GTEQ, foo=x + EQEQEQ, EXCLEQEQEQ, EQEQ, EXCLEQ, ANDAND, OROR, SAFE_ACCESS, ELVIS, + SEMICOLON, RANGE, RANGE_UNTIL, EQ, MULTEQ, DIVEQ, PERCEQ, PLUSEQ, MINUSEQ, NOT_IN, NOT_IS, + COLONCOLON, + COLON ); /*package*/ static final TokenSet EXPRESSION_FIRST = TokenSet.create( @@ -166,7 +168,7 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { AS(AS_KEYWORD, AS_SAFE) { @Override public IElementType parseRightHandSide(IElementType operation, KotlinExpressionParsing parser) { - parser.myKotlinParsing.parseTypeRefWithoutIntersections(/* partOfExpression */ true); + parser.myKotlinParsing.parseTypeRefWithoutIntersections(); return BINARY_WITH_TYPE; } @@ -185,7 +187,7 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { @Override public IElementType parseRightHandSide(IElementType operation, KotlinExpressionParsing parser) { if (operation == IS_KEYWORD || operation == NOT_IS) { - parser.myKotlinParsing.parseTypeRefWithoutIntersections(/* partOfExpression */ true); + parser.myKotlinParsing.parseTypeRefWithoutIntersections(); return IS_EXPRESSION; } @@ -400,7 +402,7 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { if (at(LT)) { PsiBuilder.Marker typeArgumentList = mark(); - if (parseCallSuffixTypeArgumentList()) { + if (myKotlinParsing.tryParseTypeArgumentList(TYPE_ARGUMENT_LIST_STOPPERS)) { typeArgumentList.error("Type arguments are not allowed"); } else { @@ -408,7 +410,7 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { } } - if (isAtValueArgumentList()) { + if (at(LPAR) && !myBuilder.newlineBeforeCurrentToken()) { PsiBuilder.Marker lpar = mark(); parseCallSuffix(); lpar.error("This syntax is reserved for future use; to call a reference, enclose it in parentheses: (foo::bar)(args)"); @@ -492,141 +494,35 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { /* * callSuffix - * : typeArguments? valueArguments? annotatedLambda* + * : typeArguments? valueArguments annotatedLambda + * : typeArguments annotatedLambda * ; */ private boolean parseCallSuffix() { - if (at(LT) && parseCallSuffixTypeArgumentList()) { - if (at(LPAR) && !myBuilder.newlineBeforeCurrentToken()) parseValueArgumentList(); - parseCallWithClosure(); - - return true; + if (parseCallWithClosure()) { + // do nothing } else if (at(LPAR)) { parseValueArgumentList(); parseCallWithClosure(); - - return true; } - else if (parseCallWithClosure()) { - return true; - } - - return false; - } - - private boolean parseCallSuffixTypeArgumentList() { - PsiBuilder.Marker typeArgumentList = mark(); - - KotlinParsing.TypeArgumentListKind kind = myKotlinParsing.tryParseTypeArgumentList(); - - // If the parsed section did not fulfill the criteria of a type argument list or - // if there's no indication of an intended call suffix, drop the type argument list. - if (kind == KotlinParsing.TypeArgumentListKind.NONE) { - typeArgumentList.rollbackTo(); - - return false; - } - - if (!isAtTypeArgumentListPostfixIndicator()) { - typeArgumentList.rollbackTo(); - - mark().done(TYPE_ARGUMENT_LIST_LIKE_EXPRESSION); - return false; - } - - // If the parsed section could have been a faulty type argument type list, check - // whether it could have also been parsed as the right-hand side of a comparison - // expression correctly. If so, we have never had a faulty type argument list in - // the first place, and therefor it must be dropped. - if (kind == KotlinParsing.TypeArgumentListKind.FAULTY_TYPE_ARGUMENT_LIST) { - // For better error highlighting we only try to produce a faulty type argument list, if - // there are strong indicators. Otherwise, we would lean too much towards call suffixes - // in cases like when typing "x < 0 && 1 > ", where the last element hasn't been typed - // yet. - if (!isAtStrongTypeArgumentListPostfixIndicator()) { - typeArgumentList.rollbackTo(); - - mark().done(TYPE_ARGUMENT_LIST_LIKE_EXPRESSION); - return false; - } - - typeArgumentList.rollbackTo(); - - if (isAtConditionalExpression()) { - mark().done(TYPE_ARGUMENT_LIST_LIKE_EXPRESSION); - return false; - } - - typeArgumentList = mark(); - - myKotlinParsing.tryParseTypeArgumentList(); - } - - // At this point we're sure that it's either a correct type argument list followed - // by some indication of a call suffix or that it's faulty type argument list that - // is definitely not a correct right-hand side of an expression and is followed by - // a strong indication of a call suffix. - - typeArgumentList.done(TYPE_ARGUMENT_LIST); - - return true; - } - - private boolean isAtTypeArgumentListPostfixIndicator() { - return isAtStrongTypeArgumentListPostfixIndicator() || isAtWeakTypeArgumentListPostfixIndicator(); - } - - private boolean isAtStrongTypeArgumentListPostfixIndicator() { - // The start of a value argument list or an annotated lambda indicates a type argument list. - // <...>( <...>{ <...>@identifier{ <...>identifier@{ <...>[ - // Postfix expression are usually not applied to non-null boolean comparisons. - // <...>:: <...>? <...>. <...>?. <...>!! <...>++ <...>-- - return isAtValueArgumentList() || isAtAnnotatedLambda() || atSet(STRONG_TYPE_ARGUMENT_LIST_POSTFIX_INDICATORS); - } - - private boolean isAtWeakTypeArgumentListPostfixIndicator() { - // Line breaks are only available outside of value argument list. This is an incomplete line of code. - // <...>↵ - // Other limiting tokens are also a likely indicator of an indented function call. - // <...>) <...>] <...>} <...>, <...>: <...>= - // Operators are unlikely to be applied to non-null booleans. - // <...>== <...>!= <...>=== <...>!== <...> as <...> is <...> in - // Hard keywords hint towards some formatting issue where line breaks are missing - // <...>fun <...>var <...>var <...>object - return myBuilder.newlineBeforeCurrentToken() || atSet(WEAK_TYPE_ARGUMENT_LIST_POSTFIX_INDICATORS); - } - - boolean isAtConditionalExpression() { - assert _at(LT) : "caller must check that current token is LT"; - - PsiBuilder.Marker marker = mark(); - - advance(); // LT - - boolean hasNoErrors; - - do { - PsiBuilder.Marker errorScope = mark(); - - parseExpression(); - - hasNoErrors = !myBuilder.hasErrorsAfter(errorScope); - errorScope.drop(); - - if (!hasNoErrors) break; - - if (at(COMMA)) { - advance(); + else if (at(LT)) { + PsiBuilder.Marker typeArgumentList = mark(); + if (myKotlinParsing.tryParseTypeArgumentList(TYPE_ARGUMENT_LIST_STOPPERS)) { + typeArgumentList.done(TYPE_ARGUMENT_LIST); + if (!myBuilder.newlineBeforeCurrentToken() && at(LPAR)) parseValueArgumentList(); + parseCallWithClosure(); } else { - break; + typeArgumentList.rollbackTo(); + return false; } - } while (true); + } + else { + return false; + } - marker.rollbackTo(); - - return hasNoErrors; + return true; } /* @@ -698,24 +594,6 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { return true; } - private boolean isAtAnnotatedLambda() { - // "{" - if (_at(LBRACE)) { - return true; - } - // IDENTIFIER "@" "{" - else if (_at(IDENTIFIER) && myBuilder.rawLookup(1) == AT && myBuilder.rawLookup(2) == LBRACE) { - return true; - } - // "@" - else if (_at(AT)) { - return true; - } - else { - return false; - } - } - private static void doneOrDrop( @NotNull PsiBuilder.Marker marker, @NotNull IElementType type, @@ -1115,7 +993,7 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { error("Expecting a type"); } else { - myKotlinParsing.parseTypeRef(/* partOfExpression */ false); + myKotlinParsing.parseTypeRef(); } condition.done(WHEN_CONDITION_IS_PATTERN); break; @@ -1393,7 +1271,7 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { if (at(COLON)) { advance(); // COLON - myKotlinParsing.parseTypeRef(ARROW_COMMA_SET, /* partOfExpression */ false); + myKotlinParsing.parseTypeRef(ARROW_COMMA_SET); } parameter.done(VALUE_PARAMETER); @@ -1619,7 +1497,7 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { if (at(COLON)) { advance(); // COLON - myKotlinParsing.parseTypeRef(IN_KEYWORD_SET, /* partOfExpression */ false); + myKotlinParsing.parseTypeRef(IN_KEYWORD_SET); } } parameter.done(VALUE_PARAMETER); @@ -1935,7 +1813,7 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { } /* - * "super" ("<" type ">")? label? + * "this" ("<" type ">")? label? */ private void parseSuperExpression() { assert _at(SUPER_KEYWORD); @@ -1952,7 +1830,7 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { myBuilder.disableNewlines(); advance(); // LT - myKotlinParsing.parseTypeRef(/* partOfExpression */ false); + myKotlinParsing.parseTypeRef(); if (at(GT)) { advance(); // GT @@ -2010,10 +1888,6 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing { list.done(VALUE_ARGUMENT_LIST); } - private boolean isAtValueArgumentList() { - return _at(LPAR) && !myBuilder.newlineBeforeCurrentToken(); - } - /* * (SimpleName "=")? "*"? element */ diff --git a/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinParsing.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinParsing.java index b5655b7cbfe..1bf9760b766 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinParsing.java +++ b/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinParsing.java @@ -105,21 +105,6 @@ public class KotlinParsing extends AbstractKotlinParsing { private final static TokenSet EOL_OR_SEMICOLON_RBRACE_SET = TokenSet.create(EOL_OR_SEMICOLON, RBRACE); private final static TokenSet CLASS_INTERFACE_SET = TokenSet.create(CLASS_KEYWORD, INTERFACE_KEYWORD); - private static final TokenSet TYPE_ARGUMENT_LIST_RECOVERY_SET = TokenSet.create( - INTEGER_LITERAL, FLOAT_LITERAL, CHARACTER_LITERAL, OPEN_QUOTE, - PACKAGE_KEYWORD, AS_KEYWORD, TYPE_ALIAS_KEYWORD, INTERFACE_KEYWORD, CLASS_KEYWORD, THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD, - FUN_KEYWORD, FOR_KEYWORD, NULL_KEYWORD, - TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD, THROW_KEYWORD, RETURN_KEYWORD, BREAK_KEYWORD, - CONTINUE_KEYWORD, OBJECT_KEYWORD, IF_KEYWORD, TRY_KEYWORD, ELSE_KEYWORD, WHILE_KEYWORD, DO_KEYWORD, - WHEN_KEYWORD, RBRACKET, RBRACE, RPAR, PLUSPLUS, MINUSMINUS, EXCLEXCL, - // MUL, - PLUS, MINUS, EXCL, DIV, PERC, LTEQ, - GTEQ, GT, EQEQEQ, EXCLEQEQEQ, EQEQ, EXCLEQ, ANDAND, OROR, SAFE_ACCESS, ELVIS, - SEMICOLON, RANGE, RANGE_UNTIL, EQ, MULTEQ, DIVEQ, PERCEQ, PLUSEQ, MINUSEQ, NOT_IN, NOT_IS, - COLONCOLON, - COLON - ); - static KotlinParsing createForTopLevel(SemanticWhitespaceAwarePsiBuilder builder) { return new KotlinParsing(builder, true); } @@ -210,7 +195,7 @@ public class KotlinParsing extends AbstractKotlinParsing { void parseTypeCodeFragment() { PsiBuilder.Marker marker = mark(); - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); checkForUnexpectedSymbols(); @@ -729,7 +714,7 @@ public class KotlinParsing extends AbstractKotlinParsing { if (myExpressionParsing.isAtLabelDefinitionOrMissingIdentifier()) { myExpressionParsing.parseLabelDefinition(); } - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); contextReceiver.done(CONTEXT_RECEIVER); } @@ -954,11 +939,11 @@ public class KotlinParsing extends AbstractKotlinParsing { PsiBuilder.Marker reference = mark(); PsiBuilder.Marker typeReference = mark(); - parseUserType(/* partOfExpression */ false); + parseUserType(); typeReference.done(TYPE_REFERENCE); reference.done(CONSTRUCTOR_CALLEE); - parseTypeArgumentList(/* partOfExpression */ false); + parseTypeArgumentList(); boolean whitespaceAfterAnnotation = WHITE_SPACE_OR_COMMENT_BIT_SET.contains(myBuilder.rawLookup(-1)); boolean shouldBeParsedNextAsFunctionalType = at(LPAR) && whitespaceAfterAnnotation && mode.withSignificantWhitespaceBeforeArguments; @@ -1440,7 +1425,7 @@ public class KotlinParsing extends AbstractKotlinParsing { expect(EQ, "Expecting '='", TOP_LEVEL_DECLARATION_FIRST_SEMICOLON_SET); - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); consumeIf(SEMICOLON); @@ -1512,7 +1497,7 @@ public class KotlinParsing extends AbstractKotlinParsing { noTypeReference = false; PsiBuilder.Marker type = mark(); advance(); // COLON - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); errorIf(type, multiDeclaration, "Type annotations are not allowed on destructuring declarations"); } @@ -1614,7 +1599,7 @@ public class KotlinParsing extends AbstractKotlinParsing { if (at(COLON)) { advance(); // COLON - parseTypeRef(follow, /* partOfExpression */ false); + parseTypeRef(follow); } property.done(DESTRUCTURING_DECLARATION_ENTRY); @@ -1709,7 +1694,7 @@ public class KotlinParsing extends AbstractKotlinParsing { if (at(COLON)) { advance(); // COLON - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); } setterParameter.done(VALUE_PARAMETER); if (at(COMMA)) { @@ -1729,7 +1714,7 @@ public class KotlinParsing extends AbstractKotlinParsing { if (at(COLON)) { advance(); - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); } if (propertyComponentKind != PropertyComponentKind.FIELD) { @@ -1823,7 +1808,7 @@ public class KotlinParsing extends AbstractKotlinParsing { if (at(COLON)) { advance(); // COLON - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); } boolean functionContractOccurred = parseFunctionContract(); @@ -1866,7 +1851,7 @@ public class KotlinParsing extends AbstractKotlinParsing { if (!receiverPresent) return false; - createTruncatedBuilder(lastDot).parseTypeRefWithoutIntersections(/* partOfExpression */ false); + createTruncatedBuilder(lastDot).parseTypeRefWithoutIntersections(); if (atSet(RECEIVER_TYPE_TERMINATORS)) { advance(); // expectation @@ -2007,7 +1992,7 @@ public class KotlinParsing extends AbstractKotlinParsing { private void parseDelegationSpecifier() { PsiBuilder.Marker delegator = mark(); PsiBuilder.Marker reference = mark(); - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); if (at(BY_KEYWORD)) { reference.drop(); @@ -2118,7 +2103,7 @@ public class KotlinParsing extends AbstractKotlinParsing { expect(COLON, "Expecting ':' before the upper bound", LBRACE_RBRACE_TYPE_REF_FIRST_SET); - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); constraint.done(TYPE_CONSTRAINT); } @@ -2150,7 +2135,7 @@ public class KotlinParsing extends AbstractKotlinParsing { if (at(COLON)) { advance(); // COLON - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); } mark.done(TYPE_PARAMETER); @@ -2173,30 +2158,26 @@ public class KotlinParsing extends AbstractKotlinParsing { * : typeReference "?" * ; */ - void parseTypeRef(boolean partOfExpression) { - parseTypeRef(TokenSet.EMPTY, partOfExpression); + void parseTypeRef() { + parseTypeRef(TokenSet.EMPTY); } - void parseTypeRefWithoutIntersections(boolean partOfExpression) { - parseTypeRef(TokenSet.EMPTY, partOfExpression, /* allowSimpleIntersectionTypes */ false); + void parseTypeRefWithoutIntersections() { + parseTypeRef(TokenSet.EMPTY, /* allowSimpleIntersectionTypes */ false); } - void parseTypeRef(TokenSet extraRecoverySet, boolean partOfExpression) { - parseTypeRef(extraRecoverySet, partOfExpression, /* allowSimpleIntersectionTypes */ true); + void parseTypeRef(TokenSet extraRecoverySet) { + parseTypeRef(extraRecoverySet, /* allowSimpleIntersectionTypes */ true); } - private void parseTypeRef(TokenSet extraRecoverySet, boolean partOfExpression, boolean allowSimpleIntersectionTypes) { - PsiBuilder.Marker typeRefMarker = parseTypeRefContents(extraRecoverySet, partOfExpression, allowSimpleIntersectionTypes); + private void parseTypeRef(TokenSet extraRecoverySet, boolean allowSimpleIntersectionTypes) { + PsiBuilder.Marker typeRefMarker = parseTypeRefContents(extraRecoverySet, allowSimpleIntersectionTypes); typeRefMarker.done(TYPE_REFERENCE); } // The extraRecoverySet is needed for the foo(bar(z)) case, to tell whether we should stop // on expression-indicating symbols or not - private PsiBuilder.Marker parseTypeRefContents( - TokenSet extraRecoverySet, - boolean partOfExpression, - boolean allowSimpleIntersectionTypes - ) { + private PsiBuilder.Marker parseTypeRefContents(TokenSet extraRecoverySet, boolean allowSimpleIntersectionTypes) { PsiBuilder.Marker typeRefMarker = mark(); parseTypeModifierList(); @@ -2222,14 +2203,14 @@ public class KotlinParsing extends AbstractKotlinParsing { dynamicType.done(DYNAMIC_TYPE); } else if (at(IDENTIFIER) || at(PACKAGE_KEYWORD) || atParenthesizedMutableForPlatformTypes(0)) { - parseUserType(partOfExpression); + parseUserType(); } else if (at(LPAR)) { PsiBuilder.Marker functionOrParenthesizedType = mark(); // This may be a function parameter list or just a parenthesized type advance(); // LPAR - parseTypeRefContents(TokenSet.EMPTY, /* partOfExpression */ false, /* allowSimpleIntersectionTypes */ true).drop(); // parenthesized types, no reference element around it is needed + parseTypeRefContents(TokenSet.EMPTY, /* allowSimpleIntersectionTypes */ true).drop(); // parenthesized types, no reference element around it is needed if (at(RPAR) && lookahead(1) != ARROW) { // It's a parenthesized type @@ -2271,7 +2252,7 @@ public class KotlinParsing extends AbstractKotlinParsing { leftTypeRef.done(TYPE_REFERENCE); advance(); // & - parseTypeRef(extraRecoverySet, /* allowSimpleIntersectionTypes */ false, true /* partOfExpression */); + parseTypeRef(extraRecoverySet, /* allowSimpleIntersectionTypes */ true); intersectionType.done(INTERSECTION_TYPE); wasIntersection = true; @@ -2336,7 +2317,7 @@ public class KotlinParsing extends AbstractKotlinParsing { * - (Mutable)List! * - Array<(out) Foo>! */ - private void parseUserType(boolean partOfExpression) { + private void parseUserType() { PsiBuilder.Marker userType = mark(); if (at(PACKAGE_KEYWORD)) { @@ -2359,7 +2340,7 @@ public class KotlinParsing extends AbstractKotlinParsing { break; } - parseTypeArgumentList(partOfExpression); + parseTypeArgumentList(); recoverOnPlatformTypeSuffix(); @@ -2429,72 +2410,20 @@ public class KotlinParsing extends AbstractKotlinParsing { /* * (optionalProjection type){","} */ - private void parseTypeArgumentList(boolean partOfExpression) { + private void parseTypeArgumentList() { if (!at(LT)) return; - PsiBuilder.Marker typeArgumentList = mark(); + PsiBuilder.Marker list = mark(); - TypeArgumentListKind kind = tryParseTypeArgumentList(); + tryParseTypeArgumentList(TokenSet.EMPTY); - if (kind == TypeArgumentListKind.NONE && partOfExpression) { - typeArgumentList.rollbackTo(); - - mark().done(TYPE_ARGUMENT_LIST_LIKE_EXPRESSION); - return; - } - - // Type argument lists that appear inside of expressions might also be comparisons: - // some(a as Int < 3, y > z) - if (kind == TypeArgumentListKind.FAULTY_TYPE_ARGUMENT_LIST && partOfExpression) { - typeArgumentList.rollbackTo(); - - if (myExpressionParsing.isAtConditionalExpression()) { - mark().done(TYPE_ARGUMENT_LIST_LIKE_EXPRESSION); - return; - } - - typeArgumentList = mark(); - - tryParseTypeArgumentList(); - } - - typeArgumentList.done(TYPE_ARGUMENT_LIST); + list.done(TYPE_ARGUMENT_LIST); } - /** - * Tries to parse a section into a type argument list and reports how successful the attempt was. - *

- * The returned value of the method indicates to what degree the parsed section can be considered a type - * argument list. - *

- * {@link TypeArgumentListKind#TYPE_ARGUMENT_LIST} states the section should most likely be considered as - * a type argument list. This is the case, if any of the following conditions apply: - *

    - *
  • the type argument list contains no syntax errors. - *
  • the type argument list is empty - *
- *

- * {@link TypeArgumentListKind#FAULTY_TYPE_ARGUMENT_LIST} indicates that the section may be considered as - * a type argument list. This is the case, if any of the following conditions apply: - *

    - *
  • the sections contains syntax errors, but ends with a '>' - *
- *

- * {@link TypeArgumentListKind#NONE} indicates that the section must not be considered as a type argument - * list. This is the case, if none of the above cases apply. - */ - TypeArgumentListKind tryParseTypeArgumentList() { - assert _at(LT) : "caller must check that current token is LT"; - - PsiBuilder.Marker errorScope = mark(); - + boolean tryParseTypeArgumentList(TokenSet extraRecoverySet) { myBuilder.disableNewlines(); advance(); // LT - // Even if the type argument list is empty, we still want to "try" to parse it in - // order to get error highlighting for the missing type - boolean empty = at(GT) || at(GTEQ); - while (true) { PsiBuilder.Marker projection = mark(); @@ -2508,46 +2437,25 @@ public class KotlinParsing extends AbstractKotlinParsing { advance(); // MUL } else { - parseTypeRef(TYPE_ARGUMENT_LIST_RECOVERY_SET, /* partOfExpression */ false); + parseTypeRef(extraRecoverySet); } projection.done(TYPE_PROJECTION); - if (!at(COMMA)) break; advance(); // COMMA - if (at(GT) || at(GTEQ)) break; + if (at(GT)) { + break; + } } - myBuilder.disableJoiningComplexTokens(); - boolean atGT = at(GT); - - if (atGT) { - advance(); // GT - } - else { + if (!atGT) { error("Expecting a '>'"); } - - myBuilder.restoreJoiningComplexTokensState(); - - myBuilder.restoreNewlinesState(); - - boolean success = !myBuilder.hasErrorsAfter(errorScope); - errorScope.drop(); - - if (success || empty) { - return TypeArgumentListKind.TYPE_ARGUMENT_LIST; - } - else if (atGT) { - return TypeArgumentListKind.FAULTY_TYPE_ARGUMENT_LIST; - } else { - return TypeArgumentListKind.NONE; + advance(); // GT } - } - - public enum TypeArgumentListKind { - TYPE_ARGUMENT_LIST, FAULTY_TYPE_ARGUMENT_LIST, NONE, + myBuilder.restoreNewlinesState(); + return atGT; } /* @@ -2565,7 +2473,7 @@ public class KotlinParsing extends AbstractKotlinParsing { parseValueParameterList(true, /* typeRequired = */ true, TokenSet.EMPTY); expect(ARROW, "Expecting '->' to specify return type of a function type", TYPE_REF_FIRST); - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); return functionType; } @@ -2605,7 +2513,7 @@ public class KotlinParsing extends AbstractKotlinParsing { if (!tryParseValueParameter(typeRequired)) { PsiBuilder.Marker valueParameter = mark(); parseFunctionTypeValueParameterModifierList(); - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); closeDeclarationWithCommentBinders(valueParameter, VALUE_PARAMETER, false); } } @@ -2685,7 +2593,7 @@ public class KotlinParsing extends AbstractKotlinParsing { else { noErrors = false; } - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); } else { expect(IDENTIFIER, "Parameter name expected", PARAMETER_NAME_RECOVERY_SET); @@ -2700,7 +2608,7 @@ public class KotlinParsing extends AbstractKotlinParsing { return false; } - parseTypeRef(/* partOfExpression */ false); + parseTypeRef(); } else if (typeRequired) { errorWithRecovery("Parameters must have type annotation", PARAMETER_NAME_RECOVERY_SET); diff --git a/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilder.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilder.java index 1c6b6444fe2..64b05d6f7f3 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilder.java +++ b/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilder.java @@ -34,6 +34,4 @@ public interface SemanticWhitespaceAwarePsiBuilder extends PsiBuilder { @Override boolean isWhitespaceOrComment(@NotNull IElementType elementType); - - boolean hasErrorsAfter(@NotNull PsiBuilder.Marker marker); } diff --git a/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderAdapter.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderAdapter.java index 2a90b113b8e..55f2bc80a00 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderAdapter.java +++ b/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderAdapter.java @@ -68,9 +68,4 @@ public class SemanticWhitespaceAwarePsiBuilderAdapter extends PsiBuilderAdapter public boolean isWhitespaceOrComment(@NotNull IElementType elementType) { return myBuilder.isWhitespaceOrComment(elementType); } - - @Override - public boolean hasErrorsAfter(@NotNull Marker marker) { - return myBuilder.hasErrorsAfter(marker); - } } diff --git a/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderImpl.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderImpl.java index 287b41ebd5e..7ef5b63a41b 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderImpl.java +++ b/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderImpl.java @@ -202,10 +202,4 @@ public class SemanticWhitespaceAwarePsiBuilderImpl extends PsiBuilderAdapter imp } return getJoinedTokenType(super.lookAhead(steps), 2); } - - @Override - public boolean hasErrorsAfter(@NotNull Marker marker) { - assert delegateImpl != null : "PsiBuilderImpl not found"; - return delegateImpl.hasErrorsAfter(marker); - } } diff --git a/compiler/testData/diagnostics/tests/syntax/complicatedLTGT.fir.kt b/compiler/testData/diagnostics/tests/syntax/complicatedLTGT.fir.kt new file mode 100644 index 00000000000..7fe44c53a54 --- /dev/null +++ b/compiler/testData/diagnostics/tests/syntax/complicatedLTGT.fir.kt @@ -0,0 +1,8 @@ +// SKIP_TXT +// ISSUE: KT-8263 + +fun test(x: Int, y: Int) { + if (x < (if (y > 115) 1 else 2)) { + Unit + } +} diff --git a/compiler/testData/diagnostics/tests/syntax/complicatedLTGT.kt b/compiler/testData/diagnostics/tests/syntax/complicatedLTGT.kt index ec6ebc08986..5ae615475da 100644 --- a/compiler/testData/diagnostics/tests/syntax/complicatedLTGT.kt +++ b/compiler/testData/diagnostics/tests/syntax/complicatedLTGT.kt @@ -1,9 +1,8 @@ -// FIR_IDENTICAL // SKIP_TXT // ISSUE: KT-8263 fun test(x: Int, y: Int) { - if (x < (if (y > 115) 1 else 2)) { + if (x < (if (y > 115) 1 else 2)) { Unit } } diff --git a/compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.kt b/compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.kt deleted file mode 100644 index 9c029ba7c1c..00000000000 --- a/compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.kt +++ /dev/null @@ -1,22 +0,0 @@ -// FIR_IDENTICAL -// !LANGUAGE: +AllowTypeArgumentListLikeExpressions -// ISSUE: KT-8263 - -fun f(x: Int, y: Int, z: () -> Any, a: (Boolean, Boolean) -> Unit, b: (Any?) -> Unit) { - a(x < -1, (-3) > 3) - a(x < (-1), -3 > 3) - a(x < (-1), (-3) > 3) - a(x < y, -3 > 3) - a(x < y, x > 2) - - b(x < if (y > (0)) y else 0) - b(x < (if (y > (0)) y else 0)) - b(x < when (y > (0)) { else -> 0 }) - b(x < (when (y > (0)) { else -> 0 })) - - b(z() as Int < 15) - b(z() as Int < y) - b(z() is Int < true) - b(z() !is Int < true) - b(z() !is Int < true > false) -} diff --git a/compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.txt b/compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.txt deleted file mode 100644 index 3fcb4211ec5..00000000000 --- a/compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.txt +++ /dev/null @@ -1,4 +0,0 @@ -package - -public fun f(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int, /*2*/ z: () -> kotlin.Any, /*3*/ a: (kotlin.Boolean, kotlin.Boolean) -> kotlin.Unit, /*4*/ b: (kotlin.Any?) -> kotlin.Unit): kotlin.Unit - diff --git a/compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.fir.kt b/compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.fir.kt deleted file mode 100644 index cea14e9e607..00000000000 --- a/compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.fir.kt +++ /dev/null @@ -1,21 +0,0 @@ -// !LANGUAGE: -AllowTypeArgumentListLikeExpressions -// ISSUE: KT-8263 - -fun f(x: Int, y: Int, z: () -> Any, a: (Boolean, Boolean) -> Unit, b: (Any?) -> Unit) { - a(x < -1, (-3) > 3) - a(x < (-1), -3 > 3) - a(x < (-1), (-3) > 3) - a(x < y, -3 > 3) - a(x < y, x > 2) - - b(x < if (y > (0)) y else 0) - b(x < (if (y > (0)) y else 0)) - b(x < when (y > (0)) { else -> 0 }) - b(x < (when (y > (0)) { else -> 0 })) - - b(z() as Int < 15) - b(z() as Int < y) - b(z() is Int < true) - b(z() !is Int < true) - b(z() !is Int < true > false) -} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.kt b/compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.kt deleted file mode 100644 index 0b8a87f506d..00000000000 --- a/compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.kt +++ /dev/null @@ -1,21 +0,0 @@ -// !LANGUAGE: -AllowTypeArgumentListLikeExpressions -// ISSUE: KT-8263 - -fun f(x: Int, y: Int, z: () -> Any, a: (Boolean, Boolean) -> Unit, b: (Any?) -> Unit) { - a(x < -1, (-3) > 3) - a(x < (-1), -3 > 3) - a(x < (-1), (-3) > 3) - a(x < y, -3 > 3) - a(x < y, x > 2) - - b(x < if (y > (0)) y else 0) - b(x < (if (y > (0)) y else 0)) - b(x < when (y > (0)) { else -> 0 }) - b(x < (when (y > (0)) { else -> 0 })) - - b(z() as Int < 15) - b(z() as Int < y) - b(z() is Int < true) - b(z() !is Int < true) - b(z() !is Int < true > false) -} diff --git a/compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.txt b/compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.txt deleted file mode 100644 index 3fcb4211ec5..00000000000 --- a/compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.txt +++ /dev/null @@ -1,4 +0,0 @@ -package - -public fun f(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int, /*2*/ z: () -> kotlin.Any, /*3*/ a: (kotlin.Boolean, kotlin.Boolean) -> kotlin.Unit, /*4*/ b: (kotlin.Any?) -> kotlin.Unit): kotlin.Unit - diff --git a/compiler/testData/psi/DoubleColon_ERR.txt b/compiler/testData/psi/DoubleColon_ERR.txt index 0c1b7854d0d..ed39825be88 100644 --- a/compiler/testData/psi/DoubleColon_ERR.txt +++ b/compiler/testData/psi/DoubleColon_ERR.txt @@ -159,39 +159,37 @@ KtFile: DoubleColon_ERR.kt REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiErrorElement:Type arguments are not allowed - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - PsiElement(GT)('>') + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + PsiElement(GT)('>') PsiWhiteSpace('\n ') CALLABLE_REFERENCE_EXPRESSION PsiElement(COLONCOLON)('::') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiErrorElement:Type arguments are not allowed - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - PsiElement(COMMA)(',') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('c') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - PsiElement(MUL)('*') - PsiElement(GT)('>') - PsiElement(GT)('>') + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + PsiElement(COMMA)(',') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('c') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + PsiElement(MUL)('*') + PsiElement(GT)('>') + PsiElement(GT)('>') PsiWhiteSpace('\n ') CALLABLE_REFERENCE_EXPRESSION REFERENCE_EXPRESSION @@ -200,28 +198,26 @@ KtFile: DoubleColon_ERR.kt REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('b') PsiErrorElement:Type arguments are not allowed - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('c') - PsiElement(GT)('>') + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('c') + PsiElement(GT)('>') PsiWhiteSpace('\n\n ') CALLABLE_REFERENCE_EXPRESSION PsiElement(COLONCOLON)('::') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiErrorElement:Type arguments are not allowed - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - PsiElement(GT)('>') + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + PsiElement(GT)('>') PsiErrorElement:This syntax is reserved for future use; to call a reference, enclose it in parentheses: (foo::bar)(args) VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/compiler/testData/psi/TypeExpressionAmbiguities_ERR.txt b/compiler/testData/psi/TypeExpressionAmbiguities_ERR.txt index 5f751678e55..3ff766de449 100644 --- a/compiler/testData/psi/TypeExpressionAmbiguities_ERR.txt +++ b/compiler/testData/psi/TypeExpressionAmbiguities_ERR.txt @@ -299,46 +299,50 @@ KtFile: TypeExpressionAmbiguities_ERR.kt PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('c') PsiWhiteSpace('\n ') - BINARY_EXPRESSION - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('d') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(as)('as') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Foo') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') + BINARY_WITH_TYPE REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('bar') + PsiElement(IDENTIFIER)('d') + PsiWhiteSpace(' ') + OPERATION_REFERENCE + PsiElement(as)('as') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Foo') + PsiWhiteSpace(' ') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + PsiWhiteSpace(' ') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('bar') + PsiErrorElement:Expecting a '>' + PsiWhiteSpace('\n ') - BINARY_EXPRESSION - IS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(is)('is') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Foo') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') + IS_EXPRESSION REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('bar') + PsiElement(IDENTIFIER)('x') + PsiWhiteSpace(' ') + OPERATION_REFERENCE + PsiElement(is)('is') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Foo') + PsiWhiteSpace(' ') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + PsiWhiteSpace(' ') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('bar') + PsiErrorElement:Expecting a '>' + PsiWhiteSpace('\n') PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/compiler/testData/psi/complicateLTGT.txt b/compiler/testData/psi/complicateLTGT.txt index 3d445cb4bf5..cbeb21e8477 100644 --- a/compiler/testData/psi/complicateLTGT.txt +++ b/compiler/testData/psi/complicateLTGT.txt @@ -37,48 +37,57 @@ KtFile: complicateLTGT.kt PsiWhiteSpace(' ') PsiElement(LPAR)('(') CONDITION - BINARY_EXPRESSION + CALL_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('x') PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE + TYPE_ARGUMENT_LIST PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - IF - PsiElement(if)('if') - PsiWhiteSpace(' ') - PsiElement(LPAR)('(') - CONDITION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('115') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - THEN - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiWhiteSpace(' ') - PsiElement(else)('else') - PsiWhiteSpace(' ') - ELSE - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('2') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + TYPE_PROJECTION + TYPE_REFERENCE + FUNCTION_TYPE + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + VALUE_PARAMETER + TYPE_REFERENCE + PsiErrorElement:Type expected + PsiElement(if)('if') + PsiErrorElement:Expecting comma or ')' + + PsiWhiteSpace(' ') + PsiErrorElement:Expecting ')' + PsiElement(LPAR)('(') + PsiErrorElement:Expecting '->' to specify return type of a function type + + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('y') + PsiWhiteSpace(' ') + PsiElement(GT)('>') + PsiErrorElement:Expecting ') + PsiWhiteSpace(' ') THEN + INTEGER_CONSTANT + PsiElement(INTEGER_LITERAL)('115') + PsiErrorElement:Unexpected tokens (use ';' to separate expressions on the same line) + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(INTEGER_LITERAL)('1') + PsiWhiteSpace(' ') + PsiElement(else)('else') + PsiWhiteSpace(' ') + PsiElement(INTEGER_LITERAL)('2') + PsiElement(RPAR)(')') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + LAMBDA_EXPRESSION + FUNCTION_LITERAL + PsiElement(LBRACE)('{') BLOCK - PsiElement(LBRACE)('{') - PsiElement(RBRACE)('}') + + PsiElement(RBRACE)('}') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/compiler/testData/psi/complicateLTGTE.txt b/compiler/testData/psi/complicateLTGTE.txt index b8c3f56615b..61b65e92678 100644 --- a/compiler/testData/psi/complicateLTGTE.txt +++ b/compiler/testData/psi/complicateLTGTE.txt @@ -41,8 +41,6 @@ KtFile: complicateLTGTE.kt REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('x') PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - OPERATION_REFERENCE PsiElement(LT)('<') PsiWhiteSpace(' ') diff --git a/compiler/testData/psi/typeArgumentList/correctness/binaryExpressionsInFunctionCall.kt b/compiler/testData/psi/typeArgumentList/correctness/binaryExpressionsInFunctionCall.kt deleted file mode 100644 index 97f804eef07..00000000000 --- a/compiler/testData/psi/typeArgumentList/correctness/binaryExpressionsInFunctionCall.kt +++ /dev/null @@ -1,40 +0,0 @@ -fun f() { - a(x < 1, 2 > 3) - a(x < 0x32, (9f) > 3) - a(x < (2.0), 2 > 3) - a(x < (-1), (-3) > 3) - a(x < y > false) - - a(x < "", 2 > (3)) - a(x < y, false > { 3 }) - a(x < (1), 2 > (3)) - a(x < (1), (2) > { 3 }) - a(x < (y + z), z > (3)) - a(x < y, z - w > { 10 }) - a(x < y++, z > { 7 }) - a(x < y, -z > (1)) - a(x < y + 1 > (0)) - a(x < (y + 1) > (false)) - a(x < (y++) > (false)) - a(x < y!! > (false)) - a(x < (y!!) > (false)) - a(x < (if (z > (y)) 1 else 0)) - a(x < (when (z > (y)) { else -> 5 })) - a(x < y && z > (0)) - a(x < y || z > { 3.141 }) - - a(x as Int < 1) - a(x as Int < y) - a(x as Int < 3 > false) - a(x as? Int < 10) - a(x as? Int < y) - a(x as? Int < 0.3 > "false") - a(x is Int < 100L) - a(x is Int < y) - a(x is Int < true > z) - a(x !is Int < 1000.0) - a(x !is Int < y) - a(x !is Int < 0b110 > 'c') - a(x !is Int < (if (z > (y)) 1 else 0)) - a(x as Int < (when (z > (y)) { else -> 5 })) -} diff --git a/compiler/testData/psi/typeArgumentList/correctness/binaryExpressionsInFunctionCall.txt b/compiler/testData/psi/typeArgumentList/correctness/binaryExpressionsInFunctionCall.txt deleted file mode 100644 index eb8cbcb2a56..00000000000 --- a/compiler/testData/psi/typeArgumentList/correctness/binaryExpressionsInFunctionCall.txt +++ /dev/null @@ -1,1308 +0,0 @@ -KtFile: binaryExpressionsInFunctionCall.kt - PACKAGE_DIRECTIVE - - IMPORT_LIST - - FUN - PsiElement(fun)('fun') - PsiWhiteSpace(' ') - PsiElement(IDENTIFIER)('f') - VALUE_PARAMETER_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - BLOCK - PsiElement(LBRACE)('{') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('2') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0x32') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - PARENTHESIZED - PsiElement(LPAR)('(') - FLOAT_CONSTANT - PsiElement(FLOAT_CONSTANT)('9f') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - FLOAT_CONSTANT - PsiElement(FLOAT_CONSTANT)('2.0') - PsiElement(RPAR)(')') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('2') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - PREFIX_EXPRESSION - OPERATION_REFERENCE - PsiElement(MINUS)('-') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - PARENTHESIZED - PsiElement(LPAR)('(') - PREFIX_EXPRESSION - OPERATION_REFERENCE - PsiElement(MINUS)('-') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - BOOLEAN_CONSTANT - PsiElement(false)('false') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - STRING_TEMPLATE - PsiElement(OPEN_QUOTE)('"') - PsiElement(CLOSING_QUOTE)('"') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('2') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - BOOLEAN_CONSTANT - PsiElement(false)('false') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('2') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - PARENTHESIZED - PsiElement(LPAR)('(') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('2') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(PLUS)('+') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(RPAR)(')') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(MINUS)('-') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('w') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('10') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - POSTFIX_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - OPERATION_REFERENCE - PsiElement(PLUSPLUS)('++') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('7') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - VALUE_ARGUMENT - BINARY_EXPRESSION - PREFIX_EXPRESSION - OPERATION_REFERENCE - PsiElement(MINUS)('-') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(PLUS)('+') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(PLUS)('+') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - BOOLEAN_CONSTANT - PsiElement(false)('false') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - POSTFIX_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - OPERATION_REFERENCE - PsiElement(PLUSPLUS)('++') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - BOOLEAN_CONSTANT - PsiElement(false)('false') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - POSTFIX_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - OPERATION_REFERENCE - PsiElement(EXCLEXCL)('!!') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - BOOLEAN_CONSTANT - PsiElement(false)('false') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - POSTFIX_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - OPERATION_REFERENCE - PsiElement(EXCLEXCL)('!!') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - BOOLEAN_CONSTANT - PsiElement(false)('false') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - IF - PsiElement(if)('if') - PsiWhiteSpace(' ') - PsiElement(LPAR)('(') - CONDITION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - THEN - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiWhiteSpace(' ') - PsiElement(else)('else') - PsiWhiteSpace(' ') - ELSE - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - WHEN - PsiElement(when)('when') - PsiWhiteSpace(' ') - PsiElement(LPAR)('(') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - WHEN_ENTRY - PsiElement(else)('else') - PsiWhiteSpace(' ') - PsiElement(ARROW)('->') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('5') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(ANDAND)('&&') - PsiWhiteSpace(' ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(OROR)('||') - PsiWhiteSpace(' ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - FLOAT_CONSTANT - PsiElement(FLOAT_CONSTANT)('3.141') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(as)('as') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(as)('as') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(as)('as') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - BOOLEAN_CONSTANT - PsiElement(false)('false') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(AS_SAFE)('as?') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('10') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(AS_SAFE)('as?') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(AS_SAFE)('as?') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - FLOAT_CONSTANT - PsiElement(FLOAT_CONSTANT)('0.3') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - STRING_TEMPLATE - PsiElement(OPEN_QUOTE)('"') - LITERAL_STRING_TEMPLATE_ENTRY - PsiElement(REGULAR_STRING_PART)('false') - PsiElement(CLOSING_QUOTE)('"') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - IS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(is)('is') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('100L') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - IS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(is)('is') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - IS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(is)('is') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - BOOLEAN_CONSTANT - PsiElement(true)('true') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - IS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(NOT_IS)('!is') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - FLOAT_CONSTANT - PsiElement(FLOAT_CONSTANT)('1000.0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - IS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(NOT_IS)('!is') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_EXPRESSION - IS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(NOT_IS)('!is') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0b110') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - CHARACTER_CONSTANT - PsiElement(CHARACTER_LITERAL)(''c'') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - IS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(NOT_IS)('!is') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - IF - PsiElement(if)('if') - PsiWhiteSpace(' ') - PsiElement(LPAR)('(') - CONDITION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - THEN - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiWhiteSpace(' ') - PsiElement(else)('else') - PsiWhiteSpace(' ') - ELSE - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(as)('as') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - PsiWhiteSpace(' ') - TYPE_ARGUMENT_LIST_LIKE_EXPRESSION - - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - WHEN - PsiElement(when)('when') - PsiWhiteSpace(' ') - PsiElement(LPAR)('(') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - PARENTHESIZED - PsiElement(LPAR)('(') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - WHEN_ENTRY - PsiElement(else)('else') - PsiWhiteSpace(' ') - PsiElement(ARROW)('->') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('5') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n') - PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/compiler/testData/psi/typeArgumentList/correctness/callExpressionsAnyLHSAtomicExpression.kt b/compiler/testData/psi/typeArgumentList/correctness/callExpressionsAnyLHSAtomicExpression.kt deleted file mode 100644 index 00a76680eeb..00000000000 --- a/compiler/testData/psi/typeArgumentList/correctness/callExpressionsAnyLHSAtomicExpression.kt +++ /dev/null @@ -1,27 +0,0 @@ -fun f() { - (x)(0) - x[](0) - this(0) - super(0) - this(0) - object : C{}(0) - throw(0) - return(0) - continue(0) - break(0) - if (x < 0) { 1 } else { 1 }(0) - when { else -> 1 }(0) - try { 1 } finally {}(0) - for (i in 0 until 10) {}(0) - while (true) {}(0) - do {} while (true)(0) - x(0); - { x }(0) - ""(0) - 1(0) - 0L(0) - 3.141(0) - 2.718f(0) - 0xF7E(0) - 0b101(0) -} diff --git a/compiler/testData/psi/typeArgumentList/correctness/callExpressionsAnyLHSAtomicExpression.txt b/compiler/testData/psi/typeArgumentList/correctness/callExpressionsAnyLHSAtomicExpression.txt deleted file mode 100644 index 73e857d47cb..00000000000 --- a/compiler/testData/psi/typeArgumentList/correctness/callExpressionsAnyLHSAtomicExpression.txt +++ /dev/null @@ -1,785 +0,0 @@ -KtFile: callExpressionsAnyLHSAtomicExpression.kt - PACKAGE_DIRECTIVE - - IMPORT_LIST - - FUN - PsiElement(fun)('fun') - PsiWhiteSpace(' ') - PsiElement(IDENTIFIER)('f') - VALUE_PARAMETER_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - BLOCK - PsiElement(LBRACE)('{') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - PARENTHESIZED - PsiElement(LPAR)('(') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(RPAR)(')') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - ARRAY_ACCESS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - INDICES - PsiElement(LBRACKET)('[') - PsiErrorElement:Expecting an index element - - PsiElement(RBRACKET)(']') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - THIS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(this)('this') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - SUPER_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(super)('super') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - THIS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(this)('this') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - OBJECT_LITERAL - OBJECT_DECLARATION - PsiElement(object)('object') - PsiWhiteSpace(' ') - PsiElement(COLON)(':') - PsiWhiteSpace(' ') - SUPER_TYPE_LIST - SUPER_TYPE_ENTRY - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('C') - CLASS_BODY - PsiElement(LBRACE)('{') - PsiElement(RBRACE)('}') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - THROW - PsiElement(throw)('throw') - PsiErrorElement:Expecting an expression - - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - RETURN - PsiElement(return)('return') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - CONTINUE - PsiElement(continue)('continue') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - BREAK - PsiElement(break)('break') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - IF - PsiElement(if)('if') - PsiWhiteSpace(' ') - PsiElement(LPAR)('(') - CONDITION - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(LT)('<') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - THEN - BLOCK - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiWhiteSpace(' ') - PsiElement(else)('else') - PsiWhiteSpace(' ') - ELSE - BLOCK - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - WHEN - PsiElement(when)('when') - PsiWhiteSpace(' ') - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - WHEN_ENTRY - PsiElement(else)('else') - PsiWhiteSpace(' ') - PsiElement(ARROW)('->') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - TRY - PsiElement(try)('try') - PsiWhiteSpace(' ') - BLOCK - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiWhiteSpace(' ') - FINALLY - PsiElement(finally)('finally') - PsiWhiteSpace(' ') - BLOCK - PsiElement(LBRACE)('{') - PsiElement(RBRACE)('}') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - FOR - PsiElement(for)('for') - PsiWhiteSpace(' ') - PsiElement(LPAR)('(') - VALUE_PARAMETER - PsiElement(IDENTIFIER)('i') - PsiWhiteSpace(' ') - PsiElement(in)('in') - PsiWhiteSpace(' ') - LOOP_RANGE - BINARY_EXPRESSION - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(IDENTIFIER)('until') - PsiWhiteSpace(' ') - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('10') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - BODY - BLOCK - PsiElement(LBRACE)('{') - PsiElement(RBRACE)('}') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - WHILE - PsiElement(while)('while') - PsiWhiteSpace(' ') - PsiElement(LPAR)('(') - CONDITION - BOOLEAN_CONSTANT - PsiElement(true)('true') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - BODY - BLOCK - PsiElement(LBRACE)('{') - PsiElement(RBRACE)('}') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - DO_WHILE - PsiElement(do)('do') - PsiWhiteSpace(' ') - BODY - BLOCK - PsiElement(LBRACE)('{') - PsiElement(RBRACE)('}') - PsiWhiteSpace(' ') - PsiElement(while)('while') - PsiWhiteSpace(' ') - PsiElement(LPAR)('(') - CONDITION - BOOLEAN_CONSTANT - PsiElement(true)('true') - PsiElement(RPAR)(')') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiElement(SEMICOLON)(';') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - STRING_TEMPLATE - PsiElement(OPEN_QUOTE)('"') - PsiElement(CLOSING_QUOTE)('"') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0L') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - FLOAT_CONSTANT - PsiElement(FLOAT_CONSTANT)('3.141') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - FLOAT_CONSTANT - PsiElement(FLOAT_CONSTANT)('2.718f') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0xF7E') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0b101') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n') - PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/compiler/testData/psi/typeArgumentList/correctness/callExpressionsInFunctionCall.kt b/compiler/testData/psi/typeArgumentList/correctness/callExpressionsInFunctionCall.kt deleted file mode 100644 index cb4c6d0da6e..00000000000 --- a/compiler/testData/psi/typeArgumentList/correctness/callExpressionsInFunctionCall.kt +++ /dev/null @@ -1,22 +0,0 @@ -fun f() { - a(x(3)) - a(x { "" }) - a(x("")) - a(x { 7 }) - a(x<(y), z> { 1.011f }) - a(x(0x5F)) - a(x<(y), (z)>(0b1110)) - a(x { 7 }) - a(x(0)) - a(x<(v.x.z), v.y>('y')) - a(x<(v), (v.x.y.z)>("""word""")) - a(Array::class) - a(Array?::class) - - a(x as List) - a(x as? List) - a(x is List) - a(x !is List) - a(x as Int > false) - a(x as Int == z) -} diff --git a/compiler/testData/psi/typeArgumentList/correctness/callExpressionsInFunctionCall.txt b/compiler/testData/psi/typeArgumentList/correctness/callExpressionsInFunctionCall.txt deleted file mode 100644 index 6b1e765d139..00000000000 --- a/compiler/testData/psi/typeArgumentList/correctness/callExpressionsInFunctionCall.txt +++ /dev/null @@ -1,664 +0,0 @@ -KtFile: callExpressionsInFunctionCall.kt - PACKAGE_DIRECTIVE - - IMPORT_LIST - - FUN - PsiElement(fun)('fun') - PsiWhiteSpace(' ') - PsiElement(IDENTIFIER)('f') - VALUE_PARAMETER_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - BLOCK - PsiElement(LBRACE)('{') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('3') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_ARGUMENT - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - STRING_TEMPLATE - PsiElement(OPEN_QUOTE)('"') - PsiElement(CLOSING_QUOTE)('"') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - STRING_TEMPLATE - PsiElement(OPEN_QUOTE)('"') - PsiElement(CLOSING_QUOTE)('"') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_ARGUMENT - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('7') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiElement(LPAR)('(') - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_ARGUMENT - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - FLOAT_CONSTANT - PsiElement(FLOAT_CONSTANT)('1.011f') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - PsiElement(LPAR)('(') - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(RPAR)(')') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0x5F') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiElement(LPAR)('(') - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - PsiElement(LPAR)('(') - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(RPAR)(')') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0b1110') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('v') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('v') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_ARGUMENT - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('7') - PsiWhiteSpace(' ') - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('v') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - PsiElement(LPAR)('(') - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('v') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(RPAR)(')') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('0') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiElement(LPAR)('(') - USER_TYPE - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('v') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(RPAR)(')') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('v') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CHARACTER_CONSTANT - PsiElement(CHARACTER_LITERAL)(''y'') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiElement(LPAR)('(') - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('v') - PsiElement(RPAR)(')') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - PsiElement(LPAR)('(') - USER_TYPE - USER_TYPE - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('v') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(RPAR)(')') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - STRING_TEMPLATE - PsiElement(OPEN_QUOTE)('"""') - LITERAL_STRING_TEMPLATE_ENTRY - PsiElement(REGULAR_STRING_PART)('word') - PsiElement(CLOSING_QUOTE)('"""') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CLASS_LITERAL_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Array') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('String') - PsiElement(GT)('>') - PsiElement(COLONCOLON)('::') - PsiElement(class)('class') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CLASS_LITERAL_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Array') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('String') - PsiElement(GT)('>') - PsiElement(QUEST)('?') - PsiElement(COLONCOLON)('::') - PsiElement(class)('class') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(as)('as') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('List') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('String') - PsiElement(GT)('>') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(AS_SAFE)('as?') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('List') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('String') - PsiElement(GT)('>') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - IS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(is)('is') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('List') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('String') - PsiElement(GT)('>') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - IS_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(NOT_IS)('!is') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('List') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('String') - PsiElement(GT)('>') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(as)('as') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(GT)('>') - PsiWhiteSpace(' ') - BOOLEAN_CONSTANT - PsiElement(false)('false') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - BINARY_WITH_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(as)('as') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('y') - PsiElement(GT)('>') - PsiWhiteSpace(' ') - OPERATION_REFERENCE - PsiElement(EQEQ)('==') - PsiWhiteSpace(' ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('z') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n') - PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/compiler/testData/psi/typeArgumentList/recovery/callExpressions.kt b/compiler/testData/psi/typeArgumentList/recovery/callExpressions.kt deleted file mode 100644 index 377d68213b9..00000000000 --- a/compiler/testData/psi/typeArgumentList/recovery/callExpressions.kt +++ /dev/null @@ -1,24 +0,0 @@ -fun f() { - call - call() - call { } - call:: - call[] - call? - call?. - call. - call++ - call-- - call!! - - a(call()) - a(call { }) - a(call::) - a(call[]) - a(call?) - a(call?.) - a(call.) - a(call++) - a(call--) - a(call!!) -} \ No newline at end of file diff --git a/compiler/testData/psi/typeArgumentList/recovery/callExpressions.txt b/compiler/testData/psi/typeArgumentList/recovery/callExpressions.txt deleted file mode 100644 index a34fd0d41f3..00000000000 --- a/compiler/testData/psi/typeArgumentList/recovery/callExpressions.txt +++ /dev/null @@ -1,417 +0,0 @@ -KtFile: callExpressions.kt - PACKAGE_DIRECTIVE - - IMPORT_LIST - - FUN - PsiElement(fun)('fun') - PsiWhiteSpace(' ') - PsiElement(IDENTIFIER)('f') - VALUE_PARAMETER_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - BLOCK - PsiElement(LBRACE)('{') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_ARGUMENT - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - - PsiElement(RBRACE)('}') - PsiWhiteSpace('\n ') - ARRAY_ACCESS_EXPRESSION - CALLABLE_REFERENCE_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiElement(COLONCOLON)('::') - PsiWhiteSpace('\n ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - PsiErrorElement:Type arguments are not allowed - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - INDICES - PsiElement(LBRACKET)('[') - PsiErrorElement:Expecting an index element - - PsiElement(RBRACKET)(']') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiErrorElement:Unexpected tokens (use ';' to separate expressions on the same line) - PsiElement(QUEST)('?') - PsiWhiteSpace('\n ') - POSTFIX_EXPRESSION - DOT_QUALIFIED_EXPRESSION - SAFE_ACCESS_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiElement(SAFE_ACCESS)('?.') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiElement(DOT)('.') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(PLUSPLUS)('++') - PsiWhiteSpace('\n ') - POSTFIX_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(MINUSMINUS)('--') - PsiWhiteSpace('\n ') - POSTFIX_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(EXCLEXCL)('!!') - PsiWhiteSpace('\n\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_ARGUMENT - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALLABLE_REFERENCE_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiElement(COLONCOLON)('::') - REFERENCE_EXPRESSION - PsiErrorElement:Expecting an identifier - - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - ARRAY_ACCESS_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - INDICES - PsiElement(LBRACKET)('[') - PsiErrorElement:Expecting an index element - - PsiElement(RBRACKET)(']') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiErrorElement:Expecting ')' - PsiElement(QUEST)('?') - PsiErrorElement:Unexpected tokens (use ';' to separate expressions on the same line) - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - SAFE_ACCESS_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiElement(SAFE_ACCESS)('?.') - PsiErrorElement:Expecting an element - - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - DOT_QUALIFIED_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - POSTFIX_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(PLUSPLUS)('++') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - POSTFIX_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(MINUSMINUS)('--') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - POSTFIX_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(EXCLEXCL)('!!') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n') - PsiElement(RBRACE)('}') diff --git a/compiler/testData/psi/typeArgumentList/recovery/callExpressions_ERR.kt b/compiler/testData/psi/typeArgumentList/recovery/callExpressions_ERR.kt deleted file mode 100644 index 04ff987e7f1..00000000000 --- a/compiler/testData/psi/typeArgumentList/recovery/callExpressions_ERR.kt +++ /dev/null @@ -1,45 +0,0 @@ -fun f() { - call<> - call - call<>() - call() - call<> { } - call { } - call<>:: - call:: - call<>[] - call[] - call<>? - call? - call<>?. - call?. - call<>. - call. - call<>++ - call++ - call<>-- - call-- - call<>!! - call!! - - a(call<>()) - a(call()) - a(call<> { }) - a(call { }) - a(call<>::) - a(call::) - a(call<>[]) - a(call[]) - a(call<>?) - a(call?) - a(call<>?.) - a(call?.) - a(call<>.) - a(call.) - a(call<>++) - a(call++) - a(call<>--) - a(call--) - a(call<>!!) - a(call!!) -} \ No newline at end of file diff --git a/compiler/testData/psi/typeArgumentList/recovery/callExpressions_ERR.txt b/compiler/testData/psi/typeArgumentList/recovery/callExpressions_ERR.txt deleted file mode 100644 index 6adf1b763a9..00000000000 --- a/compiler/testData/psi/typeArgumentList/recovery/callExpressions_ERR.txt +++ /dev/null @@ -1,800 +0,0 @@ -KtFile: callExpressions_ERR.kt - PACKAGE_DIRECTIVE - - IMPORT_LIST - - FUN - PsiElement(fun)('fun') - PsiWhiteSpace(' ') - PsiElement(IDENTIFIER)('f') - VALUE_PARAMETER_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - BLOCK - PsiElement(LBRACE)('{') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiWhiteSpace('\n ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - CALL_EXPRESSION - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_ARGUMENT - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - - PsiElement(RBRACE)('}') - PsiWhiteSpace('\n ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - CALL_EXPRESSION - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_ARGUMENT - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - - PsiElement(RBRACE)('}') - PsiWhiteSpace('\n ') - BINARY_EXPRESSION - CALLABLE_REFERENCE_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiElement(COLONCOLON)('::') - PsiWhiteSpace('\n ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - ARRAY_ACCESS_EXPRESSION - CALLABLE_REFERENCE_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiElement(COLONCOLON)('::') - PsiWhiteSpace('\n ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - PsiErrorElement:Type arguments are not allowed - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - INDICES - PsiElement(LBRACKET)('[') - PsiErrorElement:Expecting an index element - - PsiElement(RBRACKET)(']') - PsiWhiteSpace('\n ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - ARRAY_ACCESS_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - INDICES - PsiElement(LBRACKET)('[') - PsiErrorElement:Expecting an index element - - PsiElement(RBRACKET)(']') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiErrorElement:Unexpected tokens (use ';' to separate expressions on the same line) - PsiElement(QUEST)('?') - PsiWhiteSpace('\n ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiErrorElement:Unexpected tokens (use ';' to separate expressions on the same line) - PsiElement(QUEST)('?') - PsiWhiteSpace('\n ') - BINARY_EXPRESSION - BINARY_EXPRESSION - SAFE_ACCESS_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiElement(SAFE_ACCESS)('?.') - PsiWhiteSpace('\n ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - DOT_QUALIFIED_EXPRESSION - SAFE_ACCESS_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiElement(SAFE_ACCESS)('?.') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiElement(DOT)('.') - PsiWhiteSpace('\n ') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - POSTFIX_EXPRESSION - DOT_QUALIFIED_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiElement(DOT)('.') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(PLUSPLUS)('++') - PsiWhiteSpace('\n ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - POSTFIX_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(PLUSPLUS)('++') - PsiWhiteSpace('\n ') - POSTFIX_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(MINUSMINUS)('--') - PsiWhiteSpace('\n ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - POSTFIX_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(MINUSMINUS)('--') - PsiWhiteSpace('\n ') - POSTFIX_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(EXCLEXCL)('!!') - PsiWhiteSpace('\n ') - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - POSTFIX_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(EXCLEXCL)('!!') - PsiWhiteSpace('\n\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - CALL_EXPRESSION - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_ARGUMENT - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - CALL_EXPRESSION - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiWhiteSpace(' ') - LAMBDA_ARGUMENT - LAMBDA_EXPRESSION - FUNCTION_LITERAL - PsiElement(LBRACE)('{') - PsiWhiteSpace(' ') - BLOCK - - PsiElement(RBRACE)('}') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALLABLE_REFERENCE_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiElement(COLONCOLON)('::') - REFERENCE_EXPRESSION - PsiErrorElement:Expecting an identifier - - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - CALLABLE_REFERENCE_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiElement(COLONCOLON)('::') - REFERENCE_EXPRESSION - PsiErrorElement:Expecting an identifier - - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - ARRAY_ACCESS_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - INDICES - PsiElement(LBRACKET)('[') - PsiErrorElement:Expecting an index element - - PsiElement(RBRACKET)(']') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - ARRAY_ACCESS_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - INDICES - PsiElement(LBRACKET)('[') - PsiErrorElement:Expecting an index element - - PsiElement(RBRACKET)(']') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiErrorElement:Expecting ')' - PsiElement(QUEST)('?') - PsiErrorElement:Unexpected tokens (use ';' to separate expressions on the same line) - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiErrorElement:Expecting ')' - PsiElement(QUEST)('?') - PsiErrorElement:Unexpected tokens (use ';' to separate expressions on the same line) - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - SAFE_ACCESS_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiElement(SAFE_ACCESS)('?.') - PsiErrorElement:Expecting an element - - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - SAFE_ACCESS_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiElement(SAFE_ACCESS)('?.') - PsiErrorElement:Expecting an element - - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - DOT_QUALIFIED_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - DOT_QUALIFIED_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - POSTFIX_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(PLUSPLUS)('++') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - POSTFIX_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(PLUSPLUS)('++') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - POSTFIX_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(MINUSMINUS)('--') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - POSTFIX_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(MINUSMINUS)('--') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - POSTFIX_EXPRESSION - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_PROJECTION - TYPE_REFERENCE - PsiErrorElement:Type expected - - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(EXCLEXCL)('!!') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n ') - CALL_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - BINARY_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('call') - OPERATION_REFERENCE - PsiElement(LT)('<') - POSTFIX_EXPRESSION - DOT_QUALIFIED_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(DOT)('.') - PsiErrorElement:Expecting an element - PsiElement(GT)('>') - OPERATION_REFERENCE - PsiElement(EXCLEXCL)('!!') - PsiElement(RPAR)(')') - PsiWhiteSpace('\n') - PsiElement(RBRACE)('}') diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index 2b47bf1aff4..57e2bea1c26 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -32293,28 +32293,6 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { } } - @Nested - @TestMetadata("compiler/testData/diagnostics/tests/typeArguments") - @TestDataPath("$PROJECT_ROOT") - public class TypeArguments { - @Test - public void testAllFilesPresentInTypeArguments() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/typeArguments"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); - } - - @Test - @TestMetadata("allowTypeArgumentListLikeExpressions.kt") - public void testAllowTypeArgumentListLikeExpressions() throws Exception { - runTest("compiler/testData/diagnostics/tests/typeArguments/allowTypeArgumentListLikeExpressions.kt"); - } - - @Test - @TestMetadata("forbidTypeArgumentListLikeExpressions.kt") - public void testForbidTypeArgumentListLikeExpressions() throws Exception { - runTest("compiler/testData/diagnostics/tests/typeArguments/forbidTypeArgumentListLikeExpressions.kt"); - } - } - @Nested @TestMetadata("compiler/testData/diagnostics/tests/typeParameters") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-gen/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java index 835334b9744..69faed2b17e 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java @@ -2908,70 +2908,6 @@ public class ParsingTestGenerated extends AbstractParsingTest { runTest("compiler/testData/psi/stringTemplates/StringTemplateWithTryWithoutBlockInShortEntry.kt"); } } - - @TestMetadata("compiler/testData/psi/typeArgumentList") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class TypeArgumentList extends AbstractParsingTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doParsingTest, this, testDataFilePath); - } - - public void testAllFilesPresentInTypeArgumentList() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/psi/typeArgumentList"), Pattern.compile("^(.*)\\.kts?$"), null, true); - } - - @TestMetadata("compiler/testData/psi/typeArgumentList/correctness") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Correctness extends AbstractParsingTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doParsingTest, this, testDataFilePath); - } - - public void testAllFilesPresentInCorrectness() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/psi/typeArgumentList/correctness"), Pattern.compile("^(.*)\\.kts?$"), null, true); - } - - @TestMetadata("binaryExpressionsInFunctionCall.kt") - public void testBinaryExpressionsInFunctionCall() throws Exception { - runTest("compiler/testData/psi/typeArgumentList/correctness/binaryExpressionsInFunctionCall.kt"); - } - - @TestMetadata("callExpressionsAnyLHSAtomicExpression.kt") - public void testCallExpressionsAnyLHSAtomicExpression() throws Exception { - runTest("compiler/testData/psi/typeArgumentList/correctness/callExpressionsAnyLHSAtomicExpression.kt"); - } - - @TestMetadata("callExpressionsInFunctionCall.kt") - public void testCallExpressionsInFunctionCall() throws Exception { - runTest("compiler/testData/psi/typeArgumentList/correctness/callExpressionsInFunctionCall.kt"); - } - } - - @TestMetadata("compiler/testData/psi/typeArgumentList/recovery") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Recovery extends AbstractParsingTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doParsingTest, this, testDataFilePath); - } - - public void testAllFilesPresentInRecovery() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/psi/typeArgumentList/recovery"), Pattern.compile("^(.*)\\.kts?$"), null, true); - } - - @TestMetadata("callExpressions.kt") - public void testCallExpressions() throws Exception { - runTest("compiler/testData/psi/typeArgumentList/recovery/callExpressions.kt"); - } - - @TestMetadata("callExpressions_ERR.kt") - public void testCallExpressions_ERR() throws Exception { - runTest("compiler/testData/psi/typeArgumentList/recovery/callExpressions_ERR.kt"); - } - } - } } @TestMetadata("compiler/testData/parseCodeFragment/expression") diff --git a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt index b5d1700fc20..34c6dff1688 100644 --- a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt +++ b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt @@ -265,7 +265,6 @@ enum class LanguageFeature( DataObjects(KOTLIN_1_8), // KT-4107 LightweightLambdas(KOTLIN_1_8, defaultState = State.DISABLED), AllowExpressionAfterTypeReferenceWithoutSpacing(KOTLIN_1_8, kind = BUG_FIX), // KT-35811 - AllowTypeArgumentListLikeExpressions(KOTLIN_1_8, kind = BUG_FIX), // KT-8263 // 1.9