From 73b4a81663b7fc1f75adaec370d6d6638a528c46 Mon Sep 17 00:00:00 2001 From: Nikolay Lunyak Date: Wed, 16 Aug 2023 11:00:26 +0300 Subject: [PATCH] [FIR] Forbid complex boolean expressions Disabling the language feature is supported, otherwise there are too many tests that would need to be updated to account for K2's inability to do it. The `ifConstVal.kt` test is deleted, because now it must also be ignored in K2, and since it is ignored for both the frontends, and the ignored backends include all the target backends, this test is basically unused. Note that now both the frontends report `CONST_VAL_WITH_NON_CONST_INITIALIZER`. for `condition`. ^KT-55196 Fixed --- ...CompilerTestFE10TestdataTestGenerated.java | 6 +++ ...sticCompilerFE10TestDataTestGenerated.java | 6 +++ ...eeOldFrontendDiagnosticsTestGenerated.java | 6 +++ ...siOldFrontendDiagnosticsTestGenerated.java | 6 +++ .../fir/analysis/checkers/FirConstChecks.kt | 32 +++++++++++-- ...LightTreeBlackBoxCodegenTestGenerated.java | 6 --- .../FirPsiBlackBoxCodegenTestGenerated.java | 6 --- .../intrinsicConst/ifConstVal.kt | 24 ---------- .../tests/modifiers/const/equals_after.fir.kt | 46 ------------------- .../tests/modifiers/const/equals_after.kt | 1 + .../modifiers/const/equals_before.fir.kt | 46 ------------------- .../tests/modifiers/const/equals_before.kt | 1 + .../modifiers/const/ifConstVal_after.fir.kt | 8 ++-- .../diagnostics/tests/nonConstNotCall.kt | 4 ++ .../test/runners/DiagnosticTestGenerated.java | 6 +++ .../IrBlackBoxCodegenTestGenerated.java | 6 --- ...kBoxCodegenWithIrInlinerTestGenerated.java | 6 --- .../LightAnalysisModeTestGenerated.java | 5 -- .../fir/FirJsCodegenBoxTestGenerated.java | 6 --- .../fir/FirJsES6CodegenBoxTestGenerated.java | 6 --- .../test/ir/IrJsCodegenBoxTestGenerated.java | 6 --- .../ir/IrJsES6CodegenBoxTestGenerated.java | 6 --- .../FirNativeCodegenBoxTestGenerated.java | 6 --- .../FirNativeCodegenBoxTestNoPLGenerated.java | 6 --- .../NativeCodegenBoxTestGenerated.java | 6 --- .../NativeCodegenBoxTestNoPLGenerated.java | 6 --- 26 files changed, 69 insertions(+), 200 deletions(-) delete mode 100644 compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt delete mode 100644 compiler/testData/diagnostics/tests/modifiers/const/equals_after.fir.kt delete mode 100644 compiler/testData/diagnostics/tests/modifiers/const/equals_before.fir.kt create mode 100644 compiler/testData/diagnostics/tests/nonConstNotCall.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java index 6c4fbae9698..0d3d0e82977 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java @@ -795,6 +795,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/noUnusedOnDelegationWithProvider.kt"); } + @Test + @TestMetadata("nonConstNotCall.kt") + public void testNonConstNotCall() throws Exception { + runTest("compiler/testData/diagnostics/tests/nonConstNotCall.kt"); + } + @Test @TestMetadata("Nullability.kt") public void testNullability() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java index 8876d3c6da6..dc27d701056 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java @@ -795,6 +795,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/noUnusedOnDelegationWithProvider.kt"); } + @Test + @TestMetadata("nonConstNotCall.kt") + public void testNonConstNotCall() throws Exception { + runTest("compiler/testData/diagnostics/tests/nonConstNotCall.kt"); + } + @Test @TestMetadata("Nullability.kt") public void testNullability() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java index 8199f7d4a73..3d8cbb19e3a 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java @@ -795,6 +795,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/noUnusedOnDelegationWithProvider.kt"); } + @Test + @TestMetadata("nonConstNotCall.kt") + public void testNonConstNotCall() throws Exception { + runTest("compiler/testData/diagnostics/tests/nonConstNotCall.kt"); + } + @Test @TestMetadata("Nullability.kt") public void testNullability() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java index 74a9b1981a4..6094d6124ec 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java @@ -795,6 +795,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/noUnusedOnDelegationWithProvider.kt"); } + @Test + @TestMetadata("nonConstNotCall.kt") + public void testNonConstNotCall() throws Exception { + runTest("compiler/testData/diagnostics/tests/nonConstNotCall.kt"); + } + @Test @TestMetadata("Nullability.kt") public void testNullability() throws Exception { diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConstChecks.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConstChecks.kt index e7f925d957f..1d6cde5b57d 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConstChecks.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConstChecks.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.analysis.checkers import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.Modality -import org.jetbrains.kotlin.fir.* +import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.hasAnnotation import org.jetbrains.kotlin.fir.declarations.utils.isConst @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.fir.declarations.utils.isStatic import org.jetbrains.kotlin.fir.declarations.utils.modality import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression +import org.jetbrains.kotlin.fir.languageVersionSettings import org.jetbrains.kotlin.fir.references.FirErrorNamedReference import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol @@ -24,6 +25,7 @@ import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.* +import org.jetbrains.kotlin.fir.unwrapFakeOverrides import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.util.OperatorNameConventions @@ -76,7 +78,7 @@ internal fun checkConstantArguments( } expression is FirStringConcatenationCall || expression is FirEqualityOperatorCall -> { for (exp in (expression as FirCall).arguments) { - if (exp is FirResolvedQualifier) { + if (exp is FirResolvedQualifier || expression.isForbiddenComplexConstant(session)) { return ConstantArgumentKind.NOT_CONST } checkConstantArguments(exp, session)?.let { return it } @@ -132,7 +134,7 @@ internal fun checkConstantArguments( if (calleeReference !is FirResolvedNamedReference) return ConstantArgumentKind.NOT_CONST val symbol = calleeReference.resolvedSymbol as? FirNamedFunctionSymbol ?: return ConstantArgumentKind.NOT_CONST - if (!symbol.canBeEvaluated() && !expression.isCompileTimeBuiltinCall()) { + if (!symbol.canBeEvaluated() && !expression.isCompileTimeBuiltinCall() || expression.isForbiddenComplexConstant(session)) { return ConstantArgumentKind.NOT_CONST } @@ -184,6 +186,30 @@ internal fun checkConstantArguments( return null } +private fun FirExpression.isForbiddenComplexConstant(session: FirSession): Boolean { + val forbidComplexBooleanExpressions = session.languageVersionSettings.supportsFeature( + LanguageFeature.ProhibitSimplificationOfNonTrivialConstBooleanExpressions + ) + return isComplexBooleanConstant && forbidComplexBooleanExpressions +} + +private val FirExpression.isComplexBooleanConstant + get(): Boolean = when { + !typeRef.coneType.isBoolean -> false + this is FirConstExpression<*> -> false + usesVariableAsConstant -> false + else -> true + } + +/** + * See: org.jetbranis.kotlin.resolve.constants.CompileTimeConstant.Parameters.usesVariableAsConstant + */ +@Suppress("RecursivePropertyAccessor") +private val FirExpression.usesVariableAsConstant: Boolean + get() = this is FirPropertyAccessExpression && toResolvedCallableSymbol()?.isConst == true + || this is FirQualifiedAccessExpression && explicitReceiver?.usesVariableAsConstant != false + || this is FirCall && this.arguments.any { it.usesVariableAsConstant } + private val compileTimeFunctions = setOf( *OperatorNameConventions.BINARY_OPERATION_NAMES.toTypedArray(), *OperatorNameConventions.UNARY_OPERATION_NAMES.toTypedArray(), OperatorNameConventions.SHL, OperatorNameConventions.SHR, OperatorNameConventions.USHR, diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java index 3d59035108e..25b33726c29 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java @@ -28904,12 +28904,6 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java index 6b10d0168af..7f7695519a1 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java @@ -28904,12 +28904,6 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt b/compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt deleted file mode 100644 index 0ba3ce769ef..00000000000 --- a/compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt +++ /dev/null @@ -1,24 +0,0 @@ -// !LANGUAGE: +IntrinsicConstEvaluation -// TARGET_BACKEND: JVM_IR -// TARGET_BACKEND: JS_IR -// TARGET_BACKEND: NATIVE -// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE -fun T.id() = this - -const val flag = true -const val value = 10 -const val condition = if (flag) "True" else "Error" -const val withWhen = when (flag) { true -> "True"; else -> "Error" } -const val withWhen2 = when { flag == true -> "True"; else -> "Error" } -const val withWhen3 = when(value) { 10 -> "1"; 100 -> "2"; else -> "3" } -const val multibranchIf = if (value == 100) 1 else if (value == 1000) 2 else 3 - -// STOP_EVALUATION_CHECKS -fun box(): String { - if (condition.id() != "True") return "Fail 1" - if (withWhen.id() != "True") return "Fail 2" - if (withWhen2.id() != "True") return "Fail 3" - if (withWhen3.id() != "1") return "Fail 4" - if (multibranchIf.id() != 3) return "Fail 5" - return "OK" -} diff --git a/compiler/testData/diagnostics/tests/modifiers/const/equals_after.fir.kt b/compiler/testData/diagnostics/tests/modifiers/const/equals_after.fir.kt deleted file mode 100644 index cd60c7ac823..00000000000 --- a/compiler/testData/diagnostics/tests/modifiers/const/equals_after.fir.kt +++ /dev/null @@ -1,46 +0,0 @@ -// !LANGUAGE: +IntrinsicConstEvaluation - -const val equalsBoolean1 = true.equals(true) -const val equalsBoolean2 = false != true -const val equalsBoolean3 = false.equals(1) -const val equalsBoolean4 = false == 1 - -const val equalsChar1 = '1'.equals('2') -const val equalsChar2 = '2' == '2' -const val equalsChar3 = '1'.equals(1) -const val equalsChar4 = '1' == 1 - -const val equalsByte1 = 1.toByte().equals(2.toByte()) -const val equalsByte2 = 2.toByte() == 2.toByte() -const val equalsByte3 = 1.toByte().equals("1") -const val equalsByte4 = 1.toByte() == "1" - -const val equalsShort1 = 1.toShort().equals(2.toShort()) -const val equalsShort2 = 2.toShort() == 2.toShort() -const val equalsShort3 = 1.toShort().equals("1") -const val equalsShort4 = 1.toShort() == "1" - -const val equalsInt1 = 1.equals(2) -const val equalsInt2 = 2 == 2 -const val equalsInt3 = 1.equals("1") -const val equalsInt4 = 1 == "1" - -const val equalsLong1 = 1L.equals(2L) -const val equalsLong2 = 2L == 2L -const val equalsLong3 = 1L.equals("1") -const val equalsLong4 = 1L == "1" - -const val equalsFloat1 = 1.0f.equals(2.0f) -const val equalsFloat2 = 2.0f == 2.0f -const val equalsFloat3 = 1.0f.equals("1") -const val equalsFloat4 = 1.0f == "1" - -const val equalsDoable1 = 1.0.equals(2.0) -const val equalsDoable2 = 2.0 == 2.0 -const val equalsDoable3 = 1.0.equals("1") -const val equalsDoable4 = 1.0 == "1" - -const val equalsString1 = "someStr".equals("123") -const val equalsString2 = "someStr" == "otherStr" -const val equalsString3 = "someStr".equals(1) -const val equalsString4 = "someStr" == 1 diff --git a/compiler/testData/diagnostics/tests/modifiers/const/equals_after.kt b/compiler/testData/diagnostics/tests/modifiers/const/equals_after.kt index 45a6371cc49..b0a3c0167cf 100644 --- a/compiler/testData/diagnostics/tests/modifiers/const/equals_after.kt +++ b/compiler/testData/diagnostics/tests/modifiers/const/equals_after.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL // !LANGUAGE: +IntrinsicConstEvaluation const val equalsBoolean1 = true.equals(true) diff --git a/compiler/testData/diagnostics/tests/modifiers/const/equals_before.fir.kt b/compiler/testData/diagnostics/tests/modifiers/const/equals_before.fir.kt deleted file mode 100644 index b4da50686ba..00000000000 --- a/compiler/testData/diagnostics/tests/modifiers/const/equals_before.fir.kt +++ /dev/null @@ -1,46 +0,0 @@ -// !LANGUAGE: -IntrinsicConstEvaluation - -const val equalsBoolean1 = true.equals(true) -const val equalsBoolean2 = false != true -const val equalsBoolean3 = false.equals(1) -const val equalsBoolean4 = false == 1 - -const val equalsChar1 = '1'.equals('2') -const val equalsChar2 = '2' == '2' -const val equalsChar3 = '1'.equals(1) -const val equalsChar4 = '1' == 1 - -const val equalsByte1 = 1.toByte().equals(2.toByte()) -const val equalsByte2 = 2.toByte() == 2.toByte() -const val equalsByte3 = 1.toByte().equals("1") -const val equalsByte4 = 1.toByte() == "1" - -const val equalsShort1 = 1.toShort().equals(2.toShort()) -const val equalsShort2 = 2.toShort() == 2.toShort() -const val equalsShort3 = 1.toShort().equals("1") -const val equalsShort4 = 1.toShort() == "1" - -const val equalsInt1 = 1.equals(2) -const val equalsInt2 = 2 == 2 -const val equalsInt3 = 1.equals("1") -const val equalsInt4 = 1 == "1" - -const val equalsLong1 = 1L.equals(2L) -const val equalsLong2 = 2L == 2L -const val equalsLong3 = 1L.equals("1") -const val equalsLong4 = 1L == "1" - -const val equalsFloat1 = 1.0f.equals(2.0f) -const val equalsFloat2 = 2.0f == 2.0f -const val equalsFloat3 = 1.0f.equals("1") -const val equalsFloat4 = 1.0f == "1" - -const val equalsDoable1 = 1.0.equals(2.0) -const val equalsDoable2 = 2.0 == 2.0 -const val equalsDoable3 = 1.0.equals("1") -const val equalsDoable4 = 1.0 == "1" - -const val equalsString1 = "someStr".equals("123") -const val equalsString2 = "someStr" == "otherStr" -const val equalsString3 = "someStr".equals(1) -const val equalsString4 = "someStr" == 1 diff --git a/compiler/testData/diagnostics/tests/modifiers/const/equals_before.kt b/compiler/testData/diagnostics/tests/modifiers/const/equals_before.kt index 00bfdc2f401..15ae47b00aa 100644 --- a/compiler/testData/diagnostics/tests/modifiers/const/equals_before.kt +++ b/compiler/testData/diagnostics/tests/modifiers/const/equals_before.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL // !LANGUAGE: -IntrinsicConstEvaluation const val equalsBoolean1 = true.equals(true) diff --git a/compiler/testData/diagnostics/tests/modifiers/const/ifConstVal_after.fir.kt b/compiler/testData/diagnostics/tests/modifiers/const/ifConstVal_after.fir.kt index af6049a21a9..b58c69dd3e5 100644 --- a/compiler/testData/diagnostics/tests/modifiers/const/ifConstVal_after.fir.kt +++ b/compiler/testData/diagnostics/tests/modifiers/const/ifConstVal_after.fir.kt @@ -4,19 +4,19 @@ const val flag = true const val value = 10 const val condition = if (flag) "True" else "Error" -const val withWhen = when (flag) { +const val withWhen = when (flag) { true -> "True" else -> "Error" -} +} const val withWhen2 = when { flag == true -> "True" else -> "Error" } -const val withWhen3 = when(value) { +const val withWhen3 = when(value) { 10 -> "1" 100 -> "2" else -> "3" -} +} const val multibranchIf = if (value == 100) 1 else if (value == 1000) 2 else 3 val nonConstFlag = true diff --git a/compiler/testData/diagnostics/tests/nonConstNotCall.kt b/compiler/testData/diagnostics/tests/nonConstNotCall.kt new file mode 100644 index 00000000000..f3ef5cdffcb --- /dev/null +++ b/compiler/testData/diagnostics/tests/nonConstNotCall.kt @@ -0,0 +1,4 @@ +// FIR_IDENTICAL +// ISSUE: KT-55196 + +const val bb: Boolean = !false // Red in K1, green in K2 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 7032434e62f..1076bfb2aa6 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 @@ -795,6 +795,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/noUnusedOnDelegationWithProvider.kt"); } + @Test + @TestMetadata("nonConstNotCall.kt") + public void testNonConstNotCall() throws Exception { + runTest("compiler/testData/diagnostics/tests/nonConstNotCall.kt"); + } + @Test @TestMetadata("Nullability.kt") public void testNullability() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index 4a8bdd66a4d..a344f561ba7 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -28904,12 +28904,6 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java index 5ee6e1b1415..008e9048769 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java @@ -28904,12 +28904,6 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 2a24cbf5716..d84b4f0872c 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -24383,11 +24383,6 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/enumName.kt"); } - @TestMetadata("ifConstVal.kt") - public void ignoreIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @TestMetadata("kCallableName.kt") public void ignoreKCallableName() throws Exception { runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/kCallableName.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java index 1aecbd18f3d..aa4bd2a207f 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java @@ -21410,12 +21410,6 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest { runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java index a40d62e9f9e..2283a030ed7 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java @@ -21410,12 +21410,6 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java index b60f862edf0..f5e7937a46a 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java @@ -21410,12 +21410,6 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java index ed330e2f4bb..fe0aa54ba41 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java @@ -21410,12 +21410,6 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java index a4316ba8b23..0d153ce867e 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java @@ -24235,12 +24235,6 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java index edd551a0b65..c8e0e239dd8 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java @@ -24711,12 +24711,6 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java index 4dc673f5602..73ac5c77b3e 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java @@ -23998,12 +23998,6 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java index de1444f63cb..31e04fd8eb9 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java @@ -24236,12 +24236,6 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/equals_after.kt"); } - @Test - @TestMetadata("ifConstVal.kt") - public void testIfConstVal() throws Exception { - runTest("compiler/testData/codegen/box/involvesIrInterpreter/intrinsicConst/ifConstVal.kt"); - } - @Test @TestMetadata("kCallableName.kt") public void testKCallableName() throws Exception {