// 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.completion.test;

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("completion/tests-k1")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("../testData/smart")
public abstract class JvmSmartCompletionTestGenerated extends AbstractJvmSmartCompletionTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/afterAs")
    public static class AfterAs extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("1.kt")
        public void test1() throws Exception {
            runTest("../testData/smart/afterAs/1.kt");
        }

        @TestMetadata("2.kt")
        public void test2() throws Exception {
            runTest("../testData/smart/afterAs/2.kt");
        }

        @TestMetadata("3.kt")
        public void test3() throws Exception {
            runTest("../testData/smart/afterAs/3.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/anonymousObject")
    public static class AnonymousObject extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("1.kt")
        public void test1() throws Exception {
            runTest("../testData/smart/anonymousObject/1.kt");
        }

        @TestMetadata("2.kt")
        public void test2() throws Exception {
            runTest("../testData/smart/anonymousObject/2.kt");
        }

        @TestMetadata("ForJavaInterface.kt")
        public void testForJavaInterface() throws Exception {
            runTest("../testData/smart/anonymousObject/ForJavaInterface.kt");
        }

        @TestMetadata("UninferredTypeArgs.kt")
        public void testUninferredTypeArgs() throws Exception {
            runTest("../testData/smart/anonymousObject/UninferredTypeArgs.kt");
        }

        @TestMetadata("WithPrefix.kt")
        public void testWithPrefix() throws Exception {
            runTest("../testData/smart/anonymousObject/WithPrefix.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/callableReference")
    public static class CallableReference extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("AfterDot.kt")
        public void testAfterDot() throws Exception {
            runTest("../testData/smart/callableReference/AfterDot.kt");
        }

        @TestMetadata("ClassLiteral.kt")
        public void testClassLiteral() throws Exception {
            runTest("../testData/smart/callableReference/ClassLiteral.kt");
        }

        @TestMetadata("ClassLiteralDotJava.kt")
        public void testClassLiteralDotJava() throws Exception {
            runTest("../testData/smart/callableReference/ClassLiteralDotJava.kt");
        }

        @TestMetadata("ConcreteJavaClassExpected.kt")
        public void testConcreteJavaClassExpected() throws Exception {
            runTest("../testData/smart/callableReference/ConcreteJavaClassExpected.kt");
        }

        @TestMetadata("ConcreteKClassExpected.kt")
        public void testConcreteKClassExpected() throws Exception {
            runTest("../testData/smart/callableReference/ConcreteKClassExpected.kt");
        }

        @TestMetadata("ConcreteKClassExpectedNoDuplicates.kt")
        public void testConcreteKClassExpectedNoDuplicates() throws Exception {
            runTest("../testData/smart/callableReference/ConcreteKClassExpectedNoDuplicates.kt");
        }

        @TestMetadata("EmptyQualifier1.kt")
        public void testEmptyQualifier1() throws Exception {
            runTest("../testData/smart/callableReference/EmptyQualifier1.kt");
        }

        @TestMetadata("EmptyQualifier2.kt")
        public void testEmptyQualifier2() throws Exception {
            runTest("../testData/smart/callableReference/EmptyQualifier2.kt");
        }

        @TestMetadata("EmptyQualifier3.kt")
        public void testEmptyQualifier3() throws Exception {
            runTest("../testData/smart/callableReference/EmptyQualifier3.kt");
        }

        @TestMetadata("ExpressionQualifier.kt")
        public void testExpressionQualifier() throws Exception {
            runTest("../testData/smart/callableReference/ExpressionQualifier.kt");
        }

        @TestMetadata("NoQualifier1.kt")
        public void testNoQualifier1() throws Exception {
            runTest("../testData/smart/callableReference/NoQualifier1.kt");
        }

        @TestMetadata("NoQualifier10.kt")
        public void testNoQualifier10() throws Exception {
            runTest("../testData/smart/callableReference/NoQualifier10.kt");
        }

        @TestMetadata("NoQualifier12.kt")
        public void testNoQualifier12() throws Exception {
            runTest("../testData/smart/callableReference/NoQualifier12.kt");
        }

        @TestMetadata("NoQualifier2.kt")
        public void testNoQualifier2() throws Exception {
            runTest("../testData/smart/callableReference/NoQualifier2.kt");
        }

        @TestMetadata("NoQualifier3.kt")
        public void testNoQualifier3() throws Exception {
            runTest("../testData/smart/callableReference/NoQualifier3.kt");
        }

        @TestMetadata("NoQualifier4.kt")
        public void testNoQualifier4() throws Exception {
            runTest("../testData/smart/callableReference/NoQualifier4.kt");
        }

        @TestMetadata("NoQualifier7.kt")
        public void testNoQualifier7() throws Exception {
            runTest("../testData/smart/callableReference/NoQualifier7.kt");
        }

        @TestMetadata("NoQualifier9.kt")
        public void testNoQualifier9() throws Exception {
            runTest("../testData/smart/callableReference/NoQualifier9.kt");
        }

        @TestMetadata("NoQualifierMultipleConstructors.kt")
        public void testNoQualifierMultipleConstructors() throws Exception {
            runTest("../testData/smart/callableReference/NoQualifierMultipleConstructors.kt");
        }

        @TestMetadata("NoQualifierPropertyExpected.kt")
        public void testNoQualifierPropertyExpected() throws Exception {
            runTest("../testData/smart/callableReference/NoQualifierPropertyExpected.kt");
        }

        @TestMetadata("NonConcreteKClassExpected.kt")
        public void testNonConcreteKClassExpected() throws Exception {
            runTest("../testData/smart/callableReference/NonConcreteKClassExpected.kt");
        }

        @TestMetadata("NonEmptyQualifier1.kt")
        public void testNonEmptyQualifier1() throws Exception {
            runTest("../testData/smart/callableReference/NonEmptyQualifier1.kt");
        }

        @TestMetadata("NonEmptyQualifier2.kt")
        public void testNonEmptyQualifier2() throws Exception {
            runTest("../testData/smart/callableReference/NonEmptyQualifier2.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/constructor")
    public static class Constructor extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("ConstructorViaTypeAlias.kt")
        public void testConstructorViaTypeAlias() throws Exception {
            runTest("../testData/smart/constructor/ConstructorViaTypeAlias.kt");
        }

        @TestMetadata("ConstructorWithTypeParamsPartialSubstitution1ViaTypeAlias.kt")
        public void testConstructorWithTypeParamsPartialSubstitution1ViaTypeAlias() throws Exception {
            runTest("../testData/smart/constructor/ConstructorWithTypeParamsPartialSubstitution1ViaTypeAlias.kt");
        }

        @TestMetadata("ConstructorWithTypeParamsPartialSubstitution2ViaTypeAlias.kt")
        public void testConstructorWithTypeParamsPartialSubstitution2ViaTypeAlias() throws Exception {
            runTest("../testData/smart/constructor/ConstructorWithTypeParamsPartialSubstitution2ViaTypeAlias.kt");
        }

        @TestMetadata("ConstructorWithTypeParamsSubstitutionViaTypeAlias.kt")
        public void testConstructorWithTypeParamsSubstitutionViaTypeAlias() throws Exception {
            runTest("../testData/smart/constructor/ConstructorWithTypeParamsSubstitutionViaTypeAlias.kt");
        }

        @TestMetadata("ConstructorWithTypeParamsViaTypeAlias.kt")
        public void testConstructorWithTypeParamsViaTypeAlias() throws Exception {
            runTest("../testData/smart/constructor/ConstructorWithTypeParamsViaTypeAlias.kt");
        }

        @TestMetadata("GenericJavaClass.kt")
        public void testGenericJavaClass() throws Exception {
            runTest("../testData/smart/constructor/GenericJavaClass.kt");
        }

        @TestMetadata("GenericType.kt")
        public void testGenericType() throws Exception {
            runTest("../testData/smart/constructor/GenericType.kt");
        }

        @TestMetadata("InnerClass.kt")
        public void testInnerClass() throws Exception {
            runTest("../testData/smart/constructor/InnerClass.kt");
        }

        @TestMetadata("JavaClass.kt")
        public void testJavaClass() throws Exception {
            runTest("../testData/smart/constructor/JavaClass.kt");
        }

        @TestMetadata("NoConstructorWithQualifier.kt")
        public void testNoConstructorWithQualifier() throws Exception {
            runTest("../testData/smart/constructor/NoConstructorWithQualifier.kt");
        }

        @TestMetadata("NoInnerClassInstantiation.kt")
        public void testNoInnerClassInstantiation() throws Exception {
            runTest("../testData/smart/constructor/NoInnerClassInstantiation.kt");
        }

        @TestMetadata("Nullable.kt")
        public void testNullable() throws Exception {
            runTest("../testData/smart/constructor/Nullable.kt");
        }

        @TestMetadata("PrivateConstructorForAbstract.kt")
        public void testPrivateConstructorForAbstract() throws Exception {
            runTest("../testData/smart/constructor/PrivateConstructorForAbstract.kt");
        }

        @TestMetadata("ProtectedConstructorForAbstract.kt")
        public void testProtectedConstructorForAbstract() throws Exception {
            runTest("../testData/smart/constructor/ProtectedConstructorForAbstract.kt");
        }

        @TestMetadata("Simple.kt")
        public void testSimple() throws Exception {
            runTest("../testData/smart/constructor/Simple.kt");
        }

        @TestMetadata("StarProjection1.kt")
        public void testStarProjection1() throws Exception {
            runTest("../testData/smart/constructor/StarProjection1.kt");
        }

        @TestMetadata("StarProjection2.kt")
        public void testStarProjection2() throws Exception {
            runTest("../testData/smart/constructor/StarProjection2.kt");
        }

        @TestMetadata("WithParameters.kt")
        public void testWithParameters() throws Exception {
            runTest("../testData/smart/constructor/WithParameters.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/forLoopRange")
    public static class ForLoopRange extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("AfterDot.kt")
        public void testAfterDot() throws Exception {
            runTest("../testData/smart/forLoopRange/AfterDot.kt");
        }

        @TestMetadata("ExtensionIteratorMethod.kt")
        public void testExtensionIteratorMethod() throws Exception {
            runTest("../testData/smart/forLoopRange/ExtensionIteratorMethod.kt");
        }

        @TestMetadata("NoGenericT.kt")
        public void testNoGenericT() throws Exception {
            runTest("../testData/smart/forLoopRange/NoGenericT.kt");
        }

        @TestMetadata("Nullable.kt")
        public void testNullable() throws Exception {
            runTest("../testData/smart/forLoopRange/Nullable.kt");
        }

        @TestMetadata("Simple.kt")
        public void testSimple() throws Exception {
            runTest("../testData/smart/forLoopRange/Simple.kt");
        }

        @TestMetadata("SmartCasts.kt")
        public void testSmartCasts() throws Exception {
            runTest("../testData/smart/forLoopRange/SmartCasts.kt");
        }

        @TestMetadata("TypedLoopVar.kt")
        public void testTypedLoopVar() throws Exception {
            runTest("../testData/smart/forLoopRange/TypedLoopVar.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/frontendAgnostic")
    public static class FrontendAgnostic extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("EnumExpected.kt")
        public void testEnumExpected() throws Exception {
            runTest("../testData/smart/frontendAgnostic/EnumExpected.kt");
        }

        @TestMetadata("EnumMembers.kt")
        public void testEnumMembers() throws Exception {
            runTest("../testData/smart/frontendAgnostic/EnumMembers.kt");
        }

        @TestMetadata("IfCondition.kt")
        public void testIfCondition() throws Exception {
            runTest("../testData/smart/frontendAgnostic/IfCondition.kt");
        }

        @TestMetadata("JavaEnumMembers.kt")
        public void testJavaEnumMembers() throws Exception {
            runTest("../testData/smart/frontendAgnostic/JavaEnumMembers.kt");
        }

        @TestMetadata("JavaEnumMembersForNullable.kt")
        public void testJavaEnumMembersForNullable() throws Exception {
            runTest("../testData/smart/frontendAgnostic/JavaEnumMembersForNullable.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/functionLiterals")
    public static class FunctionLiterals extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("1.kt")
        public void test1() throws Exception {
            runTest("../testData/smart/functionLiterals/1.kt");
        }

        @TestMetadata("2.kt")
        public void test2() throws Exception {
            runTest("../testData/smart/functionLiterals/2.kt");
        }

        @TestMetadata("3.kt")
        public void test3() throws Exception {
            runTest("../testData/smart/functionLiterals/3.kt");
        }

        @TestMetadata("4.kt")
        public void test4() throws Exception {
            runTest("../testData/smart/functionLiterals/4.kt");
        }

        @TestMetadata("5.kt")
        public void test5() throws Exception {
            runTest("../testData/smart/functionLiterals/5.kt");
        }

        @TestMetadata("ExplicitParameterTypesRequired.kt")
        public void testExplicitParameterTypesRequired() throws Exception {
            runTest("../testData/smart/functionLiterals/ExplicitParameterTypesRequired.kt");
        }

        @TestMetadata("OutsideCallParenthesis1.kt")
        public void testOutsideCallParenthesis1() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesis1.kt");
        }

        @TestMetadata("OutsideCallParenthesis2.kt")
        public void testOutsideCallParenthesis2() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesis2.kt");
        }

        @TestMetadata("OutsideCallParenthesis3.kt")
        public void testOutsideCallParenthesis3() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesis3.kt");
        }

        @TestMetadata("OutsideCallParenthesis4.kt")
        public void testOutsideCallParenthesis4() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesis4.kt");
        }

        @TestMetadata("OutsideCallParenthesis5.kt")
        public void testOutsideCallParenthesis5() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesis5.kt");
        }

        @TestMetadata("OutsideCallParenthesis6.kt")
        public void testOutsideCallParenthesis6() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesis6.kt");
        }

        @TestMetadata("OutsideCallParenthesis7.kt")
        public void testOutsideCallParenthesis7() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesis7.kt");
        }

        @TestMetadata("OutsideCallParenthesis8.kt")
        public void testOutsideCallParenthesis8() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesis8.kt");
        }

        @TestMetadata("OutsideCallParenthesis9.kt")
        public void testOutsideCallParenthesis9() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesis9.kt");
        }

        @TestMetadata("OutsideCallParenthesisAndVararg1.kt")
        public void testOutsideCallParenthesisAndVararg1() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesisAndVararg1.kt");
        }

        @TestMetadata("OutsideCallParenthesisAndVararg2.kt")
        public void testOutsideCallParenthesisAndVararg2() throws Exception {
            runTest("../testData/smart/functionLiterals/OutsideCallParenthesisAndVararg2.kt");
        }

        @TestMetadata("SuspendExplicitParameterTypesRequired.kt")
        public void testSuspendExplicitParameterTypesRequired() throws Exception {
            runTest("../testData/smart/functionLiterals/SuspendExplicitParameterTypesRequired.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/generics")
    public static class Generics extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("GenericFunction1.kt")
        public void testGenericFunction1() throws Exception {
            runTest("../testData/smart/generics/GenericFunction1.kt");
        }

        @TestMetadata("GenericFunction2.kt")
        public void testGenericFunction2() throws Exception {
            runTest("../testData/smart/generics/GenericFunction2.kt");
        }

        @TestMetadata("GenericFunction3.kt")
        public void testGenericFunction3() throws Exception {
            runTest("../testData/smart/generics/GenericFunction3.kt");
        }

        @TestMetadata("GenericFunction4.kt")
        public void testGenericFunction4() throws Exception {
            runTest("../testData/smart/generics/GenericFunction4.kt");
        }

        @TestMetadata("GenericFunction5.kt")
        public void testGenericFunction5() throws Exception {
            runTest("../testData/smart/generics/GenericFunction5.kt");
        }

        @TestMetadata("GenericMethodArgument.kt")
        public void testGenericMethodArgument() throws Exception {
            runTest("../testData/smart/generics/GenericMethodArgument.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/heuristicSignatures")
    public static class HeuristicSignatures extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("Contains.kt")
        public void testContains() throws Exception {
            runTest("../testData/smart/heuristicSignatures/Contains.kt");
        }

        @TestMetadata("ContainsAll.kt")
        public void testContainsAll() throws Exception {
            runTest("../testData/smart/heuristicSignatures/ContainsAll.kt");
        }

        @TestMetadata("ContainsKey.kt")
        public void testContainsKey() throws Exception {
            runTest("../testData/smart/heuristicSignatures/ContainsKey.kt");
        }

        @TestMetadata("ContainsValue.kt")
        public void testContainsValue() throws Exception {
            runTest("../testData/smart/heuristicSignatures/ContainsValue.kt");
        }

        @TestMetadata("Get.kt")
        public void testGet() throws Exception {
            runTest("../testData/smart/heuristicSignatures/Get.kt");
        }

        @TestMetadata("GetWithBrackets.kt")
        public void testGetWithBrackets() throws Exception {
            runTest("../testData/smart/heuristicSignatures/GetWithBrackets.kt");
        }

        @TestMetadata("InOperator.kt")
        public void testInOperator() throws Exception {
            runTest("../testData/smart/heuristicSignatures/InOperator.kt");
        }

        @TestMetadata("IndexOf.kt")
        public void testIndexOf() throws Exception {
            runTest("../testData/smart/heuristicSignatures/IndexOf.kt");
        }

        @TestMetadata("LastIndexOf.kt")
        public void testLastIndexOf() throws Exception {
            runTest("../testData/smart/heuristicSignatures/LastIndexOf.kt");
        }

        @TestMetadata("MapRemove.kt")
        public void testMapRemove() throws Exception {
            runTest("../testData/smart/heuristicSignatures/MapRemove.kt");
        }

        @TestMetadata("Remove.kt")
        public void testRemove() throws Exception {
            runTest("../testData/smart/heuristicSignatures/Remove.kt");
        }

        @TestMetadata("RemoveAll.kt")
        public void testRemoveAll() throws Exception {
            runTest("../testData/smart/heuristicSignatures/RemoveAll.kt");
        }

        @TestMetadata("RetainAll.kt")
        public void testRetainAll() throws Exception {
            runTest("../testData/smart/heuristicSignatures/RetainAll.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/ifValue")
    public static class IfValue extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("1.kt")
        public void test1() throws Exception {
            runTest("../testData/smart/ifValue/1.kt");
        }

        @TestMetadata("2.kt")
        public void test2() throws Exception {
            runTest("../testData/smart/ifValue/2.kt");
        }

        @TestMetadata("3.kt")
        public void test3() throws Exception {
            runTest("../testData/smart/ifValue/3.kt");
        }

        @TestMetadata("4.kt")
        public void test4() throws Exception {
            runTest("../testData/smart/ifValue/4.kt");
        }

        @TestMetadata("InBlock1.kt")
        public void testInBlock1() throws Exception {
            runTest("../testData/smart/ifValue/InBlock1.kt");
        }

        @TestMetadata("InBlock2.kt")
        public void testInBlock2() throws Exception {
            runTest("../testData/smart/ifValue/InBlock2.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/inElvisOperator")
    public static class InElvisOperator extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("1.kt")
        public void test1() throws Exception {
            runTest("../testData/smart/inElvisOperator/1.kt");
        }

        @TestMetadata("2.kt")
        public void test2() throws Exception {
            runTest("../testData/smart/inElvisOperator/2.kt");
        }

        @TestMetadata("3.kt")
        public void test3() throws Exception {
            runTest("../testData/smart/inElvisOperator/3.kt");
        }

        @TestMetadata("4.kt")
        public void test4() throws Exception {
            runTest("../testData/smart/inElvisOperator/4.kt");
        }

        @TestMetadata("5.kt")
        public void test5() throws Exception {
            runTest("../testData/smart/inElvisOperator/5.kt");
        }

        @TestMetadata("6.kt")
        public void test6() throws Exception {
            runTest("../testData/smart/inElvisOperator/6.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/inOperator")
    public static class InOperator extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("ExtensionContains.kt")
        public void testExtensionContains() throws Exception {
            runTest("../testData/smart/inOperator/ExtensionContains.kt");
        }

        @TestMetadata("FilterByArgumentType.kt")
        public void testFilterByArgumentType() throws Exception {
            runTest("../testData/smart/inOperator/FilterByArgumentType.kt");
        }

        @TestMetadata("GenericMethod.kt")
        public void testGenericMethod() throws Exception {
            runTest("../testData/smart/inOperator/GenericMethod.kt");
        }

        @TestMetadata("GenericMethod2.kt")
        public void testGenericMethod2() throws Exception {
            runTest("../testData/smart/inOperator/GenericMethod2.kt");
        }

        @TestMetadata("GenericMethod3.kt")
        public void testGenericMethod3() throws Exception {
            runTest("../testData/smart/inOperator/GenericMethod3.kt");
        }

        @TestMetadata("NonBooleanContains.kt")
        public void testNonBooleanContains() throws Exception {
            runTest("../testData/smart/inOperator/NonBooleanContains.kt");
        }

        @TestMetadata("NotIn.kt")
        public void testNotIn() throws Exception {
            runTest("../testData/smart/inOperator/NotIn.kt");
        }

        @TestMetadata("Nullable.kt")
        public void testNullable() throws Exception {
            runTest("../testData/smart/inOperator/Nullable.kt");
        }

        @TestMetadata("Simple.kt")
        public void testSimple() throws Exception {
            runTest("../testData/smart/inOperator/Simple.kt");
        }

        @TestMetadata("SmartCasts.kt")
        public void testSmartCasts() throws Exception {
            runTest("../testData/smart/inOperator/SmartCasts.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/inheritors")
    public static class Inheritors extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("1.kt")
        public void test1() throws Exception {
            runTest("../testData/smart/inheritors/1.kt");
        }

        @TestMetadata("2.kt")
        public void test2() throws Exception {
            runTest("../testData/smart/inheritors/2.kt");
        }

        @TestMetadata("3.kt")
        public void test3() throws Exception {
            runTest("../testData/smart/inheritors/3.kt");
        }

        @TestMetadata("GenericClass1.kt")
        public void testGenericClass1() throws Exception {
            runTest("../testData/smart/inheritors/GenericClass1.kt");
        }

        @TestMetadata("GenericClass2.kt")
        public void testGenericClass2() throws Exception {
            runTest("../testData/smart/inheritors/GenericClass2.kt");
        }

        @TestMetadata("GenericClass3.kt")
        public void testGenericClass3() throws Exception {
            runTest("../testData/smart/inheritors/GenericClass3.kt");
        }

        @TestMetadata("GenericClass4.kt")
        public void testGenericClass4() throws Exception {
            runTest("../testData/smart/inheritors/GenericClass4.kt");
        }

        @TestMetadata("GenericClass5.kt")
        public void testGenericClass5() throws Exception {
            runTest("../testData/smart/inheritors/GenericClass5.kt");
        }

        @TestMetadata("GenericClass6.kt")
        public void testGenericClass6() throws Exception {
            runTest("../testData/smart/inheritors/GenericClass6.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../testData/smart/lambdaSignature")
    public static class LambdaSignature extends AbstractJvmSmartCompletionTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("ExplicitParameterTypesRequired.kt")
        public void testExplicitParameterTypesRequired() throws Exception {
