// 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.debugger.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("jvm-debugger/test")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("testData/selectExpression")
public abstract class SelectExpressionForDebuggerTestWithAnalysisApiGenerated extends AbstractSelectExpressionForDebuggerTestWithAnalysisApi {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/selectExpression/disallowMethodCalls")
    public static class DisallowMethodCalls extends AbstractSelectExpressionForDebuggerTestWithAnalysisApi {
        @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("binaryExpression.kt")
        public void testBinaryExpression() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/binaryExpression.kt");
        }

        @TestMetadata("call.kt")
        public void testCall() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/call.kt");
        }

        @TestMetadata("expressionInPropertyInitializer.kt")
        public void testExpressionInPropertyInitializer() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/expressionInPropertyInitializer.kt");
        }

        @TestMetadata("extensionFun.kt")
        public void testExtensionFun() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/extensionFun.kt");
        }

        @TestMetadata("funArgument.kt")
        public void testFunArgument() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/funArgument.kt");
        }

        @TestMetadata("functionLiteral.kt")
        public void testFunctionLiteral() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/functionLiteral.kt");
        }

        @TestMetadata("getConvention.kt")
        public void testGetConvention() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/getConvention.kt");
        }

        @TestMetadata("infixCall.kt")
        public void testInfixCall() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/infixCall.kt");
        }

        @TestMetadata("infixCallArgument.kt")
        public void testInfixCallArgument() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/infixCallArgument.kt");
        }

        @TestMetadata("isExpression.kt")
        public void testIsExpression() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/isExpression.kt");
        }

        @TestMetadata("propertyCall.kt")
        public void testPropertyCall() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/propertyCall.kt");
        }

        @TestMetadata("qualifiedExpressionProperty.kt")
        public void testQualifiedExpressionProperty() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/qualifiedExpressionProperty.kt");
        }

        @TestMetadata("qualifiedExpressionReceiver.kt")
        public void testQualifiedExpressionReceiver() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/qualifiedExpressionReceiver.kt");
        }

        @TestMetadata("qualifiedExpressionSelector.kt")
        public void testQualifiedExpressionSelector() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/qualifiedExpressionSelector.kt");
        }

        @TestMetadata("stringLiteralRaw.kt")
        public void testStringLiteralRaw() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/stringLiteralRaw.kt");
        }

        @TestMetadata("super.kt")
        public void testSuper() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/super.kt");
        }

        @TestMetadata("superSelector.kt")
        public void testSuperSelector() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/superSelector.kt");
        }

        @TestMetadata("this.kt")
        public void testThis() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/this.kt");
        }

        @TestMetadata("thisSelector.kt")
        public void testThisSelector() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/thisSelector.kt");
        }

        @TestMetadata("thisWithLabel.kt")
        public void testThisWithLabel() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/thisWithLabel.kt");
        }

        @TestMetadata("unaryExpression.kt")
        public void testUnaryExpression() throws Exception {
            runTest("testData/selectExpression/disallowMethodCalls/unaryExpression.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/selectExpression")
    public static class Uncategorized extends AbstractSelectExpressionForDebuggerTestWithAnalysisApi {
        @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("annotation.kt")
        public void testAnnotation() throws Exception {
            runTest("testData/selectExpression/annotation.kt");
        }

        @TestMetadata("arrayExpression.kt")
        public void testArrayExpression() throws Exception {
            runTest("testData/selectExpression/arrayExpression.kt");
        }

        @TestMetadata("binaryExpression.kt")
        public void testBinaryExpression() throws Exception {
            runTest("testData/selectExpression/binaryExpression.kt");
        }

        @TestMetadata("call.kt")
        public void testCall() throws Exception {
            runTest("testData/selectExpression/call.kt");
        }

        @TestMetadata("charLiteral.kt")
        public void testCharLiteral() throws Exception {
            runTest("testData/selectExpression/charLiteral.kt");
        }

        @TestMetadata("companionObjectCall.kt")
        public void testCompanionObjectCall() throws Exception {
            runTest("testData/selectExpression/companionObjectCall.kt");
        }

        @TestMetadata("companionObjectCall2.kt")
        public void testCompanionObjectCall2() throws Exception {
            runTest("testData/selectExpression/companionObjectCall2.kt");
        }

        @TestMetadata("elvis.kt")
        public void testElvis() throws Exception {
            runTest("testData/selectExpression/elvis.kt");
        }

        @TestMetadata("expressionInPropertyInitializer.kt")
        public void testExpressionInPropertyInitializer() throws Exception {
            runTest("testData/selectExpression/expressionInPropertyInitializer.kt");
        }

        @TestMetadata("extensionFun.kt")
        public void testExtensionFun() throws Exception {
            runTest("testData/selectExpression/extensionFun.kt");
        }

        @TestMetadata("firstCallInChain.kt")
        public void testFirstCallInChain() throws Exception {
            runTest("testData/selectExpression/firstCallInChain.kt");
        }

        @TestMetadata("fullyQualified.kt")
        public void testFullyQualified() throws Exception {
            runTest("testData/selectExpression/fullyQualified.kt");
        }

        @TestMetadata("funArgument.kt")
        public void testFunArgument() throws Exception {
            runTest("testData/selectExpression/funArgument.kt");
        }

        @TestMetadata("functionLiteral.kt")
        public void testFunctionLiteral() throws Exception {
            runTest("testData/selectExpression/functionLiteral.kt");
        }

        @TestMetadata("getConvention.kt")
        public void testGetConvention() throws Exception {
            runTest("testData/selectExpression/getConvention.kt");
        }

        @TestMetadata("ifExpression.kt")
        public void testIfExpression() throws Exception {
            runTest("testData/selectExpression/ifExpression.kt");
        }

        @TestMetadata("ifStatement.kt")
        public void testIfStatement() throws Exception {
            runTest("testData/selectExpression/ifStatement.kt");
        }

        @TestMetadata("imports.kt")
        public void testImports() throws Exception {
            runTest("testData/selectExpression/imports.kt");
        }

        @TestMetadata("infixCall.kt")
        public void testInfixCall() throws Exception {
            runTest("testData/selectExpression/infixCall.kt");
        }

        @TestMetadata("infixCallArgument.kt")
        public void testInfixCallArgument() throws Exception {
            runTest("testData/selectExpression/infixCallArgument.kt");
        }

        @TestMetadata("isExpression.kt")
        public void testIsExpression() throws Exception {
            runTest("testData/selectExpression/isExpression.kt");
        }

        @TestMetadata("javaStaticMehtodCall.kt")
        public void testJavaStaticMehtodCall() throws Exception {
            runTest("testData/selectExpression/javaStaticMehtodCall.kt");
        }

        @TestMetadata("keyword.kt")
        public void testKeyword() throws Exception {
            runTest("testData/selectExpression/keyword.kt");
        }

        @TestMetadata("modifier.kt")
        public void testModifier() throws Exception {
            runTest("testData/selectExpression/modifier.kt");
        }

        @TestMetadata("nameArgument.kt")
        public void testNameArgument() throws Exception {
            runTest("testData/selectExpression/nameArgument.kt");
        }

        @TestMetadata("nestedClass.kt")
        public void testNestedClass() throws Exception {
            runTest("testData/selectExpression/nestedClass.kt");
        }

        @TestMetadata("objectLiteral.kt")
        public void testObjectLiteral() throws Exception {
            runTest("testData/selectExpression/objectLiteral.kt");
        }

        @TestMetadata("objectMethodCall.kt")
        public void testObjectMethodCall() throws Exception {
            runTest("testData/selectExpression/objectMethodCall.kt");
        }

        @TestMetadata("package.kt")
        public void testPackage() throws Exception {
            runTest("testData/selectExpression/package.kt");
        }

        @TestMetadata("param.kt")
        public void testParam() throws Exception {
            runTest("testData/selectExpression/param.kt");
        }

        @TestMetadata("propertyCall.kt")
        public void testPropertyCall() throws Exception {
            runTest("testData/selectExpression/propertyCall.kt");
        }

        @TestMetadata("propertyDeclaration.kt")
        public void testPropertyDeclaration() throws Exception {
            runTest("testData/selectExpression/propertyDeclaration.kt");
        }

        @TestMetadata("qualifiedExpressionProperty.kt")
        public void testQualifiedExpressionProperty() throws Exception {
            runTest("testData/selectExpression/qualifiedExpressionProperty.kt");
        }

        @TestMetadata("qualifiedExpressionReceiver.kt")
        public void testQualifiedExpressionReceiver() throws Exception {
            runTest("testData/selectExpression/qualifiedExpressionReceiver.kt");
        }

        @TestMetadata("qualifiedExpressionSelector.kt")
        public void testQualifiedExpressionSelector() throws Exception {
            runTest("testData/selectExpression/qualifiedExpressionSelector.kt");
        }

        @TestMetadata("stringLiteral.kt")
        public void testStringLiteral() throws Exception {
            runTest("testData/selectExpression/stringLiteral.kt");
        }

        @TestMetadata("stringLiteralRaw.kt")
        public void testStringLiteralRaw() throws Exception {
            runTest("testData/selectExpression/stringLiteralRaw.kt");
        }

        @TestMetadata("super.kt")
        public void testSuper() throws Exception {
            runTest("testData/selectExpression/super.kt");
        }

        @TestMetadata("superSelector.kt")
        public void testSuperSelector() throws Exception {
            runTest("testData/selectExpression/superSelector.kt");
        }

        @TestMetadata("this.kt")
        public void testThis() throws Exception {
            runTest("testData/selectExpression/this.kt");
        }

        @TestMetadata("thisSelector.kt")
        public void testThisSelector() throws Exception {
            runTest("testData/selectExpression/thisSelector.kt");
        }

        @TestMetadata("thisWithLabel.kt")
        public void testThisWithLabel() throws Exception {
            runTest("testData/selectExpression/thisWithLabel.kt");
        }

        @TestMetadata("unaryExpression.kt")
        public void testUnaryExpression() throws Exception {
            runTest("testData/selectExpression/unaryExpression.kt");
        }

        @TestMetadata("userType.kt")
        public void testUserType() throws Exception {
            runTest("testData/selectExpression/userType.kt");
        }

        @TestMetadata("userTypeGeneric.kt")
        public void testUserTypeGeneric() throws Exception {
            runTest("testData/selectExpression/userTypeGeneric.kt");
        }

        @TestMetadata("userTypeQualified.kt")
        public void testUserTypeQualified() throws Exception {
            runTest("testData/selectExpression/userTypeQualified.kt");
        }

        @TestMetadata("whenExpression.kt")
        public void testWhenExpression() throws Exception {
            runTest("testData/selectExpression/whenExpression.kt");
        }

        @TestMetadata("whenStatement.kt")
        public void testWhenStatement() throws Exception {
            runTest("testData/selectExpression/whenStatement.kt");
        }
    }
}
