/*
 * Copyright 2010-2024 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.konan.test.blackbox;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.junit.jupiter.api.Tag;
import org.jetbrains.kotlin.konan.test.blackbox.support.group.UseExtTestCaseGroupProvider;
import org.jetbrains.kotlin.test.TargetBackend;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.util.regex.Pattern;

/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateNativeTestsKt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("native/native.tests/testData/codegen")
@TestDataPath("$PROJECT_ROOT")
@Tag("klibIrInliner")
@UseExtTestCaseGroupProvider()
public class FirNativeCodegenLocalTestWithInlinedFunInKlibGenerated extends AbstractNativeCodegenBoxTest {
  @Test
  public void testAllFilesPresentInCodegen() {
    KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
  }

  @Test
  @TestMetadata("kt62262.kt")
  public void testKt62262() {
    runTest("native/native.tests/testData/codegen/kt62262.kt");
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/associatedObjects")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class AssociatedObjects {
    @Test
    public void testAllFilesPresentInAssociatedObjects() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/associatedObjects"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("associatedObjects1_testBasics1.kt")
    public void testAssociatedObjects1_testBasics1() {
      runTest("native/native.tests/testData/codegen/associatedObjects/associatedObjects1_testBasics1.kt");
    }

    @Test
    @TestMetadata("associatedObjects1_testGlobalOptimizations1.kt")
    public void testAssociatedObjects1_testGlobalOptimizations1() {
      runTest("native/native.tests/testData/codegen/associatedObjects/associatedObjects1_testGlobalOptimizations1.kt");
    }

    @Test
    @TestMetadata("associatedObjects1_testGlobalOptimizations2.kt")
    public void testAssociatedObjects1_testGlobalOptimizations2() {
      runTest("native/native.tests/testData/codegen/associatedObjects/associatedObjects1_testGlobalOptimizations2.kt");
    }

    @Test
    @TestMetadata("associatedObjects_multiFile.kt")
    public void testAssociatedObjects_multiFile() {
      runTest("native/native.tests/testData/codegen/associatedObjects/associatedObjects_multiFile.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/bridges")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Bridges {
    @Test
    public void testAllFilesPresentInBridges() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/bridges"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("kt73823.kt")
    public void testKt73823() {
      runTest("native/native.tests/testData/codegen/bridges/kt73823.kt");
    }

    @Test
    @TestMetadata("nativePointed.kt")
    public void testNativePointed() {
      runTest("native/native.tests/testData/codegen/bridges/nativePointed.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/cinterop")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Cinterop {
    @Test
    public void testAllFilesPresentInCinterop() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/cinterop"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("arrayPointers.kt")
    public void testArrayPointers() {
      runTest("native/native.tests/testData/codegen/cinterop/arrayPointers.kt");
    }

    @Test
    @TestMetadata("auxiliarySources.kt")
    public void testAuxiliarySources() {
      runTest("native/native.tests/testData/codegen/cinterop/auxiliarySources.kt");
    }

    @Test
    @TestMetadata("bitfields.kt")
    public void testBitfields() {
      runTest("native/native.tests/testData/codegen/cinterop/bitfields.kt");
    }

    @Test
    @TestMetadata("callbacksAndVarargs.kt")
    public void testCallbacksAndVarargs() {
      runTest("native/native.tests/testData/codegen/cinterop/callbacksAndVarargs.kt");
    }

    @Test
    @TestMetadata("enums.kt")
    public void testEnums() {
      runTest("native/native.tests/testData/codegen/cinterop/enums.kt");
    }

    @Test
    @TestMetadata("forwardDeclarations.kt")
    public void testForwardDeclarations() {
      runTest("native/native.tests/testData/codegen/cinterop/forwardDeclarations.kt");
    }

    @Test
    @TestMetadata("forwardDeclarationsTwoLibs.kt")
    public void testForwardDeclarationsTwoLibs() {
      runTest("native/native.tests/testData/codegen/cinterop/forwardDeclarationsTwoLibs.kt");
    }

    @Test
    @TestMetadata("globals.kt")
    public void testGlobals() {
      runTest("native/native.tests/testData/codegen/cinterop/globals.kt");
    }

    @Test
    @TestMetadata("incompleteTypes.kt")
    public void testIncompleteTypes() {
      runTest("native/native.tests/testData/codegen/cinterop/incompleteTypes.kt");
    }

    @Test
    @TestMetadata("kt40426.kt")
    public void testKt40426() {
      runTest("native/native.tests/testData/codegen/cinterop/kt40426.kt");
    }

    @Test
    @TestMetadata("kt43265.kt")
    public void testKt43265() {
      runTest("native/native.tests/testData/codegen/cinterop/kt43265.kt");
    }

    @Test
    @TestMetadata("kt44283.kt")
    public void testKt44283() {
      runTest("native/native.tests/testData/codegen/cinterop/kt44283.kt");
    }

    @Test
    @TestMetadata("kt51925.kt")
    public void testKt51925() {
      runTest("native/native.tests/testData/codegen/cinterop/kt51925.kt");
    }

    @Test
    @TestMetadata("kt54284.kt")
    public void testKt54284() {
      runTest("native/native.tests/testData/codegen/cinterop/kt54284.kt");
    }

    @Test
    @TestMetadata("kt54284_fmodules.kt")
    public void testKt54284_fmodules() {
      runTest("native/native.tests/testData/codegen/cinterop/kt54284_fmodules.kt");
    }

    @Test
    @TestMetadata("kt55938.kt")
    public void testKt55938() {
      runTest("native/native.tests/testData/codegen/cinterop/kt55938.kt");
    }

    @Test
    @TestMetadata("kt57640_common.kt")
    public void testKt57640_common() {
      runTest("native/native.tests/testData/codegen/cinterop/kt57640_common.kt");
    }

    @Test
    @TestMetadata("kt57640_with_safe_casts.kt")
    public void testKt57640_with_safe_casts() {
      runTest("native/native.tests/testData/codegen/cinterop/kt57640_with_safe_casts.kt");
    }

    @Test
    @TestMetadata("kt57640_without_safe_casts.kt")
    public void testKt57640_without_safe_casts() {
      runTest("native/native.tests/testData/codegen/cinterop/kt57640_without_safe_casts.kt");
    }

    @Test
    @TestMetadata("kt59167.kt")
    public void testKt59167() {
      runTest("native/native.tests/testData/codegen/cinterop/kt59167.kt");
    }

    @Test
    @TestMetadata("kt63048.kt")
    public void testKt63048() {
      runTest("native/native.tests/testData/codegen/cinterop/kt63048.kt");
    }

    @Test
    @TestMetadata("kt63049.kt")
    public void testKt63049() {
      runTest("native/native.tests/testData/codegen/cinterop/kt63049.kt");
    }

    @Test
    @TestMetadata("kt64105.kt")
    public void testKt64105() {
      runTest("native/native.tests/testData/codegen/cinterop/kt64105.kt");
    }

    @Test
    @TestMetadata("kt66169.kt")
    public void testKt66169() {
      runTest("native/native.tests/testData/codegen/cinterop/kt66169.kt");
    }

    @Test
    @TestMetadata("kt71435.kt")
    public void testKt71435() {
      runTest("native/native.tests/testData/codegen/cinterop/kt71435.kt");
    }

    @Test
    @TestMetadata("kt72552.kt")
    public void testKt72552() {
      runTest("native/native.tests/testData/codegen/cinterop/kt72552.kt");
    }

    @Test
    @TestMetadata("libiconv.kt")
    public void testLibiconv() {
      runTest("native/native.tests/testData/codegen/cinterop/libiconv.kt");
    }

    @Test
    @TestMetadata("toKString.kt")
    public void testToKString() {
      runTest("native/native.tests/testData/codegen/cinterop/toKString.kt");
    }

    @Test
    @TestMetadata("workers.kt")
    public void testWorkers() {
      runTest("native/native.tests/testData/codegen/cinterop/workers.kt");
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/cinterop/basics")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class Basics {
      @Test
      @TestMetadata("1.kt")
      public void test1() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/1.kt");
      }

      @Test
      @TestMetadata("3.kt")
      public void test3() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/3.kt");
      }

      @Test
      public void testAllFilesPresentInBasics() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/cinterop/basics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("available_processors.kt")
      public void testAvailable_processors() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/available_processors.kt");
      }

      @Test
      @TestMetadata("macros.kt")
      public void testMacros() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/macros.kt");
      }

      @Test
      @TestMetadata("mangling.kt")
      public void testMangling() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/mangling.kt");
      }

      @Test
      @TestMetadata("mangling2.kt")
      public void testMangling2() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/mangling2.kt");
      }

      @Test
      @TestMetadata("mangling_keywords.kt")
      public void testMangling_keywords() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/mangling_keywords.kt");
      }

      @Test
      @TestMetadata("mangling_keywords2.kt")
      public void testMangling_keywords2() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/mangling_keywords2.kt");
      }

      @Test
      @TestMetadata("statbuf.kt")
      public void testStatbuf() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/statbuf.kt");
      }

      @Test
      @TestMetadata("strings.kt")
      public void testStrings() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/strings.kt");
      }

      @Test
      @TestMetadata("stringsWithLatin1.kt")
      public void testStringsWithLatin1() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/stringsWithLatin1.kt");
      }

      @Test
      @TestMetadata("structAnonRecordMember_ExplicitAlignment.kt")
      public void testStructAnonRecordMember_ExplicitAlignment() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/structAnonRecordMember_ExplicitAlignment.kt");
      }

      @Test
      @TestMetadata("structAnonRecordMember_ImplicitAlignment.kt")
      public void testStructAnonRecordMember_ImplicitAlignment() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/structAnonRecordMember_ImplicitAlignment.kt");
      }

      @Test
      @TestMetadata("structAnonRecordMember_Nested.kt")
      public void testStructAnonRecordMember_Nested() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/structAnonRecordMember_Nested.kt");
      }

      @Test
      @TestMetadata("structAnonym_Complicate.kt")
      public void testStructAnonym_Complicate() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/structAnonym_Complicate.kt");
      }

      @Test
      @TestMetadata("structAnonym_GLKVector3.kt")
      public void testStructAnonym_GLKVector3() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/structAnonym_GLKVector3.kt");
      }

      @Test
      @TestMetadata("structAnonym_Packed.kt")
      public void testStructAnonym_Packed() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/structAnonym_Packed.kt");
      }

      @Test
      @TestMetadata("structAnonym_Packed2.kt")
      public void testStructAnonym_Packed2() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/structAnonym_Packed2.kt");
      }

      @Test
      @TestMetadata("structAnonym_PragmaPacked.kt")
      public void testStructAnonym_PragmaPacked() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/structAnonym_PragmaPacked.kt");
      }

      @Test
      @TestMetadata("structs.kt")
      public void testStructs() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/structs.kt");
      }

      @Test
      @TestMetadata("types.kt")
      public void testTypes() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/types.kt");
      }

      @Test
      @TestMetadata("union.kt")
      public void testUnion() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/union.kt");
      }

      @Test
      @TestMetadata("values.kt")
      public void testValues() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/values.kt");
      }

      @Test
      @TestMetadata("vectors.kt")
      public void testVectors() {
        runTest("native/native.tests/testData/codegen/cinterop/basics/vectors.kt");
      }
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/cinterop/exceptions")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class Exceptions {
      @Test
      public void testAllFilesPresentInExceptions() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/cinterop/exceptions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("cCallback.kt")
      public void testCCallback() {
        runTest("native/native.tests/testData/codegen/cinterop/exceptions/cCallback.kt");
      }
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/cinterop/objc")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class Objc {
      @Test
      public void testAllFilesPresentInObjc() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/cinterop/objc"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("blockToFunction.kt")
      public void testBlockToFunction() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/blockToFunction.kt");
      }

      @Test
      @TestMetadata("blockToFunctionLifetime.kt")
      public void testBlockToFunctionLifetime() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/blockToFunctionLifetime.kt");
      }

      @Test
      @TestMetadata("direct.kt")
      public void testDirect() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/direct.kt");
      }

      @Test
      @TestMetadata("forwardDeclarationsCast.kt")
      public void testForwardDeclarationsCast() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/forwardDeclarationsCast.kt");
      }

      @Test
      @TestMetadata("kt34467.kt")
      public void testKt34467() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/kt34467.kt");
      }

      @Test
      @TestMetadata("kt48816_lazy_ir_disable.kt")
      public void testKt48816_lazy_ir_disable() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/kt48816_lazy_ir_disable.kt");
      }

      @Test
      @TestMetadata("kt48816_lazy_ir_enable.kt")
      public void testKt48816_lazy_ir_enable() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/kt48816_lazy_ir_enable.kt");
      }

      @Test
      @TestMetadata("kt49034_objcclass.kt")
      public void testKt49034_objcclass() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/kt49034_objcclass.kt");
      }

      @Test
      @TestMetadata("kt49034_struct.kt")
      public void testKt49034_struct() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/kt49034_struct.kt");
      }

      @Test
      @TestMetadata("kt53151.kt")
      public void testKt53151() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/kt53151.kt");
      }

      @Test
      @TestMetadata("kt55653.kt")
      public void testKt55653() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/kt55653.kt");
      }

      @Test
      @TestMetadata("kt65260.kt")
      public void testKt65260() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/kt65260.kt");
      }

      @Test
      @TestMetadata("overridabilityCondition.kt")
      public void testOverridabilityCondition() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/overridabilityCondition.kt");
      }

      @Test
      @TestMetadata("release_on_unattached_thread.kt")
      public void testRelease_on_unattached_thread() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/release_on_unattached_thread.kt");
      }

      @Test
      @TestMetadata("sharing.kt")
      public void testSharing() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/sharing.kt");
      }

      @Test
      @TestMetadata("sharing_with_weak.kt")
      public void testSharing_with_weak() {
        runTest("native/native.tests/testData/codegen/cinterop/objc/sharing_with_weak.kt");
      }
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/cinterop/packages")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class Packages {
      @Test
      public void testAllFilesPresentInPackages() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/cinterop/packages"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("dotFnameNested1.kt")
      public void testDotFnameNested1() {
        runTest("native/native.tests/testData/codegen/cinterop/packages/dotFnameNested1.kt");
      }

      @Test
      @TestMetadata("dotFnameNested2.kt")
      public void testDotFnameNested2() {
        runTest("native/native.tests/testData/codegen/cinterop/packages/dotFnameNested2.kt");
      }

      @Test
      @TestMetadata("dotFnameRoot.kt")
      public void testDotFnameRoot() {
        runTest("native/native.tests/testData/codegen/cinterop/packages/dotFnameRoot.kt");
      }

      @Test
      @TestMetadata("nested1.kt")
      public void testNested1() {
        runTest("native/native.tests/testData/codegen/cinterop/packages/nested1.kt");
      }

      @Test
      @TestMetadata("nested2.kt")
      public void testNested2() {
        runTest("native/native.tests/testData/codegen/cinterop/packages/nested2.kt");
      }

      @Test
      @TestMetadata("root.kt")
      public void testRoot() {
        runTest("native/native.tests/testData/codegen/cinterop/packages/root.kt");
      }
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/cinterop/threadStates")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class ThreadStates {
      @Test
      public void testAllFilesPresentInThreadStates() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/cinterop/threadStates"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("callback.kt")
      public void testCallback() {
        runTest("native/native.tests/testData/codegen/cinterop/threadStates/callback.kt");
      }

      @Test
      @TestMetadata("callbackOnSeparateThread.kt")
      public void testCallbackOnSeparateThread() {
        runTest("native/native.tests/testData/codegen/cinterop/threadStates/callbackOnSeparateThread.kt");
      }

      @Test
      @TestMetadata("callbackWithException.kt")
      public void testCallbackWithException() {
        runTest("native/native.tests/testData/codegen/cinterop/threadStates/callbackWithException.kt");
      }

      @Test
      @TestMetadata("callbackWithFinally.kt")
      public void testCallbackWithFinally() {
        runTest("native/native.tests/testData/codegen/cinterop/threadStates/callbackWithFinally.kt");
      }

      @Test
      @TestMetadata("callbackWithFinallyNoCatch.kt")
      public void testCallbackWithFinallyNoCatch() {
        runTest("native/native.tests/testData/codegen/cinterop/threadStates/callbackWithFinallyNoCatch.kt");
      }

      @Test
      @TestMetadata("directStaticCFunctionCall.kt")
      public void testDirectStaticCFunctionCall() {
        runTest("native/native.tests/testData/codegen/cinterop/threadStates/directStaticCFunctionCall.kt");
      }

      @Test
      @TestMetadata("nativeCall.kt")
      public void testNativeCall() {
        runTest("native/native.tests/testData/codegen/cinterop/threadStates/nativeCall.kt");
      }

      @Test
      @TestMetadata("nestedCallbackWithException.kt")
      public void testNestedCallbackWithException() {
        runTest("native/native.tests/testData/codegen/cinterop/threadStates/nestedCallbackWithException.kt");
      }

      @Test
      @TestMetadata("nestedCallbackWithFinally.kt")
      public void testNestedCallbackWithFinally() {
        runTest("native/native.tests/testData/codegen/cinterop/threadStates/nestedCallbackWithFinally.kt");
      }

      @Test
      @TestMetadata("nestedCalls.kt")
      public void testNestedCalls() {
        runTest("native/native.tests/testData/codegen/cinterop/threadStates/nestedCalls.kt");
      }
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/classes")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Classes {
    @Test
    @TestMetadata("abstract_super.kt")
    public void testAbstract_super() {
      runTest("native/native.tests/testData/codegen/classes/abstract_super.kt");
    }

    @Test
    public void testAllFilesPresentInClasses() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/classes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("vtable1.kt")
    public void testVtable1() {
      runTest("native/native.tests/testData/codegen/classes/vtable1.kt");
    }

    @Test
    @TestMetadata("vtable_any.kt")
    public void testVtable_any() {
      runTest("native/native.tests/testData/codegen/classes/vtable_any.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/contracts")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Contracts {
    @Test
    public void testAllFilesPresentInContracts() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/contracts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("assertions.kt")
    public void testAssertions() {
      runTest("native/native.tests/testData/codegen/contracts/assertions.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/controlflow")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Controlflow {
    @Test
    public void testAllFilesPresentInControlflow() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/controlflow"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("for_loops_array.kt")
    public void testFor_loops_array() {
      runTest("native/native.tests/testData/codegen/controlflow/for_loops_array.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/coroutines")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Coroutines {
    @Test
    public void testAllFilesPresentInCoroutines() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/coroutines"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("inheritance.kt")
    public void testInheritance() {
      runTest("native/native.tests/testData/codegen/coroutines/inheritance.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/enum")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Enum {
    @Test
    public void testAllFilesPresentInEnum() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("identity.kt")
    public void testIdentity() {
      runTest("native/native.tests/testData/codegen/enum/identity.kt");
    }

    @Test
    @TestMetadata("isFrozen.kt")
    public void testIsFrozen() {
      runTest("native/native.tests/testData/codegen/enum/isFrozen.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/escapeAnalysis")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class EscapeAnalysis {
    @Test
    public void testAllFilesPresentInEscapeAnalysis() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/escapeAnalysis"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("kt75317.kt")
    public void testKt75317() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/kt75317.kt");
    }

    @Test
    @TestMetadata("kt75317_2.kt")
    public void testKt75317_2() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/kt75317_2.kt");
    }

    @Test
    @TestMetadata("kt75317_2_nocms.kt")
    public void testKt75317_2_nocms() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/kt75317_2_nocms.kt");
    }

    @Test
    @TestMetadata("kt75861.kt")
    public void testKt75861() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/kt75861.kt");
    }

    @Test
    @TestMetadata("kt76104.kt")
    public void testKt76104() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/kt76104.kt");
    }

    @Test
    @TestMetadata("kt76104_2.kt")
    public void testKt76104_2() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/kt76104_2.kt");
    }

    @Test
    @TestMetadata("localAllocatedArray.kt")
    public void testLocalAllocatedArray() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/localAllocatedArray.kt");
    }

    @Test
    @TestMetadata("negativeArraySize.kt")
    public void testNegativeArraySize() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/negativeArraySize.kt");
    }

    @Test
    @TestMetadata("stackAllocated.kt")
    public void testStackAllocated() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/stackAllocated.kt");
    }

    @Test
    @TestMetadata("stackAllocatedArray.kt")
    public void testStackAllocatedArray() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/stackAllocatedArray.kt");
    }

    @Test
    @TestMetadata("stackAllocatedString.kt")
    public void testStackAllocatedString() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/stackAllocatedString.kt");
    }

    @Test
    @TestMetadata("stackNotAllocated.kt")
    public void testStackNotAllocated() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/stackNotAllocated.kt");
    }

    @Test
    @TestMetadata("stackNotAllocatedString.kt")
    public void testStackNotAllocatedString() {
      runTest("native/native.tests/testData/codegen/escapeAnalysis/stackNotAllocatedString.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/exceptions")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Exceptions {
    @Test
    public void testAllFilesPresentInExceptions() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/exceptions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("check_stacktrace_format_coresymbolication.kt")
    public void testCheck_stacktrace_format_coresymbolication() {
      runTest("native/native.tests/testData/codegen/exceptions/check_stacktrace_format_coresymbolication.kt");
    }

    @Test
    @TestMetadata("check_stacktrace_format_libbacktrace.kt")
    public void testCheck_stacktrace_format_libbacktrace() {
      runTest("native/native.tests/testData/codegen/exceptions/check_stacktrace_format_libbacktrace.kt");
    }

    @Test
    @TestMetadata("except_constr_w_default.kt")
    public void testExcept_constr_w_default() {
      runTest("native/native.tests/testData/codegen/exceptions/except_constr_w_default.kt");
    }

    @Test
    @TestMetadata("kt37572_coresymbolication.kt")
    public void testKt37572_coresymbolication() {
      runTest("native/native.tests/testData/codegen/exceptions/kt37572_coresymbolication.kt");
    }

    @Test
    @TestMetadata("kt37572_libbacktrace.kt")
    public void testKt37572_libbacktrace() {
      runTest("native/native.tests/testData/codegen/exceptions/kt37572_libbacktrace.kt");
    }

    @Test
    @TestMetadata("kt49240_stack_trace_completeness.kt")
    public void testKt49240_stack_trace_completeness() {
      runTest("native/native.tests/testData/codegen/exceptions/kt49240_stack_trace_completeness.kt");
    }

    @Test
    @TestMetadata("stack_trace_inline_coresymbolication.kt")
    public void testStack_trace_inline_coresymbolication() {
      runTest("native/native.tests/testData/codegen/exceptions/stack_trace_inline_coresymbolication.kt");
    }

    @Test
    @TestMetadata("stack_trace_inline_libbacktrace.kt")
    public void testStack_trace_inline_libbacktrace() {
      runTest("native/native.tests/testData/codegen/exceptions/stack_trace_inline_libbacktrace.kt");
    }

    @Test
    @TestMetadata("throw_cleanup.kt")
    public void testThrow_cleanup() {
      runTest("native/native.tests/testData/codegen/exceptions/throw_cleanup.kt");
    }

    @Test
    @TestMetadata("throw_from_except_constr.kt")
    public void testThrow_from_except_constr() {
      runTest("native/native.tests/testData/codegen/exceptions/throw_from_except_constr.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/fileCheck")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class FileCheck {
    @Test
    @TestMetadata("adopted_function_reference.kt")
    public void testAdopted_function_reference() {
      runTest("native/native.tests/testData/codegen/fileCheck/adopted_function_reference.kt");
    }

    @Test
    public void testAllFilesPresentInFileCheck() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/fileCheck"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("assertDisabled.kt")
    public void testAssertDisabled() {
      runTest("native/native.tests/testData/codegen/fileCheck/assertDisabled.kt");
    }

    @Test
    @TestMetadata("assertDisabledInConditionAndMessage.kt")
    public void testAssertDisabledInConditionAndMessage() {
      runTest("native/native.tests/testData/codegen/fileCheck/assertDisabledInConditionAndMessage.kt");
    }

    @Test
    @TestMetadata("assertDisabledInlined.kt")
    public void testAssertDisabledInlined() {
      runTest("native/native.tests/testData/codegen/fileCheck/assertDisabledInlined.kt");
    }

    @Test
    @TestMetadata("assertDisabledInlinedCrossModule.kt")
    public void testAssertDisabledInlinedCrossModule() {
      runTest("native/native.tests/testData/codegen/fileCheck/assertDisabledInlinedCrossModule.kt");
    }

    @Test
    @TestMetadata("atomics.kt")
    public void testAtomics() {
      runTest("native/native.tests/testData/codegen/fileCheck/atomics.kt");
    }

    @Test
    @TestMetadata("bce.kt")
    public void testBce() {
      runTest("native/native.tests/testData/codegen/fileCheck/bce.kt");
    }

    @Test
    @TestMetadata("bridges.kt")
    public void testBridges() {
      runTest("native/native.tests/testData/codegen/fileCheck/bridges.kt");
    }

    @Test
    @TestMetadata("constants_merge.kt")
    public void testConstants_merge() {
      runTest("native/native.tests/testData/codegen/fileCheck/constants_merge.kt");
    }

    @Test
    @TestMetadata("default_parameters_dont_box.kt")
    public void testDefault_parameters_dont_box() {
      runTest("native/native.tests/testData/codegen/fileCheck/default_parameters_dont_box.kt");
    }

    @Test
    @TestMetadata("delegated_references_are_const.kt")
    public void testDelegated_references_are_const() {
      runTest("native/native.tests/testData/codegen/fileCheck/delegated_references_are_const.kt");
    }

    @Test
    @TestMetadata("enumWithDifferentFileOrder.kt")
    public void testEnumWithDifferentFileOrder() {
      runTest("native/native.tests/testData/codegen/fileCheck/enumWithDifferentFileOrder.kt");
    }

    @Test
    @TestMetadata("enum_when.kt")
    public void testEnum_when() {
      runTest("native/native.tests/testData/codegen/fileCheck/enum_when.kt");
    }

    @Test
    @TestMetadata("escape_analysis.kt")
    public void testEscape_analysis() {
      runTest("native/native.tests/testData/codegen/fileCheck/escape_analysis.kt");
    }

    @Test
    @TestMetadata("filecheck_expected_failure.kt")
    public void testFilecheck_expected_failure() {
      runTest("native/native.tests/testData/codegen/fileCheck/filecheck_expected_failure.kt");
    }

    @Test
    @TestMetadata("force_arm_instruction_set.kt")
    public void testForce_arm_instruction_set() {
      runTest("native/native.tests/testData/codegen/fileCheck/force_arm_instruction_set.kt");
    }

    @Test
    @TestMetadata("function_attributes_at_callsite.kt")
    public void testFunction_attributes_at_callsite() {
      runTest("native/native.tests/testData/codegen/fileCheck/function_attributes_at_callsite.kt");
    }

    @Test
    @TestMetadata("generic_function_references.kt")
    public void testGeneric_function_references() {
      runTest("native/native.tests/testData/codegen/fileCheck/generic_function_references.kt");
    }

    @Test
    @TestMetadata("generic_safe_casts.kt")
    public void testGeneric_safe_casts() {
      runTest("native/native.tests/testData/codegen/fileCheck/generic_safe_casts.kt");
    }

    @Test
    @TestMetadata("inline.kt")
    public void testInline() {
      runTest("native/native.tests/testData/codegen/fileCheck/inline.kt");
    }

    @Test
    @TestMetadata("inline_property.kt")
    public void testInline_property() {
      runTest("native/native.tests/testData/codegen/fileCheck/inline_property.kt");
    }

    @Test
    @TestMetadata("intrinsics.kt")
    public void testIntrinsics() {
      runTest("native/native.tests/testData/codegen/fileCheck/intrinsics.kt");
    }

    @Test
    @TestMetadata("kt49847_class.kt")
    public void testKt49847_class() {
      runTest("native/native.tests/testData/codegen/fileCheck/kt49847_class.kt");
    }

    @Test
    @TestMetadata("kt49847_generic.kt")
    public void testKt49847_generic() {
      runTest("native/native.tests/testData/codegen/fileCheck/kt49847_generic.kt");
    }

    @Test
    @TestMetadata("kt49847_generic_receiver.kt")
    public void testKt49847_generic_receiver() {
      runTest("native/native.tests/testData/codegen/fileCheck/kt49847_generic_receiver.kt");
    }

    @Test
    @TestMetadata("kt49847_sam_Any.kt")
    public void testKt49847_sam_Any() {
      runTest("native/native.tests/testData/codegen/fileCheck/kt49847_sam_Any.kt");
    }

    @Test
    @TestMetadata("kt49847_sam_Any_generic.kt")
    public void testKt49847_sam_Any_generic() {
      runTest("native/native.tests/testData/codegen/fileCheck/kt49847_sam_Any_generic.kt");
    }

    @Test
    @TestMetadata("kt49847_sam_Int.kt")
    public void testKt49847_sam_Int() {
      runTest("native/native.tests/testData/codegen/fileCheck/kt49847_sam_Int.kt");
    }

    @Test
    @TestMetadata("kt49847_sam_Int_generic.kt")
    public void testKt49847_sam_Int_generic() {
      runTest("native/native.tests/testData/codegen/fileCheck/kt49847_sam_Int_generic.kt");
    }

    @Test
    @TestMetadata("kt49847_simple_function_reference.kt")
    public void testKt49847_simple_function_reference() {
      runTest("native/native.tests/testData/codegen/fileCheck/kt49847_simple_function_reference.kt");
    }

    @Test
    @TestMetadata("kt58654.kt")
    public void testKt58654() {
      runTest("native/native.tests/testData/codegen/fileCheck/kt58654.kt");
    }

    @Test
    @TestMetadata("kt68034.kt")
    public void testKt68034() {
      runTest("native/native.tests/testData/codegen/fileCheck/kt68034.kt");
    }

    @Test
    @TestMetadata("noLocalClassesInInlineFunctionExtraction.kt")
    public void testNoLocalClassesInInlineFunctionExtraction() {
      runTest("native/native.tests/testData/codegen/fileCheck/noLocalClassesInInlineFunctionExtraction.kt");
    }

    @Test
    @TestMetadata("no_frame_on_constant_object_access.kt")
    public void testNo_frame_on_constant_object_access() {
      runTest("native/native.tests/testData/codegen/fileCheck/no_frame_on_constant_object_access.kt");
    }

    @Test
    @TestMetadata("redundant_safepoints.kt")
    public void testRedundant_safepoints() {
      runTest("native/native.tests/testData/codegen/fileCheck/redundant_safepoints.kt");
    }

    @Test
    @TestMetadata("remove_redundant_type_checks.kt")
    public void testRemove_redundant_type_checks() {
      runTest("native/native.tests/testData/codegen/fileCheck/remove_redundant_type_checks.kt");
    }

    @Test
    @TestMetadata("replace_invoke_with_call.kt")
    public void testReplace_invoke_with_call() {
      runTest("native/native.tests/testData/codegen/fileCheck/replace_invoke_with_call.kt");
    }

    @Test
    @TestMetadata("runtime_attributes_compatible.kt")
    public void testRuntime_attributes_compatible() {
      runTest("native/native.tests/testData/codegen/fileCheck/runtime_attributes_compatible.kt");
    }

    @Test
    @TestMetadata("signext_zeroext0.kt")
    public void testSignext_zeroext0() {
      runTest("native/native.tests/testData/codegen/fileCheck/signext_zeroext0.kt");
    }

    @Test
    @TestMetadata("single_tls_load.kt")
    public void testSingle_tls_load() {
      runTest("native/native.tests/testData/codegen/fileCheck/single_tls_load.kt");
    }

    @Test
    @TestMetadata("smoke0.kt")
    public void testSmoke0() {
      runTest("native/native.tests/testData/codegen/fileCheck/smoke0.kt");
    }

    @Test
    @TestMetadata("stackProtector_all.kt")
    public void testStackProtector_all() {
      runTest("native/native.tests/testData/codegen/fileCheck/stackProtector_all.kt");
    }

    @Test
    @TestMetadata("stackProtector_no.kt")
    public void testStackProtector_no() {
      runTest("native/native.tests/testData/codegen/fileCheck/stackProtector_no.kt");
    }

    @Test
    @TestMetadata("stackProtector_strong.kt")
    public void testStackProtector_strong() {
      runTest("native/native.tests/testData/codegen/fileCheck/stackProtector_strong.kt");
    }

    @Test
    @TestMetadata("stackProtector_yes.kt")
    public void testStackProtector_yes() {
      runTest("native/native.tests/testData/codegen/fileCheck/stackProtector_yes.kt");
    }

    @Test
    @TestMetadata("suspend_returnNothing.kt")
    public void testSuspend_returnNothing() {
      runTest("native/native.tests/testData/codegen/fileCheck/suspend_returnNothing.kt");
    }

    @Test
    @TestMetadata("suspend_tailcalls_functions.kt")
    public void testSuspend_tailcalls_functions() {
      runTest("native/native.tests/testData/codegen/fileCheck/suspend_tailcalls_functions.kt");
    }

    @Test
    @TestMetadata("suspend_tailcalls_lambdas.kt")
    public void testSuspend_tailcalls_lambdas() {
      runTest("native/native.tests/testData/codegen/fileCheck/suspend_tailcalls_lambdas.kt");
    }

    @Test
    @TestMetadata("when.kt")
    public void testWhen() {
      runTest("native/native.tests/testData/codegen/fileCheck/when.kt");
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/fileCheck/cinterop")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class Cinterop {
      @Test
      public void testAllFilesPresentInCinterop() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/fileCheck/cinterop"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("direct.kt")
      public void testDirect() {
        runTest("native/native.tests/testData/codegen/fileCheck/cinterop/direct.kt");
      }

      @Test
      @TestMetadata("signext_zeroext_interop.kt")
      public void testSignext_zeroext_interop() {
        runTest("native/native.tests/testData/codegen/fileCheck/cinterop/signext_zeroext_interop.kt");
      }
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/fileCheck/kt53261")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class Kt53261 {
      @Test
      public void testAllFilesPresentInKt53261() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/fileCheck/kt53261"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("kt53261_inline_unbox.kt")
      public void testKt53261_inline_unbox() {
        runTest("native/native.tests/testData/codegen/fileCheck/kt53261/kt53261_inline_unbox.kt");
      }

      @Test
      @TestMetadata("kt53261_noinline_CPointer.kt")
      public void testKt53261_noinline_CPointer() {
        runTest("native/native.tests/testData/codegen/fileCheck/kt53261/kt53261_noinline_CPointer.kt");
      }

      @Test
      @TestMetadata("kt53261_noinline_NativePointed.kt")
      public void testKt53261_noinline_NativePointed() {
        runTest("native/native.tests/testData/codegen/fileCheck/kt53261/kt53261_noinline_NativePointed.kt");
      }

      @Test
      @TestMetadata("kt53261_noinline_NonNullNativePtr.kt")
      public void testKt53261_noinline_NonNullNativePtr() {
        runTest("native/native.tests/testData/codegen/fileCheck/kt53261/kt53261_noinline_NonNullNativePtr.kt");
      }

      @Test
      @TestMetadata("kt53261_noinline_StableRef.kt")
      public void testKt53261_noinline_StableRef() {
        runTest("native/native.tests/testData/codegen/fileCheck/kt53261/kt53261_noinline_StableRef.kt");
      }

      @Test
      @TestMetadata("kt53261_noinline_UByteArray.kt")
      public void testKt53261_noinline_UByteArray() {
        runTest("native/native.tests/testData/codegen/fileCheck/kt53261/kt53261_noinline_UByteArray.kt");
      }

      @Test
      @TestMetadata("kt53261_noinline_UIntArray.kt")
      public void testKt53261_noinline_UIntArray() {
        runTest("native/native.tests/testData/codegen/fileCheck/kt53261/kt53261_noinline_UIntArray.kt");
      }

      @Test
      @TestMetadata("kt53261_noinline_ULongArray.kt")
      public void testKt53261_noinline_ULongArray() {
        runTest("native/native.tests/testData/codegen/fileCheck/kt53261/kt53261_noinline_ULongArray.kt");
      }

      @Test
      @TestMetadata("kt53261_noinline_UShortArray.kt")
      public void testKt53261_noinline_UShortArray() {
        runTest("native/native.tests/testData/codegen/fileCheck/kt53261/kt53261_noinline_UShortArray.kt");
      }

      @Test
      @TestMetadata("kt53261_noinline_value_unbox.kt")
      public void testKt53261_noinline_value_unbox() {
        runTest("native/native.tests/testData/codegen/fileCheck/kt53261/kt53261_noinline_value_unbox.kt");
      }
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/fileCheck/stringConcatenationTypeNarrowing")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class StringConcatenationTypeNarrowing {
      @Test
      public void testAllFilesPresentInStringConcatenationTypeNarrowing() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/fileCheck/stringConcatenationTypeNarrowing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("kt53119_append_generated.kt")
      public void testKt53119_append_generated() {
        runTest("native/native.tests/testData/codegen/fileCheck/stringConcatenationTypeNarrowing/kt53119_append_generated.kt");
      }

      @Test
      @TestMetadata("kt53119_append_manual.kt")
      public void testKt53119_append_manual() {
        runTest("native/native.tests/testData/codegen/fileCheck/stringConcatenationTypeNarrowing/kt53119_append_manual.kt");
      }

      @Test
      @TestMetadata("kt53119_plus_extension.kt")
      public void testKt53119_plus_extension() {
        runTest("native/native.tests/testData/codegen/fileCheck/stringConcatenationTypeNarrowing/kt53119_plus_extension.kt");
      }

      @Test
      @TestMetadata("kt53119_plus_generated_noescape.kt")
      public void testKt53119_plus_generated_noescape() {
        runTest("native/native.tests/testData/codegen/fileCheck/stringConcatenationTypeNarrowing/kt53119_plus_generated_noescape.kt");
      }

      @Test
      @TestMetadata("kt53119_plus_member.kt")
      public void testKt53119_plus_member() {
        runTest("native/native.tests/testData/codegen/fileCheck/stringConcatenationTypeNarrowing/kt53119_plus_member.kt");
      }

      @Test
      @TestMetadata("kt53119_side_effect.kt")
      public void testKt53119_side_effect() {
        runTest("native/native.tests/testData/codegen/fileCheck/stringConcatenationTypeNarrowing/kt53119_side_effect.kt");
      }
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/funInterface")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class FunInterface {
    @Test
    public void testAllFilesPresentInFunInterface() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/funInterface"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("kt43887.kt")
    public void testKt43887() {
      runTest("native/native.tests/testData/codegen/funInterface/kt43887.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/initializers")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Initializers {
    @Test
    public void testAllFilesPresentInInitializers() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/initializers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("initializers6.kt")
    public void testInitializers6() {
      runTest("native/native.tests/testData/codegen/initializers/initializers6.kt");
    }

    @Test
    @TestMetadata("multipleModules2.kt")
    public void testMultipleModules2() {
      runTest("native/native.tests/testData/codegen/initializers/multipleModules2.kt");
    }

    @Test
    @TestMetadata("return1.kt")
    public void testReturn1() {
      runTest("native/native.tests/testData/codegen/initializers/return1.kt");
    }

    @Test
    @TestMetadata("return2.kt")
    public void testReturn2() {
      runTest("native/native.tests/testData/codegen/initializers/return2.kt");
    }

    @Test
    @TestMetadata("static_constantObjectInFinally.kt")
    public void testStatic_constantObjectInFinally() {
      runTest("native/native.tests/testData/codegen/initializers/static_constantObjectInFinally.kt");
    }

    @Test
    @TestMetadata("static_kType.kt")
    public void testStatic_kType() {
      runTest("native/native.tests/testData/codegen/initializers/static_kType.kt");
    }

    @Test
    @TestMetadata("static_permanent.kt")
    public void testStatic_permanent() {
      runTest("native/native.tests/testData/codegen/initializers/static_permanent.kt");
    }

    @Test
    @TestMetadata("static_reifiedKType.kt")
    public void testStatic_reifiedKType() {
      runTest("native/native.tests/testData/codegen/initializers/static_reifiedKType.kt");
    }

    @Test
    @TestMetadata("when1.kt")
    public void testWhen1() {
      runTest("native/native.tests/testData/codegen/initializers/when1.kt");
    }

    @Test
    @TestMetadata("when2.kt")
    public void testWhen2() {
      runTest("native/native.tests/testData/codegen/initializers/when2.kt");
    }

    @Test
    @TestMetadata("while1.kt")
    public void testWhile1() {
      runTest("native/native.tests/testData/codegen/initializers/while1.kt");
    }

    @Test
    @TestMetadata("while2.kt")
    public void testWhile2() {
      runTest("native/native.tests/testData/codegen/initializers/while2.kt");
    }

    @Test
    @TestMetadata("while3.kt")
    public void testWhile3() {
      runTest("native/native.tests/testData/codegen/initializers/while3.kt");
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/initializers/files")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class Files {
      @Test
      public void testAllFilesPresentInFiles() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/initializers/files"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("globalInitedBeforeThreadLocal.kt")
      public void testGlobalInitedBeforeThreadLocal() {
        runTest("native/native.tests/testData/codegen/initializers/files/globalInitedBeforeThreadLocal.kt");
      }

      @Test
      @TestMetadata("workers1.kt")
      public void testWorkers1() {
        runTest("native/native.tests/testData/codegen/initializers/files/workers1.kt");
      }

      @Test
      @TestMetadata("workers2.kt")
      public void testWorkers2() {
        runTest("native/native.tests/testData/codegen/initializers/files/workers2.kt");
      }

      @Nested
      @TestMetadata("native/native.tests/testData/codegen/initializers/files/eagerInitialization")
      @TestDataPath("$PROJECT_ROOT")
      @Tag("klibIrInliner")
      @UseExtTestCaseGroupProvider()
      public class EagerInitialization {
        @Test
        public void testAllFilesPresentInEagerInitialization() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/initializers/files/eagerInitialization"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
        }

        @Test
        @TestMetadata("global1.kt")
        public void testGlobal1() {
          runTest("native/native.tests/testData/codegen/initializers/files/eagerInitialization/global1.kt");
        }

        @Test
        @TestMetadata("global2.kt")
        public void testGlobal2() {
          runTest("native/native.tests/testData/codegen/initializers/files/eagerInitialization/global2.kt");
        }

        @Test
        @TestMetadata("threadLocal1.kt")
        public void testThreadLocal1() {
          runTest("native/native.tests/testData/codegen/initializers/files/eagerInitialization/threadLocal1.kt");
        }

        @Test
        @TestMetadata("threadLocal2.kt")
        public void testThreadLocal2() {
          runTest("native/native.tests/testData/codegen/initializers/files/eagerInitialization/threadLocal2.kt");
        }

        @Nested
        @TestMetadata("native/native.tests/testData/codegen/initializers/files/eagerInitialization/multiModule")
        @TestDataPath("$PROJECT_ROOT")
        @Tag("klibIrInliner")
        @UseExtTestCaseGroupProvider()
        public class MultiModule {
          @Test
          public void testAllFilesPresentInMultiModule() {
            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/initializers/files/eagerInitialization/multiModule"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
          }

          @Test
          @TestMetadata("global1.kt")
          public void testGlobal1() {
            runTest("native/native.tests/testData/codegen/initializers/files/eagerInitialization/multiModule/global1.kt");
          }

          @Test
          @TestMetadata("global2.kt")
          public void testGlobal2() {
            runTest("native/native.tests/testData/codegen/initializers/files/eagerInitialization/multiModule/global2.kt");
          }

          @Test
          @TestMetadata("threadLocal1.kt")
          public void testThreadLocal1() {
            runTest("native/native.tests/testData/codegen/initializers/files/eagerInitialization/multiModule/threadLocal1.kt");
          }

          @Test
          @TestMetadata("threadLocal2.kt")
          public void testThreadLocal2() {
            runTest("native/native.tests/testData/codegen/initializers/files/eagerInitialization/multiModule/threadLocal2.kt");
          }
        }
      }
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/inline")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Inline {
    @Test
    public void testAllFilesPresentInInline() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/inline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("inline18.kt")
    public void testInline18() {
      runTest("native/native.tests/testData/codegen/inline/inline18.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/inlineClass")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class InlineClass {
    @Test
    public void testAllFilesPresentInInlineClass() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/inlineClass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("inlineClass0.kt")
    public void testInlineClass0() {
      runTest("native/native.tests/testData/codegen/inlineClass/inlineClass0.kt");
    }

    @Test
    @TestMetadata("valueClass0.kt")
    public void testValueClass0() {
      runTest("native/native.tests/testData/codegen/inlineClass/valueClass0.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/interfaceCallsNCasts")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class InterfaceCallsNCasts {
    @Test
    public void testAllFilesPresentInInterfaceCallsNCasts() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/interfaceCallsNCasts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("functionNameClash.kt")
    public void testFunctionNameClash() {
      runTest("native/native.tests/testData/codegen/interfaceCallsNCasts/functionNameClash.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/interop")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Interop {
    @Test
    public void testAllFilesPresentInInterop() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/interop"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("kt61441.kt")
    public void testKt61441() {
      runTest("native/native.tests/testData/codegen/interop/kt61441.kt");
    }

    @Test
    @TestMetadata("platform_zlib.kt")
    public void testPlatform_zlib() {
      runTest("native/native.tests/testData/codegen/interop/platform_zlib.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/intrinsics")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Intrinsics {
    @Test
    public void testAllFilesPresentInIntrinsics() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/intrinsics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("interop_convertAll.kt")
    public void testInterop_convertAll() {
      runTest("native/native.tests/testData/codegen/intrinsics/interop_convertAll.kt");
    }

    @Test
    @TestMetadata("interop_convertNI.kt")
    public void testInterop_convertNI() {
      runTest("native/native.tests/testData/codegen/intrinsics/interop_convertNI.kt");
    }

    @Test
    @TestMetadata("interop_convertSimple.kt")
    public void testInterop_convertSimple() {
      runTest("native/native.tests/testData/codegen/intrinsics/interop_convertSimple.kt");
    }

    @Test
    @TestMetadata("interop_sourceCodeStruct.kt")
    public void testInterop_sourceCodeStruct() {
      runTest("native/native.tests/testData/codegen/intrinsics/interop_sourceCodeStruct.kt");
    }

    @Test
    @TestMetadata("isExperimentalMM.kt")
    public void testIsExperimentalMM() {
      runTest("native/native.tests/testData/codegen/intrinsics/isExperimentalMM.kt");
    }

    @Test
    @TestMetadata("uninitializedInstance.kt")
    public void testUninitializedInstance() {
      runTest("native/native.tests/testData/codegen/intrinsics/uninitializedInstance.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/kclass")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Kclass {
    @Test
    public void testAllFilesPresentInKclass() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/kclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("anonymousObjectInInlineFunction.kt")
    public void testAnonymousObjectInInlineFunction() {
      runTest("native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunction.kt");
    }

    @Test
    @TestMetadata("bindClassToObjCName.kt")
    public void testBindClassToObjCName() {
      runTest("native/native.tests/testData/codegen/kclass/bindClassToObjCName.kt");
    }

    @Test
    @TestMetadata("kclass0.kt")
    public void testKclass0() {
      runTest("native/native.tests/testData/codegen/kclass/kclass0.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/ktype")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Ktype {
    @Test
    public void testAllFilesPresentInKtype() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/ktype"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("ktype1_anonymousObject.kt")
    public void testKtype1_anonymousObject() {
      runTest("native/native.tests/testData/codegen/ktype/ktype1_anonymousObject.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/link")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Link {
    @Test
    public void testAllFilesPresentInLink() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/link"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("default.kt")
    public void testDefault() {
      runTest("native/native.tests/testData/codegen/link/default.kt");
    }

    @Test
    @TestMetadata("klibName.kt")
    public void testKlibName() {
      runTest("native/native.tests/testData/codegen/link/klibName.kt");
    }

    @Test
    @TestMetadata("link.kt")
    public void testLink() {
      runTest("native/native.tests/testData/codegen/link/link.kt");
    }

    @Test
    @TestMetadata("noPurgeForDependencies.kt")
    public void testNoPurgeForDependencies() {
      runTest("native/native.tests/testData/codegen/link/noPurgeForDependencies.kt");
    }

    @Test
    @TestMetadata("omitUnused.kt")
    public void testOmitUnused() {
      runTest("native/native.tests/testData/codegen/link/omitUnused.kt");
    }

    @Test
    @TestMetadata("privateFakeOverridesInherit.kt")
    public void testPrivateFakeOverridesInherit() {
      runTest("native/native.tests/testData/codegen/link/privateFakeOverridesInherit.kt");
    }

    @Test
    @TestMetadata("privateFakeOverridesOverride.kt")
    public void testPrivateFakeOverridesOverride() {
      runTest("native/native.tests/testData/codegen/link/privateFakeOverridesOverride.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/literals")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Literals {
    @Test
    public void testAllFilesPresentInLiterals() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/literals"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("empty_string.kt")
    public void testEmpty_string() {
      runTest("native/native.tests/testData/codegen/literals/empty_string.kt");
    }

    @Test
    @TestMetadata("strdedup2.kt")
    public void testStrdedup2() {
      runTest("native/native.tests/testData/codegen/literals/strdedup2.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/lower")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Lower {
    @Test
    public void testAllFilesPresentInLower() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/lower"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("immutable_blob_in_lambda.kt")
    public void testImmutable_blob_in_lambda() {
      runTest("native/native.tests/testData/codegen/lower/immutable_blob_in_lambda.kt");
    }

    @Test
    @TestMetadata("liveness_analysis_fallback.kt")
    public void testLiveness_analysis_fallback() {
      runTest("native/native.tests/testData/codegen/lower/liveness_analysis_fallback.kt");
    }

    @Test
    @TestMetadata("tailrec.kt")
    public void testTailrec() {
      runTest("native/native.tests/testData/codegen/lower/tailrec.kt");
    }

    @Test
    @TestMetadata("vararg.kt")
    public void testVararg() {
      runTest("native/native.tests/testData/codegen/lower/vararg.kt");
    }

    @Test
    @TestMetadata("vararg_of_literals.kt")
    public void testVararg_of_literals() {
      runTest("native/native.tests/testData/codegen/lower/vararg_of_literals.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/mangling")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Mangling {
    @Test
    public void testAllFilesPresentInMangling() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/mangling"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("direct.kt")
    public void testDirect() {
      runTest("native/native.tests/testData/codegen/mangling/direct.kt");
    }

    @Test
    @TestMetadata("param.kt")
    public void testParam() {
      runTest("native/native.tests/testData/codegen/mangling/param.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/object")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Object {
    @Test
    public void testAllFilesPresentInObject() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/object"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("fields2_2.kt")
    public void testFields2_2() {
      runTest("native/native.tests/testData/codegen/object/fields2_2.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/objectDeclaration")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class ObjectDeclaration {
    @Test
    public void testAllFilesPresentInObjectDeclaration() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/objectDeclaration"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("compileTime.kt")
    public void testCompileTime() {
      runTest("native/native.tests/testData/codegen/objectDeclaration/compileTime.kt");
    }

    @Test
    @TestMetadata("globalConstants_checkComputedField.kt")
    public void testGlobalConstants_checkComputedField() {
      runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkComputedField.kt");
    }

    @Test
    @TestMetadata("globalConstants_checkConstructor.kt")
    public void testGlobalConstants_checkConstructor() {
      runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkConstructor.kt");
    }

    @Test
    @TestMetadata("globalConstants_checkEmptyClass.kt")
    public void testGlobalConstants_checkEmptyClass() {
      runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkEmptyClass.kt");
    }

    @Test
    @TestMetadata("globalConstants_checkField.kt")
    public void testGlobalConstants_checkField() {
      runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkField.kt");
    }

    @Test
    @TestMetadata("globalConstants_checkInit.kt")
    public void testGlobalConstants_checkInit() {
      runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkInit.kt");
    }

    @Test
    @TestMetadata("isFrozen.kt")
    public void testIsFrozen() {
      runTest("native/native.tests/testData/codegen/objectDeclaration/isFrozen.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/reflection")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Reflection {
    @Test
    public void testAllFilesPresentInReflection() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/reflection"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/reflection/collectReferenceFieldValues")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class CollectReferenceFieldValues {
      @Test
      public void testAllFilesPresentInCollectReferenceFieldValues() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/reflection/collectReferenceFieldValues"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("bigClassWithMixedValues.kt")
      public void testBigClassWithMixedValues() {
        runTest("native/native.tests/testData/codegen/reflection/collectReferenceFieldValues/bigClassWithMixedValues.kt");
      }

      @Test
      @TestMetadata("callOnArray.kt")
      public void testCallOnArray() {
        runTest("native/native.tests/testData/codegen/reflection/collectReferenceFieldValues/callOnArray.kt");
      }

      @Test
      @TestMetadata("callOnPrimitive.kt")
      public void testCallOnPrimitive() {
        runTest("native/native.tests/testData/codegen/reflection/collectReferenceFieldValues/callOnPrimitive.kt");
      }

      @Test
      @TestMetadata("callOnPrimitiveArray.kt")
      public void testCallOnPrimitiveArray() {
        runTest("native/native.tests/testData/codegen/reflection/collectReferenceFieldValues/callOnPrimitiveArray.kt");
      }

      @Test
      @TestMetadata("callOnString.kt")
      public void testCallOnString() {
        runTest("native/native.tests/testData/codegen/reflection/collectReferenceFieldValues/callOnString.kt");
      }

      @Test
      @TestMetadata("callOnValueClass.kt")
      public void testCallOnValueClass() {
        runTest("native/native.tests/testData/codegen/reflection/collectReferenceFieldValues/callOnValueClass.kt");
      }

      @Test
      @TestMetadata("callOnValueOverPrimitiveClass.kt")
      public void testCallOnValueOverPrimitiveClass() {
        runTest("native/native.tests/testData/codegen/reflection/collectReferenceFieldValues/callOnValueOverPrimitiveClass.kt");
      }
    }

    @Nested
    @TestMetadata("native/native.tests/testData/codegen/reflection/objc")
    @TestDataPath("$PROJECT_ROOT")
    @Tag("klibIrInliner")
    @UseExtTestCaseGroupProvider()
    public class Objc {
      @Test
      public void testAllFilesPresentInObjc() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/reflection/objc"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
      }

      @Test
      @TestMetadata("class.kt")
      public void testClass() {
        runTest("native/native.tests/testData/codegen/reflection/objc/class.kt");
      }

      @Test
      @TestMetadata("platformClass.kt")
      public void testPlatformClass() {
        runTest("native/native.tests/testData/codegen/reflection/objc/platformClass.kt");
      }

      @Test
      @TestMetadata("protocol.kt")
      public void testProtocol() {
        runTest("native/native.tests/testData/codegen/reflection/objc/protocol.kt");
      }
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/serialization")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Serialization {
    @Test
    public void testAllFilesPresentInSerialization() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/serialization"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("deserialized_fields.kt")
    public void testDeserialized_fields() {
      runTest("native/native.tests/testData/codegen/serialization/deserialized_fields.kt");
    }

    @Test
    @TestMetadata("deserialized_inline0.kt")
    public void testDeserialized_inline0() {
      runTest("native/native.tests/testData/codegen/serialization/deserialized_inline0.kt");
    }

    @Test
    @TestMetadata("deserialized_listof0.kt")
    public void testDeserialized_listof0() {
      runTest("native/native.tests/testData/codegen/serialization/deserialized_listof0.kt");
    }

    @Test
    @TestMetadata("no_type_map.kt")
    public void testNo_type_map() {
      runTest("native/native.tests/testData/codegen/serialization/no_type_map.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/variables")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Variables {
    @Test
    public void testAllFilesPresentInVariables() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/variables"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("var1.kt")
    public void testVar1() {
      runTest("native/native.tests/testData/codegen/variables/var1.kt");
    }

    @Test
    @TestMetadata("var2.kt")
    public void testVar2() {
      runTest("native/native.tests/testData/codegen/variables/var2.kt");
    }

    @Test
    @TestMetadata("var3.kt")
    public void testVar3() {
      runTest("native/native.tests/testData/codegen/variables/var3.kt");
    }

    @Test
    @TestMetadata("var4.kt")
    public void testVar4() {
      runTest("native/native.tests/testData/codegen/variables/var4.kt");
    }
  }

  @Nested
  @TestMetadata("native/native.tests/testData/codegen/vector")
  @TestDataPath("$PROJECT_ROOT")
  @Tag("klibIrInliner")
  @UseExtTestCaseGroupProvider()
  public class Vector {
    @Test
    public void testAllFilesPresentInVector() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/vector"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
    }

    @Test
    @TestMetadata("default_argument.kt")
    public void testDefault_argument() {
      runTest("native/native.tests/testData/codegen/vector/default_argument.kt");
    }
  }
}
