diff --git a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/ExtendedFirDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/ExtendedFirDiagnosticsTestGenerated.java deleted file mode 100644 index d1d2c85606e..00000000000 --- a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/ExtendedFirDiagnosticsTestGenerated.java +++ /dev/null @@ -1,431 +0,0 @@ -/* - * Copyright 2010-2020 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.fir; - -import com.intellij.testFramework.TestDataPath; -import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; -import org.jetbrains.kotlin.test.KotlinTestUtils; -import org.jetbrains.kotlin.test.util.KtTestUtil; -import org.jetbrains.kotlin.test.TestMetadata; -import org.junit.runner.RunWith; - -import java.io.File; -import java.util.regex.Pattern; - -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ -@SuppressWarnings("all") -@TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class ExtendedFirDiagnosticsTestGenerated extends AbstractExtendedFirDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInExtendedCheckers() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("ArrayEqualityCanBeReplacedWithEquals.kt") - public void testArrayEqualityCanBeReplacedWithEquals() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt"); - } - - @TestMetadata("CanBeValChecker.kt") - public void testCanBeValChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/CanBeValChecker.kt"); - } - - @TestMetadata("RedundantExplicitTypeChecker.kt") - public void testRedundantExplicitTypeChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantExplicitTypeChecker.kt"); - } - - @TestMetadata("RedundantModalityModifierChecker.kt") - public void testRedundantModalityModifierChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantModalityModifierChecker.kt"); - } - - @TestMetadata("RedundantReturnUnitTypeChecker.kt") - public void testRedundantReturnUnitTypeChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantReturnUnitTypeChecker.kt"); - } - - @TestMetadata("RedundantSetterParameterTypeChecker.kt") - public void testRedundantSetterParameterTypeChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSetterParameterTypeChecker.kt"); - } - - @TestMetadata("RedundantSingleExpressionStringTemplateChecker.kt") - public void testRedundantSingleExpressionStringTemplateChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.kt"); - } - - @TestMetadata("RedundantVisibilityModifierChecker.kt") - public void testRedundantVisibilityModifierChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantVisibilityModifierChecker.kt"); - } - - @TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class CanBeReplacedWithOperatorAssignment extends AbstractExtendedFirDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInCanBeReplacedWithOperatorAssignment() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("BasicTest.kt") - public void testBasicTest() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt"); - } - - @TestMetadata("ComplexExpression.kt") - public void testComplexExpression() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.kt"); - } - - @TestMetadata("flexibleTypeBug.kt") - public void testFlexibleTypeBug() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.kt"); - } - - @TestMetadata("illegalMultipleOperators.kt") - public void testIllegalMultipleOperators() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.kt"); - } - - @TestMetadata("illegalMultipleOperatorsMiddle.kt") - public void testIllegalMultipleOperatorsMiddle() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.kt"); - } - - @TestMetadata("invalidSubtraction.kt") - public void testInvalidSubtraction() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.kt"); - } - - @TestMetadata("list.kt") - public void testList() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/list.kt"); - } - - @TestMetadata("logicOperators.kt") - public void testLogicOperators() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.kt"); - } - - @TestMetadata("multipleOperators.kt") - public void testMultipleOperators() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt"); - } - - @TestMetadata("multipleOperatorsRightSideRepeat.kt") - public void testMultipleOperatorsRightSideRepeat() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt"); - } - - @TestMetadata("mutableList.kt") - public void testMutableList() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.kt"); - } - - @TestMetadata("nonCommutativeRepeat.kt") - public void testNonCommutativeRepeat() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt"); - } - - @TestMetadata("nonRepeatingAssignment.kt") - public void testNonRepeatingAssignment() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt"); - } - - @TestMetadata("OperatorAssignment.kt") - public void testOperatorAssignment() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.kt"); - } - - @TestMetadata("plusAssignConflict.kt") - public void testPlusAssignConflict() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.kt"); - } - - @TestMetadata("rightSideRepeat.kt") - public void testRightSideRepeat() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt"); - } - - @TestMetadata("simpleAssign.kt") - public void testSimpleAssign() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt"); - } - - @TestMetadata("validAddition.kt") - public void testValidAddition() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt"); - } - - @TestMetadata("validSubtraction.kt") - public void testValidSubtraction() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt"); - } - } - - @TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class EmptyRangeChecker extends AbstractExtendedFirDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInEmptyRangeChecker() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("NoWarning.kt") - public void testNoWarning() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/NoWarning.kt"); - } - - @TestMetadata("Warning.kt") - public void testWarning() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/Warning.kt"); - } - } - - @TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class RedundantCallOfConversionMethod extends AbstractExtendedFirDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInRedundantCallOfConversionMethod() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("booleanToInt.kt") - public void testBooleanToInt() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.kt"); - } - - @TestMetadata("byte.kt") - public void testByte() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/byte.kt"); - } - - @TestMetadata("char.kt") - public void testChar() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/char.kt"); - } - - @TestMetadata("double.kt") - public void testDouble() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/double.kt"); - } - - @TestMetadata("float.kt") - public void testFloat() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/float.kt"); - } - - @TestMetadata("int.kt") - public void testInt() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/int.kt"); - } - - @TestMetadata("long.kt") - public void testLong() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/long.kt"); - } - - @TestMetadata("nullable.kt") - public void testNullable() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt"); - } - - @TestMetadata("nullable2.kt") - public void testNullable2() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt"); - } - - @TestMetadata("safeString.kt") - public void testSafeString() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString.kt"); - } - - @TestMetadata("safeString2.kt") - public void testSafeString2() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt"); - } - - @TestMetadata("short.kt") - public void testShort() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/short.kt"); - } - - @TestMetadata("string.kt") - public void testString() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/string.kt"); - } - - @TestMetadata("StringTemplate.kt") - public void testStringTemplate() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.kt"); - } - - @TestMetadata("toOtherType.kt") - public void testToOtherType() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.kt"); - } - - @TestMetadata("uByte.kt") - public void testUByte() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt"); - } - - @TestMetadata("uInt.kt") - public void testUInt() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt"); - } - - @TestMetadata("uLong.kt") - public void testULong() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt"); - } - - @TestMetadata("uShort.kt") - public void testUShort() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt"); - } - - @TestMetadata("variable.kt") - public void testVariable() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/variable.kt"); - } - } - - @TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers/unused") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Unused extends AbstractExtendedFirDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInUnused() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers/unused"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("classProperty.kt") - public void testClassProperty() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/classProperty.kt"); - } - - @TestMetadata("invoke.kt") - public void testInvoke() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/invoke.kt"); - } - - @TestMetadata("lambda.kt") - public void testLambda() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/lambda.kt"); - } - - @TestMetadata("localVariable.kt") - public void testLocalVariable() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/localVariable.kt"); - } - - @TestMetadata("manyLocalVariables.kt") - public void testManyLocalVariables() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/manyLocalVariables.kt"); - } - - @TestMetadata("usedInAnnotationArguments.kt") - public void testUsedInAnnotationArguments() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/usedInAnnotationArguments.kt"); - } - - @TestMetadata("valueIsNeverRead.kt") - public void testValueIsNeverRead() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/valueIsNeverRead.kt"); - } - } - - @TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class UselessCallOnNotNullChecker extends AbstractExtendedFirDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInUselessCallOnNotNullChecker() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("Basic.kt") - public void testBasic() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Basic.kt"); - } - - @TestMetadata("NotNullType.kt") - public void testNotNullType() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.kt"); - } - - @TestMetadata("NotNullTypeChain.kt") - public void testNotNullTypeChain() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.kt"); - } - - @TestMetadata("NullOrBlankSafe.kt") - public void testNullOrBlankSafe() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.kt"); - } - - @TestMetadata("NullOrEmpty.kt") - public void testNullOrEmpty() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.kt"); - } - - @TestMetadata("NullOrEmptyFake.kt") - public void testNullOrEmptyFake() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.kt"); - } - - @TestMetadata("NullOrEmptySafe.kt") - public void testNullOrEmptySafe() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.kt"); - } - - @TestMetadata("OrEmptyFake.kt") - public void testOrEmptyFake() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.kt"); - } - - @TestMetadata("SafeCall.kt") - public void testSafeCall() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.kt"); - } - - @TestMetadata("Sequence.kt") - public void testSequence() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt"); - } - - @TestMetadata("String.kt") - public void testString() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/String.kt"); - } - } -} diff --git a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/ExtendedFirWithLightTreeDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/ExtendedFirWithLightTreeDiagnosticsTestGenerated.java deleted file mode 100644 index 09565f356d5..00000000000 --- a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/ExtendedFirWithLightTreeDiagnosticsTestGenerated.java +++ /dev/null @@ -1,431 +0,0 @@ -/* - * Copyright 2010-2020 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.fir; - -import com.intellij.testFramework.TestDataPath; -import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; -import org.jetbrains.kotlin.test.KotlinTestUtils; -import org.jetbrains.kotlin.test.util.KtTestUtil; -import org.jetbrains.kotlin.test.TestMetadata; -import org.junit.runner.RunWith; - -import java.io.File; -import java.util.regex.Pattern; - -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ -@SuppressWarnings("all") -@TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class ExtendedFirWithLightTreeDiagnosticsTestGenerated extends AbstractExtendedFirWithLightTreeDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInExtendedCheckers() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("ArrayEqualityCanBeReplacedWithEquals.kt") - public void testArrayEqualityCanBeReplacedWithEquals() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt"); - } - - @TestMetadata("CanBeValChecker.kt") - public void testCanBeValChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/CanBeValChecker.kt"); - } - - @TestMetadata("RedundantExplicitTypeChecker.kt") - public void testRedundantExplicitTypeChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantExplicitTypeChecker.kt"); - } - - @TestMetadata("RedundantModalityModifierChecker.kt") - public void testRedundantModalityModifierChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantModalityModifierChecker.kt"); - } - - @TestMetadata("RedundantReturnUnitTypeChecker.kt") - public void testRedundantReturnUnitTypeChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantReturnUnitTypeChecker.kt"); - } - - @TestMetadata("RedundantSetterParameterTypeChecker.kt") - public void testRedundantSetterParameterTypeChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSetterParameterTypeChecker.kt"); - } - - @TestMetadata("RedundantSingleExpressionStringTemplateChecker.kt") - public void testRedundantSingleExpressionStringTemplateChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.kt"); - } - - @TestMetadata("RedundantVisibilityModifierChecker.kt") - public void testRedundantVisibilityModifierChecker() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantVisibilityModifierChecker.kt"); - } - - @TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class CanBeReplacedWithOperatorAssignment extends AbstractExtendedFirWithLightTreeDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInCanBeReplacedWithOperatorAssignment() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("BasicTest.kt") - public void testBasicTest() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt"); - } - - @TestMetadata("ComplexExpression.kt") - public void testComplexExpression() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.kt"); - } - - @TestMetadata("flexibleTypeBug.kt") - public void testFlexibleTypeBug() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.kt"); - } - - @TestMetadata("illegalMultipleOperators.kt") - public void testIllegalMultipleOperators() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.kt"); - } - - @TestMetadata("illegalMultipleOperatorsMiddle.kt") - public void testIllegalMultipleOperatorsMiddle() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.kt"); - } - - @TestMetadata("invalidSubtraction.kt") - public void testInvalidSubtraction() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.kt"); - } - - @TestMetadata("list.kt") - public void testList() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/list.kt"); - } - - @TestMetadata("logicOperators.kt") - public void testLogicOperators() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.kt"); - } - - @TestMetadata("multipleOperators.kt") - public void testMultipleOperators() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt"); - } - - @TestMetadata("multipleOperatorsRightSideRepeat.kt") - public void testMultipleOperatorsRightSideRepeat() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt"); - } - - @TestMetadata("mutableList.kt") - public void testMutableList() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.kt"); - } - - @TestMetadata("nonCommutativeRepeat.kt") - public void testNonCommutativeRepeat() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt"); - } - - @TestMetadata("nonRepeatingAssignment.kt") - public void testNonRepeatingAssignment() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt"); - } - - @TestMetadata("OperatorAssignment.kt") - public void testOperatorAssignment() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.kt"); - } - - @TestMetadata("plusAssignConflict.kt") - public void testPlusAssignConflict() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.kt"); - } - - @TestMetadata("rightSideRepeat.kt") - public void testRightSideRepeat() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt"); - } - - @TestMetadata("simpleAssign.kt") - public void testSimpleAssign() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt"); - } - - @TestMetadata("validAddition.kt") - public void testValidAddition() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt"); - } - - @TestMetadata("validSubtraction.kt") - public void testValidSubtraction() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt"); - } - } - - @TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class EmptyRangeChecker extends AbstractExtendedFirWithLightTreeDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInEmptyRangeChecker() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("NoWarning.kt") - public void testNoWarning() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/NoWarning.kt"); - } - - @TestMetadata("Warning.kt") - public void testWarning() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/Warning.kt"); - } - } - - @TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class RedundantCallOfConversionMethod extends AbstractExtendedFirWithLightTreeDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInRedundantCallOfConversionMethod() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("booleanToInt.kt") - public void testBooleanToInt() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.kt"); - } - - @TestMetadata("byte.kt") - public void testByte() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/byte.kt"); - } - - @TestMetadata("char.kt") - public void testChar() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/char.kt"); - } - - @TestMetadata("double.kt") - public void testDouble() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/double.kt"); - } - - @TestMetadata("float.kt") - public void testFloat() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/float.kt"); - } - - @TestMetadata("int.kt") - public void testInt() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/int.kt"); - } - - @TestMetadata("long.kt") - public void testLong() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/long.kt"); - } - - @TestMetadata("nullable.kt") - public void testNullable() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt"); - } - - @TestMetadata("nullable2.kt") - public void testNullable2() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt"); - } - - @TestMetadata("safeString.kt") - public void testSafeString() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString.kt"); - } - - @TestMetadata("safeString2.kt") - public void testSafeString2() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt"); - } - - @TestMetadata("short.kt") - public void testShort() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/short.kt"); - } - - @TestMetadata("string.kt") - public void testString() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/string.kt"); - } - - @TestMetadata("StringTemplate.kt") - public void testStringTemplate() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.kt"); - } - - @TestMetadata("toOtherType.kt") - public void testToOtherType() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.kt"); - } - - @TestMetadata("uByte.kt") - public void testUByte() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt"); - } - - @TestMetadata("uInt.kt") - public void testUInt() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt"); - } - - @TestMetadata("uLong.kt") - public void testULong() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt"); - } - - @TestMetadata("uShort.kt") - public void testUShort() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt"); - } - - @TestMetadata("variable.kt") - public void testVariable() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/variable.kt"); - } - } - - @TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers/unused") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Unused extends AbstractExtendedFirWithLightTreeDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInUnused() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers/unused"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("classProperty.kt") - public void testClassProperty() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/classProperty.kt"); - } - - @TestMetadata("invoke.kt") - public void testInvoke() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/invoke.kt"); - } - - @TestMetadata("lambda.kt") - public void testLambda() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/lambda.kt"); - } - - @TestMetadata("localVariable.kt") - public void testLocalVariable() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/localVariable.kt"); - } - - @TestMetadata("manyLocalVariables.kt") - public void testManyLocalVariables() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/manyLocalVariables.kt"); - } - - @TestMetadata("usedInAnnotationArguments.kt") - public void testUsedInAnnotationArguments() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/usedInAnnotationArguments.kt"); - } - - @TestMetadata("valueIsNeverRead.kt") - public void testValueIsNeverRead() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/unused/valueIsNeverRead.kt"); - } - } - - @TestMetadata("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class UselessCallOnNotNullChecker extends AbstractExtendedFirWithLightTreeDiagnosticsTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInUselessCallOnNotNullChecker() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker"), Pattern.compile("^([^.]+)\\.kt$"), null, true); - } - - @TestMetadata("Basic.kt") - public void testBasic() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Basic.kt"); - } - - @TestMetadata("NotNullType.kt") - public void testNotNullType() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.kt"); - } - - @TestMetadata("NotNullTypeChain.kt") - public void testNotNullTypeChain() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.kt"); - } - - @TestMetadata("NullOrBlankSafe.kt") - public void testNullOrBlankSafe() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.kt"); - } - - @TestMetadata("NullOrEmpty.kt") - public void testNullOrEmpty() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.kt"); - } - - @TestMetadata("NullOrEmptyFake.kt") - public void testNullOrEmptyFake() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.kt"); - } - - @TestMetadata("NullOrEmptySafe.kt") - public void testNullOrEmptySafe() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.kt"); - } - - @TestMetadata("OrEmptyFake.kt") - public void testOrEmptyFake() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.kt"); - } - - @TestMetadata("SafeCall.kt") - public void testSafeCall() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.kt"); - } - - @TestMetadata("Sequence.kt") - public void testSequence() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt"); - } - - @TestMetadata("String.kt") - public void testString() throws Exception { - runTest("compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/String.kt"); - } - } -} diff --git a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java b/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java index c2daeaee160..aecd9bc650b 100644 --- a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java +++ b/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java @@ -1685,6 +1685,419 @@ public class LazyBodyIsNotTouchedTilContractsPhaseTestGenerated extends Abstract } } + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ExtendedCheckers extends AbstractLazyBodyIsNotTouchedTilContractsPhaseTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInExtendedCheckers() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @TestMetadata("ArrayEqualityCanBeReplacedWithEquals.kt") + public void testArrayEqualityCanBeReplacedWithEquals() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt"); + } + + @TestMetadata("CanBeValChecker.kt") + public void testCanBeValChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/CanBeValChecker.kt"); + } + + @TestMetadata("RedundantExplicitTypeChecker.kt") + public void testRedundantExplicitTypeChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantExplicitTypeChecker.kt"); + } + + @TestMetadata("RedundantModalityModifierChecker.kt") + public void testRedundantModalityModifierChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantModalityModifierChecker.kt"); + } + + @TestMetadata("RedundantReturnUnitTypeChecker.kt") + public void testRedundantReturnUnitTypeChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantReturnUnitTypeChecker.kt"); + } + + @TestMetadata("RedundantSetterParameterTypeChecker.kt") + public void testRedundantSetterParameterTypeChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSetterParameterTypeChecker.kt"); + } + + @TestMetadata("RedundantSingleExpressionStringTemplateChecker.kt") + public void testRedundantSingleExpressionStringTemplateChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.kt"); + } + + @TestMetadata("RedundantVisibilityModifierChecker.kt") + public void testRedundantVisibilityModifierChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantVisibilityModifierChecker.kt"); + } + + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class CanBeReplacedWithOperatorAssignment extends AbstractLazyBodyIsNotTouchedTilContractsPhaseTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInCanBeReplacedWithOperatorAssignment() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @TestMetadata("BasicTest.kt") + public void testBasicTest() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt"); + } + + @TestMetadata("ComplexExpression.kt") + public void testComplexExpression() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.kt"); + } + + @TestMetadata("flexibleTypeBug.kt") + public void testFlexibleTypeBug() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.kt"); + } + + @TestMetadata("illegalMultipleOperators.kt") + public void testIllegalMultipleOperators() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.kt"); + } + + @TestMetadata("illegalMultipleOperatorsMiddle.kt") + public void testIllegalMultipleOperatorsMiddle() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.kt"); + } + + @TestMetadata("invalidSubtraction.kt") + public void testInvalidSubtraction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.kt"); + } + + @TestMetadata("list.kt") + public void testList() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/list.kt"); + } + + @TestMetadata("logicOperators.kt") + public void testLogicOperators() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.kt"); + } + + @TestMetadata("multipleOperators.kt") + public void testMultipleOperators() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt"); + } + + @TestMetadata("multipleOperatorsRightSideRepeat.kt") + public void testMultipleOperatorsRightSideRepeat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt"); + } + + @TestMetadata("mutableList.kt") + public void testMutableList() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.kt"); + } + + @TestMetadata("nonCommutativeRepeat.kt") + public void testNonCommutativeRepeat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt"); + } + + @TestMetadata("nonRepeatingAssignment.kt") + public void testNonRepeatingAssignment() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt"); + } + + @TestMetadata("OperatorAssignment.kt") + public void testOperatorAssignment() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.kt"); + } + + @TestMetadata("plusAssignConflict.kt") + public void testPlusAssignConflict() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.kt"); + } + + @TestMetadata("rightSideRepeat.kt") + public void testRightSideRepeat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt"); + } + + @TestMetadata("simpleAssign.kt") + public void testSimpleAssign() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt"); + } + + @TestMetadata("validAddition.kt") + public void testValidAddition() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt"); + } + + @TestMetadata("validSubtraction.kt") + public void testValidSubtraction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt"); + } + } + + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class EmptyRangeChecker extends AbstractLazyBodyIsNotTouchedTilContractsPhaseTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInEmptyRangeChecker() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @TestMetadata("NoWarning.kt") + public void testNoWarning() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/NoWarning.kt"); + } + + @TestMetadata("Warning.kt") + public void testWarning() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/Warning.kt"); + } + } + + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class RedundantCallOfConversionMethod extends AbstractLazyBodyIsNotTouchedTilContractsPhaseTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInRedundantCallOfConversionMethod() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @TestMetadata("booleanToInt.kt") + public void testBooleanToInt() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.kt"); + } + + @TestMetadata("byte.kt") + public void testByte() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/byte.kt"); + } + + @TestMetadata("char.kt") + public void testChar() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/char.kt"); + } + + @TestMetadata("double.kt") + public void testDouble() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/double.kt"); + } + + @TestMetadata("float.kt") + public void testFloat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/float.kt"); + } + + @TestMetadata("int.kt") + public void testInt() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/int.kt"); + } + + @TestMetadata("long.kt") + public void testLong() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/long.kt"); + } + + @TestMetadata("nullable.kt") + public void testNullable() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt"); + } + + @TestMetadata("nullable2.kt") + public void testNullable2() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt"); + } + + @TestMetadata("safeString.kt") + public void testSafeString() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString.kt"); + } + + @TestMetadata("safeString2.kt") + public void testSafeString2() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt"); + } + + @TestMetadata("short.kt") + public void testShort() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/short.kt"); + } + + @TestMetadata("string.kt") + public void testString() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/string.kt"); + } + + @TestMetadata("StringTemplate.kt") + public void testStringTemplate() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.kt"); + } + + @TestMetadata("toOtherType.kt") + public void testToOtherType() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.kt"); + } + + @TestMetadata("uByte.kt") + public void testUByte() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt"); + } + + @TestMetadata("uInt.kt") + public void testUInt() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt"); + } + + @TestMetadata("uLong.kt") + public void testULong() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt"); + } + + @TestMetadata("uShort.kt") + public void testUShort() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt"); + } + + @TestMetadata("variable.kt") + public void testVariable() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/variable.kt"); + } + } + + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Unused extends AbstractLazyBodyIsNotTouchedTilContractsPhaseTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInUnused() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @TestMetadata("classProperty.kt") + public void testClassProperty() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/classProperty.kt"); + } + + @TestMetadata("invoke.kt") + public void testInvoke() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/invoke.kt"); + } + + @TestMetadata("lambda.kt") + public void testLambda() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/lambda.kt"); + } + + @TestMetadata("localVariable.kt") + public void testLocalVariable() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.kt"); + } + + @TestMetadata("manyLocalVariables.kt") + public void testManyLocalVariables() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/manyLocalVariables.kt"); + } + + @TestMetadata("usedInAnnotationArguments.kt") + public void testUsedInAnnotationArguments() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/usedInAnnotationArguments.kt"); + } + + @TestMetadata("valueIsNeverRead.kt") + public void testValueIsNeverRead() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/valueIsNeverRead.kt"); + } + } + + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class UselessCallOnNotNullChecker extends AbstractLazyBodyIsNotTouchedTilContractsPhaseTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInUselessCallOnNotNullChecker() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @TestMetadata("Basic.kt") + public void testBasic() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Basic.kt"); + } + + @TestMetadata("NotNullType.kt") + public void testNotNullType() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.kt"); + } + + @TestMetadata("NotNullTypeChain.kt") + public void testNotNullTypeChain() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.kt"); + } + + @TestMetadata("NullOrBlankSafe.kt") + public void testNullOrBlankSafe() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.kt"); + } + + @TestMetadata("NullOrEmpty.kt") + public void testNullOrEmpty() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.kt"); + } + + @TestMetadata("NullOrEmptyFake.kt") + public void testNullOrEmptyFake() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.kt"); + } + + @TestMetadata("NullOrEmptySafe.kt") + public void testNullOrEmptySafe() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.kt"); + } + + @TestMetadata("OrEmptyFake.kt") + public void testOrEmptyFake() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.kt"); + } + + @TestMetadata("SafeCall.kt") + public void testSafeCall() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.kt"); + } + + @TestMetadata("Sequence.kt") + public void testSequence() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt"); + } + + @TestMetadata("String.kt") + public void testString() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/String.kt"); + } + } + } + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/fromBuilder") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt deleted file mode 100644 index 43b5af89a04..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt +++ /dev/null @@ -1,17 +0,0 @@ -// WITH_RUNTIME - -fun foo(p: Int) { - val a = arrayOf(1, 2, 3) - val b = arrayOf(3, 2, 1) - - if (a == b) { } -} - -fun testsFromIdea() { - val a = arrayOf("a") - val b = a - val c: Any? = null - a == b - a == c - a != b -} \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt deleted file mode 100644 index 97809b57f70..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt +++ /dev/null @@ -1,5 +0,0 @@ -// WITH_RUNTIME -// IS_APPLICABLE: false -fun foo(s: String?) { - val t: String = s.toString() -} \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt deleted file mode 100644 index c0b5a99987e..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt +++ /dev/null @@ -1,6 +0,0 @@ -// WITH_RUNTIME -data class Foo(val name: String) - -fun test(foo: Foo?) { - val s: String? = foo?.name?.toString() -} \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt deleted file mode 100644 index 20444d1549d..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt +++ /dev/null @@ -1,4 +0,0 @@ -// WITH_RUNTIME -fun test(i: UByte) { - val foo = i.toUByte() -} \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt deleted file mode 100644 index fec6f346b66..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt +++ /dev/null @@ -1,4 +0,0 @@ -// WITH_RUNTIME -fun test(i: UInt) { - val foo = i.toUInt() -} \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt deleted file mode 100644 index c9fc29d32ca..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt +++ /dev/null @@ -1,4 +0,0 @@ -// WITH_RUNTIME -fun test(i: ULong) { - val foo = i.toULong() -} \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt deleted file mode 100644 index 98fd40c8c4e..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt +++ /dev/null @@ -1,4 +0,0 @@ -// WITH_RUNTIME -fun test(i: UShort) { - val foo = i.toUShort() -} \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantExplicitTypeChecker.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantExplicitTypeChecker.kt deleted file mode 100644 index d28a4286e91..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantExplicitTypeChecker.kt +++ /dev/null @@ -1,76 +0,0 @@ -import kotlin.reflect.KClass - -@Target(AnnotationTarget.TYPE) -annotation class A - -fun annotated() { - val x: @A Int /* NOT redundant */ = 1 -} - -object SomeObj -fun fer() { - val x: Any /* NOT redundant */ = SomeObj -} - -fun f2(y: String?): String { - val f: KClass<*> = (y ?: return "")::class - return "" -} - -object Obj {} - -interface IA -interface IB : IA - -fun IA.extFun(x: IB) {} - -fun testWithExpectedType() { - val extFun_AB_A: IA.(IB) -> Unit = IA::extFun -} - -interface Point { - val x: Int - val y: Int -} - -class PointImpl(override val x: Int, override val y: Int) : Point - -fun foo() { - val s: String = "Hello ${10+1}" - val str: String? = "" - - val o: Obj = Obj - - val p: Point = PointImpl(1, 2) - val a: Boolean = true - val i: Int = 2 * 2 - val l: Long = 1234567890123L - val s: String? = null - val sh: Short = 42 - - val integer: Int = 42 - val piFloat: Float = 3.14f - val piDouble: Double = 3.14 - val charZ: Char = 'z' - var alpha: Int = 0 -} - -fun test(boolean: Boolean) { - val expectedLong: Long = if (boolean) { - 42 - } else { - return - } -} - -class My { - val x: Int = 1 -} - -val ZERO: Int = 0 - -fun main() { - val id: Id = 11 -} - -typealias Id = Int \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantModalityModifierChecker.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantModalityModifierChecker.kt deleted file mode 100644 index 990762a9590..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantModalityModifierChecker.kt +++ /dev/null @@ -1,85 +0,0 @@ -object O { - fun foo() {} -} - -// Interface -interface Interface { - // Questionable cuz compiler reports warning here in FE 1.0 - open val gav: Int - get() = 42 - // Redundant - abstract fun foo() - // error - private final fun bar() {} - - open fun goo() {} - abstract fun tar() - - // error - abstract fun too() {} -} -interface B { - abstract var bar: Unit - abstract fun foo() -} -interface Foo - -expect abstract class AbstractClass : Foo { - abstract override fun foo() - - abstract fun bar() - - abstract val baz: Int -} - - -// Abstract -abstract class Base { - // Redundant final - final fun foo() {} - // Abstract - abstract fun bar() - // Open - open val gav = 42 -} - -class FinalDerived : Base() { - // Redundant final - override final fun bar() {} - // Non-final member in final class - override open val gav = 13 -} -// Open -open class OpenDerived : Base() { - // Final - override final fun bar() {} - // Redundant open - override open val gav = 13 -} -// Redundant final -final class Final -// Derived interface -interface Derived : Interface { - // Redundant - override open fun foo() {} - // error - final class Nested -} -// Derived abstract class -abstract class AbstractDerived1(override final val gav: Int) : Interface { - // Redundant - override open fun foo() {} -} -// Derived abstract class -abstract class AbstractDerived2 : Interface { - // Final - override final fun foo() {} - // Redundant - override open val gav = 13 -} -// Redundant abstract interface -abstract interface AbstractInterface -// Redundant final object -final object FinalObject -// Open interface -open interface OpenInterface \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantVisibilityModifierChecker.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantVisibilityModifierChecker.kt deleted file mode 100644 index 00343ba50ed..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantVisibilityModifierChecker.kt +++ /dev/null @@ -1,86 +0,0 @@ -fun f() { - public var baz = 0 - class LocalClass { - internal var foo = 0 - } - LocalClass().foo = 1 -} - -internal inline fun internal() { - f() -} - -class C { - internal val z = object { - fun foo() = 13 - } -} - -class Foo2< - T1, - T2: T1, - > { - fun foo2() {} - - internal inner class B -} - -public class C { - public val foo: Int = 0 - - public fun bar() {} - -} - -open class D { - protected open fun willRemainProtected() { - } - - protected open fun willBecomePublic() { - } -} - -class E : D() { - protected override fun willRemainProtected() { - } - - public override fun willBecomePublic() { - } -} - -enum class F private constructor(val x: Int) { - FIRST(42) -} - -sealed class G constructor(val y: Int) { - private constructor(): this(42) - - object H : G() -} - -interface I { - fun bar() -} - -public var baz = 0 - -open class J { - protected val baz = 0 - protected get() = field * 2 - var baf = 0 - public get() = 1 - public set(value) { - field = value - } - - var buf = 0 - private get() = 42 - protected set(value) { - field = value - } - - var bar = 0 - get() = 3.1415926535 - set(value) {} -} \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt deleted file mode 100644 index e4a155284c8..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt +++ /dev/null @@ -1,5 +0,0 @@ -// WITH_RUNTIME - -fun test(s: Sequence) { - val foo = s.orEmpty() -} \ No newline at end of file diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt deleted file mode 100644 index e218c599d57..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt +++ /dev/null @@ -1,7 +0,0 @@ -fun goo() { - var a = 2 - val b = 4 - a = a + 1 + b - a = (a + 1) - a = a * b + 1 -} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt deleted file mode 100644 index 9d171517e9c..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt +++ /dev/null @@ -1,5 +0,0 @@ -fun foo() { - var x = 0 - var y = 0 - x = x + y + 5 -} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt deleted file mode 100644 index a93064495f9..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt +++ /dev/null @@ -1,5 +0,0 @@ -fun foo() { - var x = 0 - var y = 0 - x = y + x + 5 -} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt deleted file mode 100644 index 2208ebf69b3..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt +++ /dev/null @@ -1,8 +0,0 @@ -fun foo() { - var x = 0 - x = x - 1 - 1 - - x = x / 1 - x = 1 / x - x = -1 + x -} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt deleted file mode 100644 index 43f50dd8c40..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt +++ /dev/null @@ -1,4 +0,0 @@ -fun foo() { - var x = 0 - x = 1 + x -} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt deleted file mode 100644 index ba5108a3cc6..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt +++ /dev/null @@ -1,5 +0,0 @@ -fun foo() { - var y = 0 - val x = 0 - y = y + x -} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt deleted file mode 100644 index 191b05aebd9..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt +++ /dev/null @@ -1,4 +0,0 @@ -fun foo() { - var x = 0 - x = x + 1 -} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt b/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt deleted file mode 100644 index 41407233e65..00000000000 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt +++ /dev/null @@ -1,4 +0,0 @@ -fun foo() { - var x = 0 - x = x - 1 -} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt new file mode 100644 index 00000000000..48ee3140b41 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt @@ -0,0 +1,17 @@ +// WITH_RUNTIME + +fun foo(p: Int) { + val a = arrayOf(1, 2, 3) + val b = arrayOf(3, 2, 1) + + if (a == b) { } +} + +fun testsFromIdea() { + val a = arrayOf("a") + val b = a + val c: Any? = null + a == b + a == c + a != b +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/CanBeValChecker.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/CanBeValChecker.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/CanBeValChecker.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/CanBeValChecker.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/CanBeValChecker.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/CanBeValChecker.kt similarity index 65% rename from compiler/fir/analysis-tests/testData/extendedCheckers/CanBeValChecker.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/CanBeValChecker.kt index 69ad599adbc..5265bf5f52c 100644 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/CanBeValChecker.kt +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/CanBeValChecker.kt @@ -4,8 +4,8 @@ import kotlin.reflect.KProperty import kotlin.properties.Delegates fun testDelegator() { - var x: Boolean by LocalFreezableVar(true) - var y by LocalFreezableVar("") + var x: Boolean by LocalFreezableVar(true) + var y by LocalFreezableVar("") } class LocalFreezableVar(private var value: T) { @@ -23,7 +23,7 @@ operator fun C.plusAssign(a: Any) {} fun testOperatorAssignment() { val c = C() c += "" - var c1 = C() + var c1 = C() c1 += "" var a = 1 @@ -33,7 +33,7 @@ fun testOperatorAssignment() { fun destructuringDeclaration() { - var (v1, v2) = getPair() + var (v1, v2) = getPair() print(v1) var (v3, v4) = getPair() @@ -49,11 +49,11 @@ fun destructuringDeclaration() { val (a, b, c) = Triple(1, 1, 1) - var (x, y, z) = Triple(1, 1, 1) + var (x, y, z) = Triple(1, 1, 1) } fun stackOverflowBug() { - var a: Int + var a: Int a = 1 for (i in 1..10) print(i) @@ -71,8 +71,8 @@ fun smth(flag: Boolean) { } fun withAnnotation(p: List) { - @Suppress("UNCHECKED_CAST") - var v = p as List + @Suppress("UNCHECKED_CAST") + var v = p as List print(v) } @@ -86,9 +86,9 @@ fun getPair(): Pair = Pair(1, "1") fun listReceiver(p: List) {} fun withInitializer() { - var v1 = 1 + var v1 = 1 var v2 = 2 - var v3 = 3 + var v3 = 3 v1 = 1 v2++ // todo mark this UNUSED_CHANGED_VALUES print(v3) @@ -102,10 +102,10 @@ fun test() { } fun foo() { - var a: Int + var a: Int val bool = true if (bool) a = 4 else a = 42 - val b: String + val b: String bool = false } @@ -116,7 +116,7 @@ fun cycles() { a-- } - var b: Int + var b: Int while (a < 10) { a++ b = a @@ -124,14 +124,14 @@ fun cycles() { } fun assignedTwice(p: Int) { - var v: Int + var v: Int v = 0 if (p > 0) v = 1 } fun main(args: Array) { - var a: String? - val unused = 0 + var a: String? + val unused = 0 if (args.size == 1) { a = args[0] @@ -144,7 +144,7 @@ fun main(args: Array) { fun run(f: () -> Unit) = f() fun lambda() { - var a: Int + var a: Int a = 10 run { @@ -153,7 +153,7 @@ fun lambda() { } fun lambdaInitialization() { - var a: Int + var a: Int run { a = 20 @@ -161,7 +161,7 @@ fun lambdaInitialization() { } fun notAssignedWhenNotUsed(p: Int) { - var v: Int + var v: Int if (p > 0) { v = 1 print(v) @@ -180,6 +180,6 @@ class C { } fun withDelegate() { - var s: String by Delegates.notNull() + var s: String by Delegates.notNull() s = "" } diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/byte.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/byte.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/byte.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/byte.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/byte.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/byte.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/byte.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/byte.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/char.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/char.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/char.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/char.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/char.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/char.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/char.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/char.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/double.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/double.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/double.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/double.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/double.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/double.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/double.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/double.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/float.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/float.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/float.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/float.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/float.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/float.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/float.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/float.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/int.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/int.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/int.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/int.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/int.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/int.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/int.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/int.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/long.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/long.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/long.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/long.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/long.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/long.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/long.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/long.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt new file mode 100644 index 00000000000..6d7764f6103 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME +// IS_APPLICABLE: false +fun foo(s: String?) { + val t: String = s.toString() +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable2.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable2.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable2.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable2.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt similarity index 51% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt index c828043775a..d20e7f71eeb 100644 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt @@ -3,5 +3,5 @@ data class Foo(val name: String) fun nullable2(foo: Foo?) { - val s: String = foo?.name.toString() -} \ No newline at end of file + val s: String = foo?.name.toString() +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString2.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString2.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/safeString2.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString2.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt new file mode 100644 index 00000000000..d43d4744156 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt @@ -0,0 +1,6 @@ +// WITH_RUNTIME +data class Foo(val name: String) + +fun test(foo: Foo?) { + val s: String? = foo?.name?.toString() +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/short.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/short.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/short.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/short.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/short.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/short.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/short.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/short.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/string.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/string.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/string.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/string.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/string.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/string.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/string.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/string.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uByte.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uByte.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uByte.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uByte.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt new file mode 100644 index 00000000000..b0ff5f59ae8 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt @@ -0,0 +1,4 @@ +// WITH_RUNTIME +fun test(i: UByte) { + val foo = i.toUByte() +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uInt.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uInt.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uInt.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uInt.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt new file mode 100644 index 00000000000..c82679bd2f9 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt @@ -0,0 +1,4 @@ +// WITH_RUNTIME +fun test(i: UInt) { + val foo = i.toUInt() +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uLong.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uLong.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uLong.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uLong.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt new file mode 100644 index 00000000000..12885e9713a --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt @@ -0,0 +1,4 @@ +// WITH_RUNTIME +fun test(i: ULong) { + val foo = i.toULong() +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uShort.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uShort.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/uShort.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uShort.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt new file mode 100644 index 00000000000..b847d74e797 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt @@ -0,0 +1,4 @@ +// WITH_RUNTIME +fun test(i: UShort) { + val foo = i.toUShort() +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/variable.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/variable.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/variable.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/variable.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/variable.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/variable.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantCallOfConversionMethod/variable.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/variable.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantExplicitTypeChecker.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantExplicitTypeChecker.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantExplicitTypeChecker.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantExplicitTypeChecker.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantExplicitTypeChecker.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantExplicitTypeChecker.kt new file mode 100644 index 00000000000..033dc08beeb --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantExplicitTypeChecker.kt @@ -0,0 +1,76 @@ +import kotlin.reflect.KClass + +@Target(AnnotationTarget.TYPE) +annotation class A + +fun annotated() { + val x: @A Int /* NOT redundant */ = 1 +} + +object SomeObj +fun fer() { + val x: Any /* NOT redundant */ = SomeObj +} + +fun f2(y: String?): String { + val f: KClass<*> = (y ?: return "")::class + return "" +} + +object Obj {} + +interface IA +interface IB : IA + +fun IA.extFun(x: IB) {} + +fun testWithExpectedType() { + val extFun_AB_A: IA.(IB) -> Unit = IA::extFun +} + +interface Point { + val x: Int + val y: Int +} + +class PointImpl(override val x: Int, override val y: Int) : Point + +fun foo() { + val s: String = "Hello ${10+1}" + val str: String? = "" + + val o: Obj = Obj + + val p: Point = PointImpl(1, 2) + val a: Boolean = true + val i: Int = 2 * 2 + val l: Long = 1234567890123L + val s: String? = null + val sh: Short = 42 + + val integer: Int = 42 + val piFloat: Float = 3.14f + val piDouble: Double = 3.14 + val charZ: Char = 'z' + var alpha: Int = 0 +} + +fun test(boolean: Boolean) { + val expectedLong: Long = if (boolean) { + 42 + } else { + return + } +} + +class My { + val x: Int = 1 +} + +val ZERO: Int = 0 + +fun main() { + val id: Id = 11 +} + +typealias Id = Int diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantModalityModifierChecker.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantModalityModifierChecker.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantModalityModifierChecker.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantModalityModifierChecker.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantModalityModifierChecker.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantModalityModifierChecker.kt new file mode 100644 index 00000000000..6a0140e094a --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantModalityModifierChecker.kt @@ -0,0 +1,85 @@ +object O { + fun foo() {} +} + +// Interface +interface Interface { + // Questionable cuz compiler reports warning here in FE 1.0 + open val gav: Int + get() = 42 + // Redundant + abstract fun foo() + // error + private final fun bar() {} + + open fun goo() {} + abstract fun tar() + + // error + abstract fun too() {} +} +interface B { + abstract var bar: Unit + abstract fun foo() +} +interface Foo + +expect abstract class AbstractClass : Foo { + abstract override fun foo() + + abstract fun bar() + + abstract val baz: Int +} + + +// Abstract +abstract class Base { + // Redundant final + final fun foo() {} + // Abstract + abstract fun bar() + // Open + open val gav = 42 +} + +class FinalDerived : Base() { + // Redundant final + override final fun bar() {} + // Non-final member in final class + override open val gav = 13 +} +// Open +open class OpenDerived : Base() { + // Final + override final fun bar() {} + // Redundant open + override open val gav = 13 +} +// Redundant final +final class Final +// Derived interface +interface Derived : Interface { + // Redundant + override open fun foo() {} + // error + final class Nested +} +// Derived abstract class +abstract class AbstractDerived1(override final val gav: Int) : Interface { + // Redundant + override open fun foo() {} +} +// Derived abstract class +abstract class AbstractDerived2 : Interface { + // Final + override final fun foo() {} + // Redundant + override open val gav = 13 +} +// Redundant abstract interface +abstract interface AbstractInterface +// Redundant final object +final object FinalObject +// Open interface +open interface OpenInterface diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantReturnUnitTypeChecker.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantReturnUnitTypeChecker.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantReturnUnitTypeChecker.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantReturnUnitTypeChecker.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantReturnUnitTypeChecker.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantReturnUnitTypeChecker.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantReturnUnitTypeChecker.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantReturnUnitTypeChecker.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSetterParameterTypeChecker.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSetterParameterTypeChecker.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSetterParameterTypeChecker.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSetterParameterTypeChecker.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSetterParameterTypeChecker.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSetterParameterTypeChecker.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSetterParameterTypeChecker.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSetterParameterTypeChecker.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/RedundantVisibilityModifierChecker.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantVisibilityModifierChecker.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/RedundantVisibilityModifierChecker.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantVisibilityModifierChecker.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantVisibilityModifierChecker.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantVisibilityModifierChecker.kt new file mode 100644 index 00000000000..9bd5d5fab2b --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantVisibilityModifierChecker.kt @@ -0,0 +1,86 @@ +fun f() { + public var baz = 0 + class LocalClass { + internal var foo = 0 + } + LocalClass().foo = 1 +} + +internal inline fun internal() { + f() +} + +class C { + internal val z = object { + fun foo() = 13 + } +} + +class Foo2< + T1, + T2: T1, + > { + fun foo2() {} + + internal inner class B +} + +public class C { + public val foo: Int = 0 + + public fun bar() {} + +} + +open class D { + protected open fun willRemainProtected() { + } + + protected open fun willBecomePublic() { + } +} + +class E : D() { + protected override fun willRemainProtected() { + } + + public override fun willBecomePublic() { + } +} + +enum class F private constructor(val x: Int) { + FIRST(42) +} + +sealed class G constructor(val y: Int) { + private constructor(): this(42) + + object H : G() +} + +interface I { + fun bar() +} + +public var baz = 0 + +open class J { + protected val baz = 0 + protected get() = field * 2 + var baf = 0 + public get() = 1 + public set(value) { + field = value + } + + var buf = 0 + private get() = 42 + protected set(value) { + field = value + } + + var bar = 0 + get() = 3.1415926535 + set(value) {} +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Basic.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Basic.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Basic.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Basic.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Basic.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Basic.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Basic.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Basic.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Sequence.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Sequence.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/Sequence.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Sequence.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt new file mode 100644 index 00000000000..7d42aa11536 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun test(s: Sequence) { + val foo = s.orEmpty() +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/String.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/String.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/String.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/String.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/String.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/String.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/UselessCallOnNotNullChecker/String.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/String.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt new file mode 100644 index 00000000000..912b9269c91 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt @@ -0,0 +1,7 @@ +fun goo() { + var a = 2 + val b = 4 + a = a + 1 + b + a = (a + 1) + a = a * b + 1 +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/list.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/list.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/list.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/list.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/list.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/list.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/list.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/list.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt new file mode 100644 index 00000000000..11f1bca71de --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt @@ -0,0 +1,5 @@ +fun foo() { + var x = 0 + var y = 0 + x = x + y + 5 +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt new file mode 100644 index 00000000000..96977f2be0e --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt @@ -0,0 +1,5 @@ +fun foo() { + var x = 0 + var y = 0 + x = y + x + 5 +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt new file mode 100644 index 00000000000..dcc6e3c00c3 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt @@ -0,0 +1,8 @@ +fun foo() { + var x = 0 + x = x - 1 - 1 + + x = x / 1 + x = 1 / x + x = -1 + x +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt similarity index 54% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt index 0b19a7e7ab5..ab87652e702 100644 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt @@ -1,5 +1,5 @@ fun foo() { - var x = 0 + var x = 0 val y = 0 val z = 0 x = y + z diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt new file mode 100644 index 00000000000..adde06044e7 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt @@ -0,0 +1,4 @@ +fun foo() { + var x = 0 + x = 1 + x +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt new file mode 100644 index 00000000000..cb9f57e7075 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt @@ -0,0 +1,5 @@ +fun foo() { + var y = 0 + val x = 0 + y = y + x +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt new file mode 100644 index 00000000000..d77084bd75a --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt @@ -0,0 +1,4 @@ +fun foo() { + var x = 0 + x = x + 1 +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.fir.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt new file mode 100644 index 00000000000..a474c593fa1 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt @@ -0,0 +1,4 @@ +fun foo() { + var x = 0 + x = x - 1 +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/NoWarning.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/NoWarning.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/NoWarning.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/NoWarning.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/NoWarning.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/NoWarning.kt similarity index 56% rename from compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/NoWarning.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/NoWarning.kt index 209d2c11c89..6e69cac3315 100644 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/NoWarning.kt +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/NoWarning.kt @@ -3,7 +3,7 @@ fun foo() { for (i in 1..2) { } - val a = 3..4 + val a = 3..4 val v = 1 if (v in 5..6) { } @@ -13,7 +13,7 @@ fun foo() { fun backward() { for (i in 2 downTo 1) { } - val a = 4 downTo 3 + val a = 4 downTo 3 val v = 1 if (v in -5 downTo -6) { } @@ -22,7 +22,7 @@ fun backward() { fun until() { for (i in 1 until 2) { } - val a = 3 until 4 + val a = 3 until 4 val v = 1 if (v in -5 until -4) { } diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/Warning.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/Warning.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/Warning.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/Warning.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/Warning.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/Warning.kt similarity index 58% rename from compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/Warning.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/Warning.kt index ad813ac13fd..0d5cebd779e 100644 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/emptyRangeChecker/Warning.kt +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/Warning.kt @@ -3,7 +3,7 @@ fun foo() { for (i in 2..1) { } - val a = 10..0 + val a = 10..0 val v = 1 if (v in 10..1) { } @@ -12,7 +12,7 @@ fun foo() { fun backward() { for (i in 1 downTo 2) { } - val a = -3 downTo 4 + val a = -3 downTo 4 val v = 1 if (v in 0 downTo 6) { } @@ -21,7 +21,7 @@ fun backward() { fun until() { for (i in 1 until 1) { } - val a = 4 until 3 + val a = 4 until 3 val v = 1 if (v in -5 until -5) { } diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/classProperty.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/classProperty.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/classProperty.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/classProperty.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/classProperty.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/classProperty.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/classProperty.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/classProperty.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/invoke.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/invoke.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/invoke.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/invoke.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/invoke.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/invoke.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/invoke.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/invoke.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/lambda.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/lambda.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/lambda.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/lambda.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/lambda.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/lambda.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/lambda.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/lambda.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/localVariable.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/localVariable.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/localVariable.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.kt similarity index 58% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/localVariable.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.kt index aa69fc811ae..0d8f0230869 100644 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/localVariable.kt +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.kt @@ -4,7 +4,7 @@ class Outer { fun foo() { class Local { fun bar() { - val x = y + val x = y } } } @@ -22,13 +22,13 @@ fun f() { fun foo(v: Int) { - val d: Int by Delegate - val a: Int - val b = 1 + val d: Int by Delegate + val a: Int + val b = 1 val c = 2 - @Anno - val e: Int + @Anno + val e: Int foo(c) } diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/manyLocalVariables.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/manyLocalVariables.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/manyLocalVariables.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/manyLocalVariables.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/manyLocalVariables.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/manyLocalVariables.kt similarity index 83% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/manyLocalVariables.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/manyLocalVariables.kt index 7de68571e70..d95d419335f 100644 --- a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/manyLocalVariables.kt +++ b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/manyLocalVariables.kt @@ -1,5 +1,5 @@ fun foo() { - var a = 1 + var a = 1 var b = 2 var c = 3 @@ -16,4 +16,4 @@ fun foo() { if (c == a) { foo() } -} \ No newline at end of file +} diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/usedInAnnotationArguments.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/usedInAnnotationArguments.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/usedInAnnotationArguments.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/usedInAnnotationArguments.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/usedInAnnotationArguments.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/usedInAnnotationArguments.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/usedInAnnotationArguments.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/usedInAnnotationArguments.kt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/valueIsNeverRead.txt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/valueIsNeverRead.fir.txt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/valueIsNeverRead.txt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/valueIsNeverRead.fir.txt diff --git a/compiler/fir/analysis-tests/testData/extendedCheckers/unused/valueIsNeverRead.kt b/compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/valueIsNeverRead.kt similarity index 100% rename from compiler/fir/analysis-tests/testData/extendedCheckers/unused/valueIsNeverRead.kt rename to compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/valueIsNeverRead.kt diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java index 0c45772647f..25e4476062f 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java @@ -1946,6 +1946,468 @@ public class FirDiagnosticTestGenerated extends AbstractFirDiagnosticTest { } } + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers") + @TestDataPath("$PROJECT_ROOT") + public class ExtendedCheckers extends AbstractFirDiagnosticTest { + @Test + public void testAllFilesPresentInExtendedCheckers() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("ArrayEqualityCanBeReplacedWithEquals.kt") + public void testArrayEqualityCanBeReplacedWithEquals() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt"); + } + + @Test + @TestMetadata("CanBeValChecker.kt") + public void testCanBeValChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/CanBeValChecker.kt"); + } + + @Test + @TestMetadata("RedundantExplicitTypeChecker.kt") + public void testRedundantExplicitTypeChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantExplicitTypeChecker.kt"); + } + + @Test + @TestMetadata("RedundantModalityModifierChecker.kt") + public void testRedundantModalityModifierChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantModalityModifierChecker.kt"); + } + + @Test + @TestMetadata("RedundantReturnUnitTypeChecker.kt") + public void testRedundantReturnUnitTypeChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantReturnUnitTypeChecker.kt"); + } + + @Test + @TestMetadata("RedundantSetterParameterTypeChecker.kt") + public void testRedundantSetterParameterTypeChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSetterParameterTypeChecker.kt"); + } + + @Test + @TestMetadata("RedundantSingleExpressionStringTemplateChecker.kt") + public void testRedundantSingleExpressionStringTemplateChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.kt"); + } + + @Test + @TestMetadata("RedundantVisibilityModifierChecker.kt") + public void testRedundantVisibilityModifierChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantVisibilityModifierChecker.kt"); + } + + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment") + @TestDataPath("$PROJECT_ROOT") + public class CanBeReplacedWithOperatorAssignment extends AbstractFirDiagnosticTest { + @Test + public void testAllFilesPresentInCanBeReplacedWithOperatorAssignment() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("BasicTest.kt") + public void testBasicTest() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt"); + } + + @Test + @TestMetadata("ComplexExpression.kt") + public void testComplexExpression() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.kt"); + } + + @Test + @TestMetadata("flexibleTypeBug.kt") + public void testFlexibleTypeBug() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.kt"); + } + + @Test + @TestMetadata("illegalMultipleOperators.kt") + public void testIllegalMultipleOperators() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.kt"); + } + + @Test + @TestMetadata("illegalMultipleOperatorsMiddle.kt") + public void testIllegalMultipleOperatorsMiddle() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.kt"); + } + + @Test + @TestMetadata("invalidSubtraction.kt") + public void testInvalidSubtraction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.kt"); + } + + @Test + @TestMetadata("list.kt") + public void testList() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/list.kt"); + } + + @Test + @TestMetadata("logicOperators.kt") + public void testLogicOperators() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.kt"); + } + + @Test + @TestMetadata("multipleOperators.kt") + public void testMultipleOperators() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt"); + } + + @Test + @TestMetadata("multipleOperatorsRightSideRepeat.kt") + public void testMultipleOperatorsRightSideRepeat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt"); + } + + @Test + @TestMetadata("mutableList.kt") + public void testMutableList() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.kt"); + } + + @Test + @TestMetadata("nonCommutativeRepeat.kt") + public void testNonCommutativeRepeat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt"); + } + + @Test + @TestMetadata("nonRepeatingAssignment.kt") + public void testNonRepeatingAssignment() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt"); + } + + @Test + @TestMetadata("OperatorAssignment.kt") + public void testOperatorAssignment() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.kt"); + } + + @Test + @TestMetadata("plusAssignConflict.kt") + public void testPlusAssignConflict() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.kt"); + } + + @Test + @TestMetadata("rightSideRepeat.kt") + public void testRightSideRepeat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt"); + } + + @Test + @TestMetadata("simpleAssign.kt") + public void testSimpleAssign() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt"); + } + + @Test + @TestMetadata("validAddition.kt") + public void testValidAddition() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt"); + } + + @Test + @TestMetadata("validSubtraction.kt") + public void testValidSubtraction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt"); + } + } + + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker") + @TestDataPath("$PROJECT_ROOT") + public class EmptyRangeChecker extends AbstractFirDiagnosticTest { + @Test + public void testAllFilesPresentInEmptyRangeChecker() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("NoWarning.kt") + public void testNoWarning() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/NoWarning.kt"); + } + + @Test + @TestMetadata("Warning.kt") + public void testWarning() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/Warning.kt"); + } + } + + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod") + @TestDataPath("$PROJECT_ROOT") + public class RedundantCallOfConversionMethod extends AbstractFirDiagnosticTest { + @Test + public void testAllFilesPresentInRedundantCallOfConversionMethod() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("booleanToInt.kt") + public void testBooleanToInt() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.kt"); + } + + @Test + @TestMetadata("byte.kt") + public void testByte() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/byte.kt"); + } + + @Test + @TestMetadata("char.kt") + public void testChar() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/char.kt"); + } + + @Test + @TestMetadata("double.kt") + public void testDouble() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/double.kt"); + } + + @Test + @TestMetadata("float.kt") + public void testFloat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/float.kt"); + } + + @Test + @TestMetadata("int.kt") + public void testInt() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/int.kt"); + } + + @Test + @TestMetadata("long.kt") + public void testLong() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/long.kt"); + } + + @Test + @TestMetadata("nullable.kt") + public void testNullable() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt"); + } + + @Test + @TestMetadata("nullable2.kt") + public void testNullable2() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt"); + } + + @Test + @TestMetadata("safeString.kt") + public void testSafeString() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString.kt"); + } + + @Test + @TestMetadata("safeString2.kt") + public void testSafeString2() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt"); + } + + @Test + @TestMetadata("short.kt") + public void testShort() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/short.kt"); + } + + @Test + @TestMetadata("string.kt") + public void testString() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/string.kt"); + } + + @Test + @TestMetadata("StringTemplate.kt") + public void testStringTemplate() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.kt"); + } + + @Test + @TestMetadata("toOtherType.kt") + public void testToOtherType() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.kt"); + } + + @Test + @TestMetadata("uByte.kt") + public void testUByte() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt"); + } + + @Test + @TestMetadata("uInt.kt") + public void testUInt() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt"); + } + + @Test + @TestMetadata("uLong.kt") + public void testULong() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt"); + } + + @Test + @TestMetadata("uShort.kt") + public void testUShort() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt"); + } + + @Test + @TestMetadata("variable.kt") + public void testVariable() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/variable.kt"); + } + } + + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused") + @TestDataPath("$PROJECT_ROOT") + public class Unused extends AbstractFirDiagnosticTest { + @Test + public void testAllFilesPresentInUnused() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("classProperty.kt") + public void testClassProperty() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/classProperty.kt"); + } + + @Test + @TestMetadata("invoke.kt") + public void testInvoke() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/invoke.kt"); + } + + @Test + @TestMetadata("lambda.kt") + public void testLambda() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/lambda.kt"); + } + + @Test + @TestMetadata("localVariable.kt") + public void testLocalVariable() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.kt"); + } + + @Test + @TestMetadata("manyLocalVariables.kt") + public void testManyLocalVariables() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/manyLocalVariables.kt"); + } + + @Test + @TestMetadata("usedInAnnotationArguments.kt") + public void testUsedInAnnotationArguments() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/usedInAnnotationArguments.kt"); + } + + @Test + @TestMetadata("valueIsNeverRead.kt") + public void testValueIsNeverRead() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/valueIsNeverRead.kt"); + } + } + + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker") + @TestDataPath("$PROJECT_ROOT") + public class UselessCallOnNotNullChecker extends AbstractFirDiagnosticTest { + @Test + public void testAllFilesPresentInUselessCallOnNotNullChecker() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("Basic.kt") + public void testBasic() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Basic.kt"); + } + + @Test + @TestMetadata("NotNullType.kt") + public void testNotNullType() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.kt"); + } + + @Test + @TestMetadata("NotNullTypeChain.kt") + public void testNotNullTypeChain() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.kt"); + } + + @Test + @TestMetadata("NullOrBlankSafe.kt") + public void testNullOrBlankSafe() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.kt"); + } + + @Test + @TestMetadata("NullOrEmpty.kt") + public void testNullOrEmpty() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.kt"); + } + + @Test + @TestMetadata("NullOrEmptyFake.kt") + public void testNullOrEmptyFake() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.kt"); + } + + @Test + @TestMetadata("NullOrEmptySafe.kt") + public void testNullOrEmptySafe() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.kt"); + } + + @Test + @TestMetadata("OrEmptyFake.kt") + public void testOrEmptyFake() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.kt"); + } + + @Test + @TestMetadata("SafeCall.kt") + public void testSafeCall() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.kt"); + } + + @Test + @TestMetadata("Sequence.kt") + public void testSequence() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt"); + } + + @Test + @TestMetadata("String.kt") + public void testString() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/String.kt"); + } + } + } + @Nested @TestMetadata("compiler/fir/analysis-tests/testData/resolve/fromBuilder") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java index 95c5bdf1c1a..aa281345df5 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java @@ -1944,6 +1944,468 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos } } + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers") + @TestDataPath("$PROJECT_ROOT") + public class ExtendedCheckers extends AbstractFirDiagnosticsWithLightTreeTest { + @Test + public void testAllFilesPresentInExtendedCheckers() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("ArrayEqualityCanBeReplacedWithEquals.kt") + public void testArrayEqualityCanBeReplacedWithEquals() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/ArrayEqualityCanBeReplacedWithEquals.kt"); + } + + @Test + @TestMetadata("CanBeValChecker.kt") + public void testCanBeValChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/CanBeValChecker.kt"); + } + + @Test + @TestMetadata("RedundantExplicitTypeChecker.kt") + public void testRedundantExplicitTypeChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantExplicitTypeChecker.kt"); + } + + @Test + @TestMetadata("RedundantModalityModifierChecker.kt") + public void testRedundantModalityModifierChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantModalityModifierChecker.kt"); + } + + @Test + @TestMetadata("RedundantReturnUnitTypeChecker.kt") + public void testRedundantReturnUnitTypeChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantReturnUnitTypeChecker.kt"); + } + + @Test + @TestMetadata("RedundantSetterParameterTypeChecker.kt") + public void testRedundantSetterParameterTypeChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSetterParameterTypeChecker.kt"); + } + + @Test + @TestMetadata("RedundantSingleExpressionStringTemplateChecker.kt") + public void testRedundantSingleExpressionStringTemplateChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantSingleExpressionStringTemplateChecker.kt"); + } + + @Test + @TestMetadata("RedundantVisibilityModifierChecker.kt") + public void testRedundantVisibilityModifierChecker() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantVisibilityModifierChecker.kt"); + } + + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment") + @TestDataPath("$PROJECT_ROOT") + public class CanBeReplacedWithOperatorAssignment extends AbstractFirDiagnosticsWithLightTreeTest { + @Test + public void testAllFilesPresentInCanBeReplacedWithOperatorAssignment() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("BasicTest.kt") + public void testBasicTest() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/BasicTest.kt"); + } + + @Test + @TestMetadata("ComplexExpression.kt") + public void testComplexExpression() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/ComplexExpression.kt"); + } + + @Test + @TestMetadata("flexibleTypeBug.kt") + public void testFlexibleTypeBug() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/flexibleTypeBug.kt"); + } + + @Test + @TestMetadata("illegalMultipleOperators.kt") + public void testIllegalMultipleOperators() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperators.kt"); + } + + @Test + @TestMetadata("illegalMultipleOperatorsMiddle.kt") + public void testIllegalMultipleOperatorsMiddle() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/illegalMultipleOperatorsMiddle.kt"); + } + + @Test + @TestMetadata("invalidSubtraction.kt") + public void testInvalidSubtraction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/invalidSubtraction.kt"); + } + + @Test + @TestMetadata("list.kt") + public void testList() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/list.kt"); + } + + @Test + @TestMetadata("logicOperators.kt") + public void testLogicOperators() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/logicOperators.kt"); + } + + @Test + @TestMetadata("multipleOperators.kt") + public void testMultipleOperators() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperators.kt"); + } + + @Test + @TestMetadata("multipleOperatorsRightSideRepeat.kt") + public void testMultipleOperatorsRightSideRepeat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/multipleOperatorsRightSideRepeat.kt"); + } + + @Test + @TestMetadata("mutableList.kt") + public void testMutableList() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/mutableList.kt"); + } + + @Test + @TestMetadata("nonCommutativeRepeat.kt") + public void testNonCommutativeRepeat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonCommutativeRepeat.kt"); + } + + @Test + @TestMetadata("nonRepeatingAssignment.kt") + public void testNonRepeatingAssignment() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/nonRepeatingAssignment.kt"); + } + + @Test + @TestMetadata("OperatorAssignment.kt") + public void testOperatorAssignment() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/OperatorAssignment.kt"); + } + + @Test + @TestMetadata("plusAssignConflict.kt") + public void testPlusAssignConflict() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/plusAssignConflict.kt"); + } + + @Test + @TestMetadata("rightSideRepeat.kt") + public void testRightSideRepeat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/rightSideRepeat.kt"); + } + + @Test + @TestMetadata("simpleAssign.kt") + public void testSimpleAssign() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/simpleAssign.kt"); + } + + @Test + @TestMetadata("validAddition.kt") + public void testValidAddition() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validAddition.kt"); + } + + @Test + @TestMetadata("validSubtraction.kt") + public void testValidSubtraction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/canBeReplacedWithOperatorAssignment/validSubtraction.kt"); + } + } + + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker") + @TestDataPath("$PROJECT_ROOT") + public class EmptyRangeChecker extends AbstractFirDiagnosticsWithLightTreeTest { + @Test + public void testAllFilesPresentInEmptyRangeChecker() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("NoWarning.kt") + public void testNoWarning() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/NoWarning.kt"); + } + + @Test + @TestMetadata("Warning.kt") + public void testWarning() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/emptyRangeChecker/Warning.kt"); + } + } + + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod") + @TestDataPath("$PROJECT_ROOT") + public class RedundantCallOfConversionMethod extends AbstractFirDiagnosticsWithLightTreeTest { + @Test + public void testAllFilesPresentInRedundantCallOfConversionMethod() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("booleanToInt.kt") + public void testBooleanToInt() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/booleanToInt.kt"); + } + + @Test + @TestMetadata("byte.kt") + public void testByte() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/byte.kt"); + } + + @Test + @TestMetadata("char.kt") + public void testChar() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/char.kt"); + } + + @Test + @TestMetadata("double.kt") + public void testDouble() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/double.kt"); + } + + @Test + @TestMetadata("float.kt") + public void testFloat() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/float.kt"); + } + + @Test + @TestMetadata("int.kt") + public void testInt() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/int.kt"); + } + + @Test + @TestMetadata("long.kt") + public void testLong() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/long.kt"); + } + + @Test + @TestMetadata("nullable.kt") + public void testNullable() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable.kt"); + } + + @Test + @TestMetadata("nullable2.kt") + public void testNullable2() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/nullable2.kt"); + } + + @Test + @TestMetadata("safeString.kt") + public void testSafeString() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString.kt"); + } + + @Test + @TestMetadata("safeString2.kt") + public void testSafeString2() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/safeString2.kt"); + } + + @Test + @TestMetadata("short.kt") + public void testShort() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/short.kt"); + } + + @Test + @TestMetadata("string.kt") + public void testString() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/string.kt"); + } + + @Test + @TestMetadata("StringTemplate.kt") + public void testStringTemplate() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/StringTemplate.kt"); + } + + @Test + @TestMetadata("toOtherType.kt") + public void testToOtherType() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/toOtherType.kt"); + } + + @Test + @TestMetadata("uByte.kt") + public void testUByte() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uByte.kt"); + } + + @Test + @TestMetadata("uInt.kt") + public void testUInt() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uInt.kt"); + } + + @Test + @TestMetadata("uLong.kt") + public void testULong() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uLong.kt"); + } + + @Test + @TestMetadata("uShort.kt") + public void testUShort() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/uShort.kt"); + } + + @Test + @TestMetadata("variable.kt") + public void testVariable() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/RedundantCallOfConversionMethod/variable.kt"); + } + } + + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused") + @TestDataPath("$PROJECT_ROOT") + public class Unused extends AbstractFirDiagnosticsWithLightTreeTest { + @Test + public void testAllFilesPresentInUnused() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("classProperty.kt") + public void testClassProperty() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/classProperty.kt"); + } + + @Test + @TestMetadata("invoke.kt") + public void testInvoke() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/invoke.kt"); + } + + @Test + @TestMetadata("lambda.kt") + public void testLambda() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/lambda.kt"); + } + + @Test + @TestMetadata("localVariable.kt") + public void testLocalVariable() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/localVariable.kt"); + } + + @Test + @TestMetadata("manyLocalVariables.kt") + public void testManyLocalVariables() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/manyLocalVariables.kt"); + } + + @Test + @TestMetadata("usedInAnnotationArguments.kt") + public void testUsedInAnnotationArguments() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/usedInAnnotationArguments.kt"); + } + + @Test + @TestMetadata("valueIsNeverRead.kt") + public void testValueIsNeverRead() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/unused/valueIsNeverRead.kt"); + } + } + + @Nested + @TestMetadata("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker") + @TestDataPath("$PROJECT_ROOT") + public class UselessCallOnNotNullChecker extends AbstractFirDiagnosticsWithLightTreeTest { + @Test + public void testAllFilesPresentInUselessCallOnNotNullChecker() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("Basic.kt") + public void testBasic() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Basic.kt"); + } + + @Test + @TestMetadata("NotNullType.kt") + public void testNotNullType() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullType.kt"); + } + + @Test + @TestMetadata("NotNullTypeChain.kt") + public void testNotNullTypeChain() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NotNullTypeChain.kt"); + } + + @Test + @TestMetadata("NullOrBlankSafe.kt") + public void testNullOrBlankSafe() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrBlankSafe.kt"); + } + + @Test + @TestMetadata("NullOrEmpty.kt") + public void testNullOrEmpty() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmpty.kt"); + } + + @Test + @TestMetadata("NullOrEmptyFake.kt") + public void testNullOrEmptyFake() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptyFake.kt"); + } + + @Test + @TestMetadata("NullOrEmptySafe.kt") + public void testNullOrEmptySafe() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/NullOrEmptySafe.kt"); + } + + @Test + @TestMetadata("OrEmptyFake.kt") + public void testOrEmptyFake() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/OrEmptyFake.kt"); + } + + @Test + @TestMetadata("SafeCall.kt") + public void testSafeCall() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/SafeCall.kt"); + } + + @Test + @TestMetadata("Sequence.kt") + public void testSequence() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/Sequence.kt"); + } + + @Test + @TestMetadata("String.kt") + public void testString() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/UselessCallOnNotNullChecker/String.kt"); + } + } + } + @Nested @TestMetadata("compiler/fir/analysis-tests/testData/resolve/fromBuilder") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/FirDiagnosticsDirectives.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/FirDiagnosticsDirectives.kt index eee8d9c9544..0edefff5924 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/FirDiagnosticsDirectives.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/FirDiagnosticsDirectives.kt @@ -35,4 +35,8 @@ object FirDiagnosticsDirectives : SimpleDirectivesContainer() { For enabling light tree mode use $USE_LIGHT_TREE directive """.trimIndent() ) + + val WITH_EXTENDED_CHECKERS by directive( + description = "Enable extended checkers" + ) } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/FirFrontendFacade.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/FirFrontendFacade.kt index 7d4c1695559..848e0e21b65 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/FirFrontendFacade.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/FirFrontendFacade.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.asJava.finder.JavaElementFinder import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider import org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM import org.jetbrains.kotlin.fir.analysis.FirAnalyzerFacade +import org.jetbrains.kotlin.fir.checkers.registerExtendedCommonCheckers import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider import org.jetbrains.kotlin.fir.session.FirJvmModuleInfo import org.jetbrains.kotlin.fir.session.FirSessionFactory @@ -21,7 +22,6 @@ import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives import org.jetbrains.kotlin.test.directives.model.DirectivesContainer import org.jetbrains.kotlin.test.model.* import org.jetbrains.kotlin.test.services.* -import java.io.File class FirFrontendFacade( testServices: TestServices @@ -65,7 +65,11 @@ class FirFrontendFacade( sourcesScope, project, languageVersionSettings = languageVersionSettings - ) + ) { + if (FirDiagnosticsDirectives.WITH_EXTENDED_CHECKERS in module.directives) { + registerExtendedCommonCheckers() + } + } val firAnalyzerFacade = FirAnalyzerFacade(session, languageVersionSettings, ktFiles, originalFiles, lightTreeEnabled) val firFiles = firAnalyzerFacade.runResolution() diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt index f5497d17639..374bcd86d32 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTest.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.COMPARE_WITH_LIGHT_TREE import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.USE_LIGHT_TREE +import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.WITH_EXTENDED_CHECKERS import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_STDLIB import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives @@ -75,6 +76,12 @@ abstract class AbstractFirDiagnosticTest : AbstractKotlinCompilerTest() { +WITH_STDLIB } } + + forTestsMatching("compiler/fir/analysis-tests/testData/resolve/extendedCheckers/*") { + defaultDirectives { + +WITH_EXTENDED_CHECKERS + } + } } } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractExtendedFirDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractExtendedFirDiagnosticsTest.kt deleted file mode 100644 index 342e2c07234..00000000000 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractExtendedFirDiagnosticsTest.kt +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright 2010-2020 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.fir - -import org.jetbrains.kotlin.fir.checkers.registerExtendedCommonCheckers -import org.jetbrains.kotlin.fir.session.FirSessionFactory - -abstract class AbstractExtendedFirDiagnosticsTest : AbstractFirDiagnosticsTest() { - override fun FirSessionFactory.FirSessionConfigurator.configureSession() { - registerExtendedCommonCheckers() - } -} diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractExtendedFirWithLightTreeDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractExtendedFirWithLightTreeDiagnosticsTest.kt deleted file mode 100644 index 1c470f159b8..00000000000 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractExtendedFirWithLightTreeDiagnosticsTest.kt +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright 2010-2020 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.fir - -import org.jetbrains.kotlin.fir.checkers.registerExtendedCommonCheckers -import org.jetbrains.kotlin.fir.session.FirSessionFactory - -abstract class AbstractExtendedFirWithLightTreeDiagnosticsTest : AbstractFirDiagnosticsWithLightTreeTest() { - override fun FirSessionFactory.FirSessionConfigurator.configureSession() { - registerExtendedCommonCheckers() - } -} diff --git a/compiler/tests-for-compiler-generator/tests/org/jetbrains/kotlin/test/generators/GenerateJUnit3CompilerTests.kt b/compiler/tests-for-compiler-generator/tests/org/jetbrains/kotlin/test/generators/GenerateJUnit3CompilerTests.kt index c5ebeca80f6..e099bf85ed6 100644 --- a/compiler/tests-for-compiler-generator/tests/org/jetbrains/kotlin/test/generators/GenerateJUnit3CompilerTests.kt +++ b/compiler/tests-for-compiler-generator/tests/org/jetbrains/kotlin/test/generators/GenerateJUnit3CompilerTests.kt @@ -659,17 +659,5 @@ fun generateJUnit3CompilerTests(args: Array) { model("uncommonCases/testFiles", testMethod = "doUncommonCasesTest") } } - - testGroup("compiler/fir/analysis-tests/legacy-fir-tests/tests-gen", "compiler/fir/analysis-tests/testData") { - testClass { - model("extendedCheckers", pattern = KT_WITHOUT_DOTS_IN_NAME) - } - } - - testGroup("compiler/fir/analysis-tests/legacy-fir-tests/tests-gen", "compiler/fir/analysis-tests/testData") { - testClass { - model("extendedCheckers", pattern = KT_WITHOUT_DOTS_IN_NAME) - } - } } }