// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.k2.refactoring.safeDelete;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("refactorings/kotlin.refactorings.tests.k2")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public abstract class K2SafeDeleteTestGenerated extends AbstractK2SafeDeleteTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass")
    public static class KotlinClass extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doClassTest, this, testDataFilePath);
        }

        @TestMetadata("class1.kt")
        public void testClass1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/class1.kt");
        }

        @TestMetadata("class2.kt")
        public void testClass2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/class2.kt");
        }

        @TestMetadata("classInString.kt")
        public void testClassInString() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/classInString.kt");
        }

        @TestMetadata("classWithExternalConstructructorUsage.kt")
        public void testClassWithExternalConstructructorUsage() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/classWithExternalConstructructorUsage.kt");
        }

        @TestMetadata("classWithInternalConstructructorUsage.kt")
        public void testClassWithInternalConstructructorUsage() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/classWithInternalConstructructorUsage.kt");
        }

        @TestMetadata("enumEntry.kt")
        public void testEnumEntry() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/enumEntry.kt");
        }

        @TestMetadata("interface1.kt")
        public void testInterface1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/interface1.kt");
        }

        @TestMetadata("interface2.kt")
        public void testInterface2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/interface2.kt");
        }

        @TestMetadata("localClass1.kt")
        public void testLocalClass1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/localClass1.kt");
        }

        @TestMetadata("localClass2.kt")
        public void testLocalClass2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/localClass2.kt");
        }

        @TestMetadata("nestedClass1.kt")
        public void testNestedClass1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/nestedClass1.kt");
        }

        @TestMetadata("nestedClass2.kt")
        public void testNestedClass2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/nestedClass2.kt");
        }

        @TestMetadata("noUsages.kt")
        public void testNoUsages() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/noUsages.kt");
        }

        @TestMetadata("unsafeImport.kt")
        public void testUnsafeImport() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/kotlinClass/unsafeImport.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteClass/javaClassWithKotlin")
    public static class JavaClassWithKotlin extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doJavaClassTest, this, testDataFilePath);
        }

        @TestMetadata("ImportJavaClassToKotlin.java")
        public void testImportJavaClassToKotlin() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/javaClassWithKotlin/ImportJavaClassToKotlin.java");
        }

        @TestMetadata("javaInterfaceInSuperTypeList.java")
        public void testJavaInterfaceInSuperTypeList() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/javaClassWithKotlin/javaInterfaceInSuperTypeList.java");
        }

        @TestMetadata("javaInterfaceInSuperTypeListLast.java")
        public void testJavaInterfaceInSuperTypeListLast() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteClass/javaClassWithKotlin/javaInterfaceInSuperTypeListLast.java");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject")
    public static class KotlinObject extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doObjectTest, this, testDataFilePath);
        }

        @TestMetadata("anonymousObject.kt")
        public void testAnonymousObject() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject/anonymousObject.kt");
        }

        @TestMetadata("companionObject.kt")
        public void testCompanionObject() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject/companionObject.kt");
        }

        @TestMetadata("localObject1.kt")
        public void testLocalObject1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject/localObject1.kt");
        }

        @TestMetadata("localObject2.kt")
        public void testLocalObject2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject/localObject2.kt");
        }

        @TestMetadata("nestedObject1.kt")
        public void testNestedObject1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject/nestedObject1.kt");
        }

        @TestMetadata("nestedObject2.kt")
        public void testNestedObject2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject/nestedObject2.kt");
        }

        @TestMetadata("noUsages.kt")
        public void testNoUsages() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject/noUsages.kt");
        }

        @TestMetadata("object1.kt")
        public void testObject1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject/object1.kt");
        }

        @TestMetadata("object2.kt")
        public void testObject2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject/object2.kt");
        }

        @TestMetadata("unsafeImport.kt")
        public void testUnsafeImport() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteObject/kotlinObject/unsafeImport.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction")
    public static class KotlinFunction extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doFunctionTest, this, testDataFilePath);
        }

        @TestMetadata("fun1.kt")
        public void testFun1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/fun1.kt");
        }

        @TestMetadata("fun2.kt")
        public void testFun2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/fun2.kt");
        }

        @TestMetadata("funExt1.kt")
        public void testFunExt1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/funExt1.kt");
        }

        @TestMetadata("funExt2.kt")
        public void testFunExt2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/funExt2.kt");
        }

        @TestMetadata("implement1.kt")
        public void testImplement1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/implement1.kt");
        }

        @TestMetadata("implement2.kt")
        public void testImplement2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/implement2.kt");
        }

        @TestMetadata("localFun1.kt")
        public void testLocalFun1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/localFun1.kt");
        }

        @TestMetadata("localFun2.kt")
        public void testLocalFun2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/localFun2.kt");
        }

        @TestMetadata("localFunExt1.kt")
        public void testLocalFunExt1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/localFunExt1.kt");
        }

        @TestMetadata("localFunExt2.kt")
        public void testLocalFunExt2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/localFunExt2.kt");
        }

        @TestMetadata("noUsages.kt")
        public void testNoUsages() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/noUsages.kt");
        }

        @TestMetadata("override1.kt")
        public void testOverride1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/override1.kt");
        }

        @TestMetadata("override2.kt")
        public void testOverride2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/override2.kt");
        }

        @TestMetadata("overrideAndImplement1.kt")
        public void testOverrideAndImplement1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/overrideAndImplement1.kt");
        }

        @TestMetadata("overrideAndImplement2.kt")
        public void testOverrideAndImplement2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/overrideAndImplement2.kt");
        }

        @TestMetadata("overrideAndImplement3.kt")
        public void testOverrideAndImplement3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/overrideAndImplement3.kt");
        }

        @TestMetadata("overrideWithUsages.kt")
        public void testOverrideWithUsages() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/overrideWithUsages.kt");
        }

        @TestMetadata("withDefinitelyNotNullType.kt")
        public void testWithDefinitelyNotNullType() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunction/withDefinitelyNotNullType.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava")
    public static class KotlinFunctionWithJava extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doFunctionTestWithJava, this, testDataFilePath);
        }

        @TestMetadata("funExt.kt")
        public void testFunExt() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava/funExt.kt");
        }

        @TestMetadata("implement1.kt")
        public void testImplement1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava/implement1.kt");
        }

        @TestMetadata("implement2.kt")
        public void testImplement2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava/implement2.kt");
        }

        @TestMetadata("implement3.kt")
        public void testImplement3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava/implement3.kt");
        }

        @TestMetadata("override1.kt")
        public void testOverride1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava/override1.kt");
        }

        @TestMetadata("override2.kt")
        public void testOverride2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava/override2.kt");
        }

        @TestMetadata("override3.kt")
        public void testOverride3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava/override3.kt");
        }

        @TestMetadata("overrideAndImplement1.kt")
        public void testOverrideAndImplement1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava/overrideAndImplement1.kt");
        }

        @TestMetadata("overrideAndImplement2.kt")
        public void testOverrideAndImplement2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava/overrideAndImplement2.kt");
        }

        @TestMetadata("usageInOverrideToDelete.kt")
        public void testUsageInOverrideToDelete() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/kotlinFunctionWithJava/usageInOverrideToDelete.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/javaFunctionWithKotlin")
    public static class JavaFunctionWithKotlin extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doJavaMethodTest, this, testDataFilePath);
        }

        @TestMetadata("mixedHierarchy1.kt")
        public void testMixedHierarchy1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/javaFunctionWithKotlin/mixedHierarchy1.kt");
        }

        @TestMetadata("mixedHierarchy2.kt")
        public void testMixedHierarchy2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteFunction/javaFunctionWithKotlin/mixedHierarchy2.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty")
    public static class KotlinProperty extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doPropertyTest, this, testDataFilePath);
        }

        @TestMetadata("implement1.kt")
        public void testImplement1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/implement1.kt");
        }

        @TestMetadata("implement2.kt")
        public void testImplement2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/implement2.kt");
        }

        @TestMetadata("implement3.kt")
        public void testImplement3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/implement3.kt");
        }

        @TestMetadata("implement4.kt")
        public void testImplement4() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/implement4.kt");
        }

        @TestMetadata("implement5.kt")
        public void testImplement5() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/implement5.kt");
        }

        @TestMetadata("implement6.kt")
        public void testImplement6() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/implement6.kt");
        }

        @TestMetadata("implement7.kt")
        public void testImplement7() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/implement7.kt");
        }

        @TestMetadata("implement8.kt")
        public void testImplement8() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/implement8.kt");
        }

        @TestMetadata("localVar.kt")
        public void testLocalVar() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/localVar.kt");
        }

        @TestMetadata("noUsages.kt")
        public void testNoUsages() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/noUsages.kt");
        }

        @TestMetadata("override1.kt")
        public void testOverride1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/override1.kt");
        }

        @TestMetadata("override2.kt")
        public void testOverride2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/override2.kt");
        }

        @TestMetadata("override3.kt")
        public void testOverride3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/override3.kt");
        }

        @TestMetadata("override4.kt")
        public void testOverride4() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/override4.kt");
        }

        @TestMetadata("overrideAndImplement1.kt")
        public void testOverrideAndImplement1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/overrideAndImplement1.kt");
        }

        @TestMetadata("overrideAndImplement2.kt")
        public void testOverrideAndImplement2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/overrideAndImplement2.kt");
        }

        @TestMetadata("overrideAndImplement3.kt")
        public void testOverrideAndImplement3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/overrideAndImplement3.kt");
        }

        @TestMetadata("overrideAndImplement4.kt")
        public void testOverrideAndImplement4() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/overrideAndImplement4.kt");
        }

        @TestMetadata("overrideWithUsages.kt")
        public void testOverrideWithUsages() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/overrideWithUsages.kt");
        }

        @TestMetadata("property1.kt")
        public void testProperty1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/property1.kt");
        }

        @TestMetadata("property2.kt")
        public void testProperty2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/property2.kt");
        }

        @TestMetadata("propertyExt1.kt")
        public void testPropertyExt1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/propertyExt1.kt");
        }

        @TestMetadata("propertyExt2.kt")
        public void testPropertyExt2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/propertyExt2.kt");
        }

        @TestMetadata("propertyInLocalObject.kt")
        public void testPropertyInLocalObject() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/propertyInLocalObject.kt");
        }

        @TestMetadata("propertyInLocalObject2.kt")
        public void testPropertyInLocalObject2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/propertyInLocalObject2.kt");
        }

        @TestMetadata("when.kt")
        public void testWhen() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/kotlinProperty/when.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/javaPropertyWithKotlin")
    public static class JavaPropertyWithKotlin extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doJavaPropertyTest, this, testDataFilePath);
        }

        @TestMetadata("middleJava1.kt")
        public void testMiddleJava1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava1.kt");
        }

        @TestMetadata("middleJava2.kt")
        public void testMiddleJava2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava2.kt");
        }

        @TestMetadata("middleJava3.kt")
        public void testMiddleJava3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava3.kt");
        }

        @TestMetadata("middleJava4.kt")
        public void testMiddleJava4() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava4.kt");
        }

        @TestMetadata("middleJava5.kt")
        public void testMiddleJava5() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava5.kt");
        }

        @TestMetadata("middleJava6.kt")
        public void testMiddleJava6() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteProperty/javaPropertyWithKotlin/middleJava6.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteTypeAlias/kotlinTypeAlias")
    public static class KotlinTypeAlias extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTypeAliasTest, this, testDataFilePath);
        }

        @TestMetadata("simple.kt")
        public void testSimple() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeAlias/kotlinTypeAlias/simple.kt");
        }

        @TestMetadata("used.kt")
        public void testUsed() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeAlias/kotlinTypeAlias/used.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter")
    public static class KotlinTypeParameter extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTypeParameterTest, this, testDataFilePath);
        }

        @TestMetadata("internalUsages1.kt")
        public void testInternalUsages1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages1.kt");
        }

        @TestMetadata("internalUsages2.kt")
        public void testInternalUsages2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages2.kt");
        }

        @TestMetadata("internalUsages3.kt")
        public void testInternalUsages3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages3.kt");
        }

        @TestMetadata("internalUsages4.kt")
        public void testInternalUsages4() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages4.kt");
        }

        @TestMetadata("internalUsages5.kt")
        public void testInternalUsages5() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/internalUsages5.kt");
        }

        @TestMetadata("safeUsagesWithConstraint1.kt")
        public void testSafeUsagesWithConstraint1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/safeUsagesWithConstraint1.kt");
        }

        @TestMetadata("safeUsagesWithConstraint2.kt")
        public void testSafeUsagesWithConstraint2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/safeUsagesWithConstraint2.kt");
        }

        @TestMetadata("subclass1.kt")
        public void testSubclass1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/subclass1.kt");
        }

        @TestMetadata("subclass2.kt")
        public void testSubclass2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/subclass2.kt");
        }

        @TestMetadata("subst1.kt")
        public void testSubst1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/subst1.kt");
        }

        @TestMetadata("subst2.kt")
        public void testSubst2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/subst2.kt");
        }

        @TestMetadata("subst3.kt")
        public void testSubst3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/subst3.kt");
        }

        @TestMetadata("subst4.kt")
        public void testSubst4() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/subst4.kt");
        }

        @TestMetadata("subst5.kt")
        public void testSubst5() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/subst5.kt");
        }

        @TestMetadata("subst6.kt")
        public void testSubst6() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/subst6.kt");
        }

        @TestMetadata("subst7.kt")
        public void testSubst7() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameter/subst7.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava")
    public static class KotlinTypeParameterWithJava extends AbstractK2SafeDeleteTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTypeParameterTestWithJava, this, testDataFilePath);
        }

        @TestMetadata("internalUsages1.kt")
        public void testInternalUsages1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages1.kt");
        }

        @TestMetadata("internalUsages2.kt")
        public void testInternalUsages2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/safeDelete/deleteTypeParameter/kotlinTypeParameterWithJava/internalUsages2.kt");
        }

        @TestMetadata("internalUsages3.kt")
