[K/JS] Add support of compilation with ES-classes
This commit is contained in:
@@ -613,7 +613,7 @@ class GenerateIrRuntime {
|
||||
|
||||
val transformer = IrModuleToJsTransformer(context, null)
|
||||
|
||||
return transformer.generateModule(listOf(module), setOf(TranslationMode.PER_MODULE), false)
|
||||
return transformer.generateModule(listOf(module), setOf(TranslationMode.PER_MODULE_DEV), false)
|
||||
}
|
||||
|
||||
fun compile(files: List<KtFile>): String {
|
||||
|
||||
@@ -8,6 +8,8 @@ package org.jetbrains.kotlin.generators.tests
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.incremental.AbstractInvalidationTest
|
||||
import org.jetbrains.kotlin.incremental.AbstractJsIrES6InvalidationTest
|
||||
import org.jetbrains.kotlin.incremental.AbstractJsIrInvalidationTest
|
||||
import org.jetbrains.kotlin.js.test.*
|
||||
import org.jetbrains.kotlin.js.test.fir.*
|
||||
import org.jetbrains.kotlin.js.test.ir.*
|
||||
@@ -66,9 +68,13 @@ fun main(args: Array<String>) {
|
||||
}
|
||||
|
||||
testGroup("js/js.tests/tests-gen", "js/js.translator/testData") {
|
||||
testClass<AbstractInvalidationTest> {
|
||||
testClass<AbstractJsIrInvalidationTest> {
|
||||
model("incremental/invalidation/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractJsIrES6InvalidationTest> {
|
||||
model("incremental/invalidation/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR_ES6, recursive = false)
|
||||
}
|
||||
}
|
||||
|
||||
testGroup("js/js.tests/tests-gen", "compiler/testData", testRunnerMethodName = "runTest0") {
|
||||
@@ -97,7 +103,7 @@ fun main(args: Array<String>) {
|
||||
generateTestGroupSuiteWithJUnit5(args) {
|
||||
testGroup("js/js.tests/tests-gen", "js/js.translator/testData", testRunnerMethodName = "runTest0") {
|
||||
testClass<AbstractBoxJsTest> {
|
||||
model("box/", pattern = "^([^_](.+))\\.kt$", excludeDirs = listOf("closure/inlineAnonymousFunctions"))
|
||||
model("box/", pattern = "^([^_](.+))\\.kt$", excludeDirs = listOf("closure/inlineAnonymousFunctions", "es6classes"))
|
||||
}
|
||||
|
||||
testClass<AbstractSourceMapGenerationSmokeTest> {
|
||||
@@ -121,6 +127,10 @@ fun main(args: Array<String>) {
|
||||
}
|
||||
|
||||
testClass<AbstractIrBoxJsTest> {
|
||||
model("box/", pattern = "^([^_](.+))\\.kt$", excludeDirs = listOf("es6classes"))
|
||||
}
|
||||
|
||||
testClass<AbstractIrBoxJsES6Test> {
|
||||
model("box/", pattern = "^([^_](.+))\\.kt$")
|
||||
}
|
||||
|
||||
@@ -133,7 +143,7 @@ fun main(args: Array<String>) {
|
||||
}
|
||||
|
||||
testClass<AbstractFirJsBoxTest> {
|
||||
model("box/", pattern = "^([^_](.+))\\.kt$")
|
||||
model("box/", pattern = "^([^_](.+))\\.kt$", excludeDirs = listOf("es6classes"))
|
||||
}
|
||||
|
||||
// see todo on defining class
|
||||
@@ -172,6 +182,18 @@ fun main(args: Array<String>) {
|
||||
model("codegen/boxInline")
|
||||
}
|
||||
|
||||
testClass<AbstractIrJsES6CodegenBoxTest> {
|
||||
model("codegen/box", excludeDirs = jvmOnlyBoxTests)
|
||||
}
|
||||
|
||||
testClass<AbstractIrJsES6CodegenBoxErrorTest> {
|
||||
model("codegen/boxError", excludeDirs = jvmOnlyBoxTests)
|
||||
}
|
||||
|
||||
testClass<AbstractIrJsES6CodegenInlineTest> {
|
||||
model("codegen/boxInline")
|
||||
}
|
||||
|
||||
testClass<AbstractIrCodegenWasmJsInteropJsTest> {
|
||||
model("codegen/boxWasmJsInterop")
|
||||
}
|
||||
|
||||
@@ -38,13 +38,20 @@ import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.serialization.js.ModuleKind
|
||||
import org.jetbrains.kotlin.test.builders.LanguageVersionSettingsBuilder
|
||||
import org.jetbrains.kotlin.test.KotlinTestWithEnvironment
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.util.JUnit4Assertions
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty
|
||||
import org.junit.ComparisonFailure
|
||||
import java.io.File
|
||||
import java.util.EnumSet
|
||||
|
||||
abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() {
|
||||
abstract class AbstractJsIrInvalidationTest : AbstractInvalidationTest(TargetBackend.JS_IR, "incrementalOut/invalidation")
|
||||
abstract class AbstractJsIrES6InvalidationTest : AbstractInvalidationTest(TargetBackend.JS_IR_ES6, "incrementalOut/invalidationES6")
|
||||
|
||||
abstract class AbstractInvalidationTest(
|
||||
private val targetBackend: TargetBackend,
|
||||
private val workingDirPath: String
|
||||
) : KotlinTestWithEnvironment() {
|
||||
companion object {
|
||||
private val OUT_DIR_PATH = System.getProperty("kotlin.js.test.root.out.dir") ?: error("'kotlin.js.test.root.out.dir' is not set")
|
||||
private val STDLIB_KLIB = File(System.getProperty("kotlin.js.stdlib.klib.path") ?: error("Please set stdlib path")).canonicalPath
|
||||
@@ -297,7 +304,13 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() {
|
||||
irFactory = { IrFactoryImplForJsIC(WholeWorldStageController()) },
|
||||
mainArguments = null,
|
||||
compilerInterfaceFactory = { mainModule, cfg ->
|
||||
JsIrCompilerWithIC(mainModule, cfg, JsGenerationGranularity.PER_MODULE, setOf(FqName(BOX_FUNCTION_NAME)))
|
||||
JsIrCompilerWithIC(
|
||||
mainModule,
|
||||
cfg,
|
||||
JsGenerationGranularity.PER_MODULE,
|
||||
setOf(FqName(BOX_FUNCTION_NAME)),
|
||||
targetBackend == TargetBackend.JS_IR_ES6
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
@@ -418,7 +431,7 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() {
|
||||
}
|
||||
|
||||
private fun testWorkingDir(testName: String): File {
|
||||
val dir = File(File(File(OUT_DIR_PATH), "incrementalOut/invalidation"), testName)
|
||||
val dir = File(File(File(OUT_DIR_PATH), workingDirPath), testName)
|
||||
|
||||
dir.invalidateDir()
|
||||
|
||||
|
||||
@@ -77,6 +77,7 @@ class JsIrBackendFacade(
|
||||
val splitPerFile = JsEnvironmentConfigurationDirectives.SPLIT_PER_FILE in module.directives
|
||||
val perModule = JsEnvironmentConfigurationDirectives.PER_MODULE in module.directives
|
||||
val keep = module.directives[JsEnvironmentConfigurationDirectives.KEEP].toSet()
|
||||
val es6Mode = JsEnvironmentConfigurationDirectives.ES6_MODE in module.directives
|
||||
|
||||
val granularity = when {
|
||||
!firstTimeCompilation -> JsGenerationGranularity.WHOLE_PROGRAM
|
||||
@@ -98,7 +99,7 @@ class JsIrBackendFacade(
|
||||
}
|
||||
|
||||
val compiledModule = CompilerResult(
|
||||
outputs = listOf(TranslationMode.FULL, TranslationMode.PER_MODULE).associateWith {
|
||||
outputs = listOf(TranslationMode.FULL_DEV, TranslationMode.PER_MODULE_DEV).associateWith {
|
||||
val jsExecutableProducer = JsExecutableProducer(
|
||||
mainModuleName = configuration.getNotNull(CommonConfigurationKeys.MODULE_NAME),
|
||||
moduleKind = configuration.get(JSConfigurationKeys.MODULE_KIND, ModuleKind.PLAIN),
|
||||
@@ -143,7 +144,7 @@ class JsIrBackendFacade(
|
||||
exportedDeclarations = setOf(FqName.fromSegments(listOfNotNull(testPackage, TEST_FUNCTION))),
|
||||
keep = keep,
|
||||
dceRuntimeDiagnostic = null,
|
||||
es6mode = false,
|
||||
es6mode = es6Mode,
|
||||
safeExternalBoolean = JsEnvironmentConfigurationDirectives.SAFE_EXTERNAL_BOOLEAN in module.directives,
|
||||
safeExternalBooleanDiagnostic = module.directives[JsEnvironmentConfigurationDirectives.SAFE_EXTERNAL_BOOLEAN_DIAGNOSTIC].singleOrNull(),
|
||||
granularity = granularity,
|
||||
@@ -166,7 +167,7 @@ class JsIrBackendFacade(
|
||||
module.directives[JsEnvironmentConfigurationDirectives.MODULE_KIND].contains(ModuleKind.ES)
|
||||
|
||||
val outputFile =
|
||||
File(JsEnvironmentConfigurator.getJsModuleArtifactPath(testServices, module.name, TranslationMode.FULL) + module.kind.extension)
|
||||
File(JsEnvironmentConfigurator.getJsModuleArtifactPath(testServices, module.name, TranslationMode.FULL_DEV) + module.kind.extension)
|
||||
|
||||
val transformer = IrModuleToJsTransformer(
|
||||
loweredIr.context,
|
||||
@@ -180,8 +181,8 @@ class JsIrBackendFacade(
|
||||
// If perModuleOnly then skip whole program
|
||||
// (it.dce => runIrDce) && (perModuleOnly => it.perModule)
|
||||
val translationModes = TranslationMode.values()
|
||||
.filter { (it.dce || !onlyIrDce) && (!it.dce || runIrDce) && (!perModuleOnly || it.perModule) }
|
||||
.filter { it.dce == it.minimizedMemberNames }
|
||||
.filter { (it.production || !onlyIrDce) && (!it.production || runIrDce) && (!perModuleOnly || it.perModule) }
|
||||
.filter { it.production == it.minimizedMemberNames }
|
||||
.toSet()
|
||||
val compilationOut = transformer.generateModule(loweredIr.allModules, translationModes, false)
|
||||
return BinaryArtifacts.Js.JsIrArtifact(outputFile, compilationOut).dump(module)
|
||||
|
||||
@@ -39,9 +39,9 @@ class JsArtifactsDumpHandler(testServices: TestServices) : AfterAnalysisChecker(
|
||||
val minOutputDir = File(dceOutputDir, originalFile.nameWithoutExtension)
|
||||
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices), outputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.FULL_DCE_MINIMIZED_NAMES), dceOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.PER_MODULE), perModuleOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.PER_MODULE_DCE_MINIMIZED_NAMES), preModuleDceOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.FULL_PROD_MINIMIZED_NAMES), dceOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.PER_MODULE_DEV), perModuleOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.PER_MODULE_PROD_MINIMIZED_NAMES), preModuleDceOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getMinificationJsArtifactsOutputDir(testServices), minOutputDir)
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ class JsAstHandler(testServices: TestServices) : JsBinaryArtifactHandler(testSer
|
||||
val ktFiles = module.files.filter { it.isKtFile }.map { it.originalContent }
|
||||
val jsProgram = when (val artifact = info.unwrap()) {
|
||||
is BinaryArtifacts.Js.OldJsArtifact -> (artifact.translationResult as TranslationResult.Success).program
|
||||
is BinaryArtifacts.Js.JsIrArtifact -> artifact.compilerResult.outputs[TranslationMode.FULL]?.jsProgram ?: return
|
||||
is BinaryArtifacts.Js.JsIrArtifact -> artifact.compilerResult.outputs[TranslationMode.FULL_DEV]?.jsProgram ?: return
|
||||
else -> return
|
||||
}
|
||||
processJsProgram(jsProgram, ktFiles, module.targetBackend!!)
|
||||
|
||||
@@ -60,7 +60,7 @@ class JsDebugRunner(testServices: TestServices, private val localVariables: Bool
|
||||
if (esModules) return
|
||||
|
||||
// This file generated in the FULL mode should be self-sufficient.
|
||||
val jsFilePath = getAllFilesForRunner(testServices, modulesToArtifact)[TranslationMode.FULL]?.single()
|
||||
val jsFilePath = getAllFilesForRunner(testServices, modulesToArtifact)[TranslationMode.FULL_DEV]?.single()
|
||||
?: error("Only FULL translation mode is supported")
|
||||
|
||||
val mainModule = JsEnvironmentConfigurator.getMainModule(testServices)
|
||||
|
||||
+1
-1
@@ -72,7 +72,7 @@ class JsIrRecompiledArtifactsIdentityHandler(testServices: TestServices) : JsBin
|
||||
}
|
||||
|
||||
private fun Js.JsIrArtifact.allFiles(): Collection<File> {
|
||||
return listOf(outputFile) + compilerResult.outputs[TranslationMode.FULL]!!.dependencies.map { (moduleId, _) ->
|
||||
return listOf(outputFile) + compilerResult.outputs[TranslationMode.FULL_DEV]!!.dependencies.map { (moduleId, _) ->
|
||||
outputFile.augmentWithModuleName(moduleId)
|
||||
}.sortedBy { it.name }
|
||||
}
|
||||
|
||||
@@ -34,14 +34,14 @@ import java.io.File
|
||||
*/
|
||||
class JsLineNumberHandler(testServices: TestServices) : JsBinaryArtifactHandler(testServices) {
|
||||
|
||||
private val translationModeForIr = TranslationMode.PER_MODULE
|
||||
private val translationModeForIr = TranslationMode.PER_MODULE_DEV
|
||||
|
||||
override fun processAfterAllModules(someAssertionWasFailed: Boolean) {}
|
||||
|
||||
override fun processModule(module: TestModule, info: BinaryArtifacts.Js) {
|
||||
when (val artifact = info.unwrap()) {
|
||||
is BinaryArtifacts.Js.OldJsArtifact ->
|
||||
verifyModule(module, TranslationMode.FULL, artifact.translationResult.cast<TranslationResult.Success>().program, "JS")
|
||||
verifyModule(module, TranslationMode.FULL_DEV, artifact.translationResult.cast<TranslationResult.Success>().program, "JS")
|
||||
is BinaryArtifacts.Js.JsIrArtifact -> {
|
||||
val testModules = testServices.moduleStructure.modules
|
||||
val moduleId2TestModule = testModules.associateBy { it.name.safeModuleName }
|
||||
|
||||
@@ -23,10 +23,10 @@ class JsSourceMapPathRewriter(testServices: TestServices) : AbstractJsArtifactsC
|
||||
|
||||
override fun processAfterAllModules(someAssertionWasFailed: Boolean) {
|
||||
val supportedTranslationModes = arrayOf(
|
||||
TranslationMode.FULL,
|
||||
TranslationMode.FULL_DCE_MINIMIZED_NAMES,
|
||||
TranslationMode.PER_MODULE,
|
||||
TranslationMode.PER_MODULE_DCE_MINIMIZED_NAMES,
|
||||
TranslationMode.FULL_DEV,
|
||||
TranslationMode.FULL_PROD_MINIMIZED_NAMES,
|
||||
TranslationMode.PER_MODULE_DEV,
|
||||
TranslationMode.PER_MODULE_PROD_MINIMIZED_NAMES,
|
||||
)
|
||||
val testModules = testServices.moduleStructure.modules
|
||||
val allTestFiles = testModules.flatMap { it.files }
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright 2010-2021 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.js.test.ir
|
||||
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.JsEnvironmentConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.services.configuration.JsEnvironmentConfigurator
|
||||
|
||||
abstract class AbstractJsIrES6Test(
|
||||
pathToTestDir: String,
|
||||
testGroupOutputDirPrefix: String,
|
||||
) : AbstractJsIrTest(pathToTestDir, testGroupOutputDirPrefix, TargetBackend.JS_IR_ES6) {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
with(builder) {
|
||||
defaultDirectives {
|
||||
+JsEnvironmentConfigurationDirectives.ES6_MODE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractIrBoxJsES6Test : AbstractJsIrES6Test(
|
||||
pathToTestDir = "${JsEnvironmentConfigurator.TEST_DATA_DIR_PATH}/box/",
|
||||
testGroupOutputDirPrefix = "irEs6Box/"
|
||||
)
|
||||
|
||||
open class AbstractIrJsES6CodegenBoxTest : AbstractJsIrES6Test(
|
||||
pathToTestDir = "compiler/testData/codegen/box/",
|
||||
testGroupOutputDirPrefix = "codegen/irEs6Box/"
|
||||
)
|
||||
|
||||
open class AbstractIrJsES6CodegenBoxErrorTest : AbstractJsIrES6Test(
|
||||
pathToTestDir = "compiler/testData/codegen/boxError/",
|
||||
testGroupOutputDirPrefix = "codegen/irEs6BoxError/"
|
||||
)
|
||||
|
||||
open class AbstractIrJsES6CodegenInlineTest : AbstractJsIrES6Test(
|
||||
pathToTestDir = "compiler/testData/codegen/boxInline/",
|
||||
testGroupOutputDirPrefix = "codegen/irEs6BoxInline/"
|
||||
)
|
||||
@@ -29,8 +29,9 @@ import java.lang.Boolean.getBoolean
|
||||
abstract class AbstractJsIrTest(
|
||||
pathToTestDir: String,
|
||||
testGroupOutputDirPrefix: String,
|
||||
targetBackend: TargetBackend = TargetBackend.JS_IR
|
||||
) : AbstractJsBlackBoxCodegenTestBase<ClassicFrontendOutputArtifact, IrBackendInput, BinaryArtifacts.KLib>(
|
||||
FrontendKinds.ClassicFrontend, TargetBackend.JS_IR, pathToTestDir, testGroupOutputDirPrefix, skipMinification = true
|
||||
FrontendKinds.ClassicFrontend, targetBackend, pathToTestDir, testGroupOutputDirPrefix, skipMinification = true
|
||||
) {
|
||||
override val frontendFacade: Constructor<FrontendFacade<ClassicFrontendOutputArtifact>>
|
||||
get() = ::ClassicFrontendFacade
|
||||
|
||||
@@ -237,11 +237,11 @@ abstract class AbstractJsKLibABITestCase : KtUsefulTestCase() {
|
||||
|
||||
val compiledResult = transformer.generateModule(
|
||||
modules = ir.allModules,
|
||||
modes = setOf(TranslationMode.PER_MODULE),
|
||||
modes = setOf(TranslationMode.PER_MODULE_DEV),
|
||||
relativeRequirePath = false
|
||||
)
|
||||
|
||||
return compiledResult.outputs[TranslationMode.PER_MODULE] ?: error("No compiler output")
|
||||
return compiledResult.outputs[TranslationMode.PER_MODULE_DEV] ?: error("No compiler output")
|
||||
}
|
||||
|
||||
private fun KotlinCoreEnvironment.createPsiFiles(sourceDir: File): List<KtFile> {
|
||||
|
||||
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.konan.properties.propertyList
|
||||
import org.jetbrains.kotlin.library.KLIB_PROPERTY_DEPENDS
|
||||
import org.jetbrains.kotlin.library.KotlinLibrary
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.directives.JsEnvironmentConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestService
|
||||
@@ -89,7 +90,7 @@ class JsIrIncrementalDataProvider(private val testServices: TestServices) : Test
|
||||
.run { if (shouldBeGenerated()) arguments() else null }
|
||||
|
||||
runtimeKlibPath.forEach {
|
||||
recordIncrementalData(it, null, libs, configuration, mainArguments)
|
||||
recordIncrementalData(it, null, libs, configuration, mainArguments, module.targetBackend)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,7 +105,15 @@ class JsIrIncrementalDataProvider(private val testServices: TestServices) : Test
|
||||
.run { if (shouldBeGenerated()) arguments() else null }
|
||||
|
||||
val allDependencies = JsEnvironmentConfigurator.getAllRecursiveLibrariesFor(module, testServices).keys.toList()
|
||||
recordIncrementalData(path, dirtyFiles, allDependencies + library, configuration, mainArguments)
|
||||
|
||||
recordIncrementalData(
|
||||
path,
|
||||
dirtyFiles,
|
||||
allDependencies + library,
|
||||
configuration,
|
||||
mainArguments,
|
||||
module.targetBackend
|
||||
)
|
||||
}
|
||||
|
||||
private fun recordIncrementalData(
|
||||
@@ -112,7 +121,8 @@ class JsIrIncrementalDataProvider(private val testServices: TestServices) : Test
|
||||
dirtyFiles: List<String>?,
|
||||
allDependencies: List<KotlinLibrary>,
|
||||
configuration: CompilerConfiguration,
|
||||
mainArguments: List<String>?
|
||||
mainArguments: List<String>?,
|
||||
targetBackend: TargetBackend?
|
||||
) {
|
||||
val canonicalPath = File(path).canonicalPath
|
||||
val predefinedModuleCache = predefinedKlibHasIcCache[canonicalPath]
|
||||
@@ -143,6 +153,7 @@ class JsIrIncrementalDataProvider(private val testServices: TestServices) : Test
|
||||
IrFactoryImplForJsIC(WholeWorldStageController()),
|
||||
setOf(FqName.fromSegments(listOfNotNull(testPackage, JsBoxRunner.TEST_FUNCTION))),
|
||||
mainArguments,
|
||||
targetBackend == TargetBackend.JS_IR_ES6
|
||||
)
|
||||
|
||||
val moduleCache = icCache[canonicalPath] ?: TestArtifactCache(mainModuleIr.name.asString())
|
||||
|
||||
@@ -42,7 +42,7 @@ fun TestModule.getNameFor(file: TestFile, testServices: TestServices): String {
|
||||
private fun extractJsFiles(
|
||||
testServices: TestServices,
|
||||
modules: List<TestModule>,
|
||||
mode: TranslationMode = TranslationMode.FULL,
|
||||
mode: TranslationMode = TranslationMode.FULL_DEV,
|
||||
): Pair<List<String>, List<String>> {
|
||||
val outputDir = JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, mode)
|
||||
|
||||
@@ -67,13 +67,13 @@ private fun extractJsFiles(
|
||||
return before to after
|
||||
}
|
||||
|
||||
fun getAdditionalFilePathes(testServices: TestServices, mode: TranslationMode = TranslationMode.FULL): List<String> {
|
||||
fun getAdditionalFilePathes(testServices: TestServices, mode: TranslationMode = TranslationMode.FULL_DEV): List<String> {
|
||||
return getAdditionalFiles(testServices, mode, true).map { it.absolutePath }
|
||||
}
|
||||
|
||||
fun getAdditionalFiles(
|
||||
testServices: TestServices,
|
||||
mode: TranslationMode = TranslationMode.FULL,
|
||||
mode: TranslationMode = TranslationMode.FULL_DEV,
|
||||
shouldCopyFiles: Boolean = false
|
||||
): List<File> {
|
||||
val originalFile = testServices.moduleStructure.originalTestDataFiles.first()
|
||||
@@ -99,13 +99,13 @@ fun getAdditionalFiles(
|
||||
return additionalFiles
|
||||
}
|
||||
|
||||
fun getAdditionalMainFilePathes(testServices: TestServices, mode: TranslationMode = TranslationMode.FULL): List<String> {
|
||||
fun getAdditionalMainFilePathes(testServices: TestServices, mode: TranslationMode = TranslationMode.FULL_DEV): List<String> {
|
||||
return getAdditionalMainFiles(testServices, mode, shouldCopyFiles = true).map { it.absolutePath }
|
||||
}
|
||||
|
||||
fun getAdditionalMainFiles(
|
||||
testServices: TestServices,
|
||||
mode: TranslationMode = TranslationMode.FULL,
|
||||
mode: TranslationMode = TranslationMode.FULL_DEV,
|
||||
shouldCopyFiles: Boolean = false
|
||||
): List<File> {
|
||||
val originalFile = testServices.moduleStructure.originalTestDataFiles.first()
|
||||
@@ -174,7 +174,7 @@ fun getAllFilesForRunner(
|
||||
val additionalMainFiles = getAdditionalMainFilePathes(testServices)
|
||||
// Old BE
|
||||
val outputDir = JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices)
|
||||
val dceOutputDir = JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.FULL_DCE_MINIMIZED_NAMES)
|
||||
val dceOutputDir = JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.FULL_PROD_MINIMIZED_NAMES)
|
||||
|
||||
val artifactsPaths = modulesToArtifact.values.map { it.outputFile.absolutePath }.filter { !File(it).isDirectory }
|
||||
val allJsFiles = additionalFiles + inputJsFilesBefore + artifactsPaths + commonFiles + additionalMainFiles + inputJsFilesAfter
|
||||
@@ -185,12 +185,12 @@ fun getAllFilesForRunner(
|
||||
val runIrDce = JsEnvironmentConfigurationDirectives.RUN_IR_DCE in globalDirectives
|
||||
val onlyIrDce = JsEnvironmentConfigurationDirectives.ONLY_IR_DCE in globalDirectives
|
||||
if (!onlyIrDce) {
|
||||
result[TranslationMode.FULL] = allJsFiles
|
||||
result[TranslationMode.FULL_DEV] = allJsFiles
|
||||
}
|
||||
if (runIrDce) {
|
||||
val dceJsFiles = artifactsPaths.map { it.replace(outputDir.absolutePath, dceOutputDir.absolutePath) }
|
||||
val dceAllJsFiles = additionalFiles + inputJsFilesBefore + dceJsFiles + commonFiles + additionalMainFiles + inputJsFilesAfter
|
||||
result[TranslationMode.FULL_DCE_MINIMIZED_NAMES] = dceAllJsFiles
|
||||
result[TranslationMode.FULL_PROD_MINIMIZED_NAMES] = dceAllJsFiles
|
||||
}
|
||||
|
||||
return result
|
||||
@@ -199,7 +199,7 @@ fun getAllFilesForRunner(
|
||||
|
||||
fun getOnlyJsFilesForRunner(testServices: TestServices, modulesToArtifact: Map<TestModule, BinaryArtifacts.Js>): List<String> {
|
||||
return getAllFilesForRunner(testServices, modulesToArtifact).let {
|
||||
it[TranslationMode.FULL] ?: it[TranslationMode.PER_MODULE]!!
|
||||
it[TranslationMode.FULL_DEV] ?: it[TranslationMode.PER_MODULE_DEV]!!
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Generated
+377
@@ -0,0 +1,377 @@
|
||||
/*
|
||||
* Copyright 2010-2023 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.incremental;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||
import org.jetbrains.kotlin.test.TargetBackend;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateJsTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("js/js.translator/testData/incremental/invalidation")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public class JsIrES6InvalidationTestGenerated extends AbstractJsIrES6InvalidationTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.JS_IR_ES6, testDataFilePath);
|
||||
}
|
||||
|
||||
@TestMetadata("addUpdateRemoveDependentFile")
|
||||
public void testAddUpdateRemoveDependentFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentFile/");
|
||||
}
|
||||
|
||||
@TestMetadata("addUpdateRemoveDependentModule")
|
||||
public void testAddUpdateRemoveDependentModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentModule/");
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInInvalidation() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidation"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR_ES6, false);
|
||||
}
|
||||
|
||||
@TestMetadata("circleExportsUpdate")
|
||||
public void testCircleExportsUpdate() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/circleExportsUpdate/");
|
||||
}
|
||||
|
||||
@TestMetadata("circleInlineImportsUpdate")
|
||||
public void testCircleInlineImportsUpdate() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/circleInlineImportsUpdate/");
|
||||
}
|
||||
|
||||
@TestMetadata("class")
|
||||
public void testClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/class/");
|
||||
}
|
||||
|
||||
@TestMetadata("classFunctionsAndFields")
|
||||
public void testClassFunctionsAndFields() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
|
||||
}
|
||||
|
||||
@TestMetadata("companionFunction")
|
||||
public void testCompanionFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionFunction/");
|
||||
}
|
||||
|
||||
@TestMetadata("companionInlineFunction")
|
||||
public void testCompanionInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/");
|
||||
}
|
||||
|
||||
@TestMetadata("companionProperties")
|
||||
public void testCompanionProperties() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionProperties/");
|
||||
}
|
||||
|
||||
@TestMetadata("companionWithStdLibCall")
|
||||
public void testCompanionWithStdLibCall() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/");
|
||||
}
|
||||
|
||||
@TestMetadata("constVals")
|
||||
public void testConstVals() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/constVals/");
|
||||
}
|
||||
|
||||
@TestMetadata("crossModuleReferences")
|
||||
public void testCrossModuleReferences() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/crossModuleReferences/");
|
||||
}
|
||||
|
||||
@TestMetadata("eagerInitialization")
|
||||
public void testEagerInitialization() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/eagerInitialization/");
|
||||
}
|
||||
|
||||
@TestMetadata("enum")
|
||||
public void testEnum() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/enum/");
|
||||
}
|
||||
|
||||
@TestMetadata("enumsInInlineFunctions")
|
||||
public void testEnumsInInlineFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/enumsInInlineFunctions/");
|
||||
}
|
||||
|
||||
@TestMetadata("exceptionsFromInlineFunction")
|
||||
public void testExceptionsFromInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/exceptionsFromInlineFunction/");
|
||||
}
|
||||
|
||||
@TestMetadata("exportsThroughInlineFunction")
|
||||
public void testExportsThroughInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/exportsThroughInlineFunction/");
|
||||
}
|
||||
|
||||
@TestMetadata("fakeOverrideClassFunctionQualifiers")
|
||||
public void testFakeOverrideClassFunctionQualifiers() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideClassFunctionQualifiers/");
|
||||
}
|
||||
|
||||
@TestMetadata("fakeOverrideInheritance")
|
||||
public void testFakeOverrideInheritance() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInheritance/");
|
||||
}
|
||||
|
||||
@TestMetadata("fakeOverrideInlineExtension")
|
||||
public void testFakeOverrideInlineExtension() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineExtension/");
|
||||
}
|
||||
|
||||
@TestMetadata("fakeOverrideInlineFunction")
|
||||
public void testFakeOverrideInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineFunction/");
|
||||
}
|
||||
|
||||
@TestMetadata("fakeOverrideInlineProperty")
|
||||
public void testFakeOverrideInlineProperty() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineProperty/");
|
||||
}
|
||||
|
||||
@TestMetadata("fakeOverrideInterfaceFunctionQualifiers")
|
||||
public void testFakeOverrideInterfaceFunctionQualifiers() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInterfaceFunctionQualifiers/");
|
||||
}
|
||||
|
||||
@TestMetadata("fastPath1")
|
||||
public void testFastPath1() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fastPath1/");
|
||||
}
|
||||
|
||||
@TestMetadata("fastPath2")
|
||||
public void testFastPath2() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fastPath2/");
|
||||
}
|
||||
|
||||
@TestMetadata("friendDependency")
|
||||
public void testFriendDependency() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/friendDependency/");
|
||||
}
|
||||
|
||||
@TestMetadata("functionDefaultParams")
|
||||
public void testFunctionDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionDefaultParams/");
|
||||
}
|
||||
|
||||
@TestMetadata("functionSignature")
|
||||
public void testFunctionSignature() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionSignature/");
|
||||
}
|
||||
|
||||
@TestMetadata("genericFunctions")
|
||||
public void testGenericFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/");
|
||||
}
|
||||
|
||||
@TestMetadata("genericInlineFunctions")
|
||||
public void testGenericInlineFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/genericInlineFunctions/");
|
||||
}
|
||||
|
||||
@TestMetadata("gettersAndSettersInlining")
|
||||
public void testGettersAndSettersInlining() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/gettersAndSettersInlining/");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineBecomeNonInline")
|
||||
public void testInlineBecomeNonInline() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineBecomeNonInline/");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFunctionAnnotations")
|
||||
public void testInlineFunctionAnnotations() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAnnotations/");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFunctionAsFunctionReference")
|
||||
public void testInlineFunctionAsFunctionReference() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsFunctionReference/");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFunctionAsParam")
|
||||
public void testInlineFunctionAsParam() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFunctionCircleUsage")
|
||||
public void testInlineFunctionCircleUsage() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionCircleUsage/");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFunctionDefaultParams")
|
||||
public void testInlineFunctionDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionDefaultParams/");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFunctionWithObject")
|
||||
public void testInlineFunctionWithObject() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionWithObject/");
|
||||
}
|
||||
|
||||
@TestMetadata("interfaceSuperUsage")
|
||||
public void testInterfaceSuperUsage() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceSuperUsage/");
|
||||
}
|
||||
|
||||
@TestMetadata("interfaceWithDefaultParams")
|
||||
public void testInterfaceWithDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceWithDefaultParams/");
|
||||
}
|
||||
|
||||
@TestMetadata("jsCode")
|
||||
public void testJsCode() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCode/");
|
||||
}
|
||||
|
||||
@TestMetadata("jsExport")
|
||||
public void testJsExport() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
|
||||
}
|
||||
|
||||
@TestMetadata("jsModuleAnnotation")
|
||||
public void testJsModuleAnnotation() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsModuleAnnotation/");
|
||||
}
|
||||
|
||||
@TestMetadata("localInlineFunction")
|
||||
public void testLocalInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/");
|
||||
}
|
||||
|
||||
@TestMetadata("mainModuleInvalidation")
|
||||
public void testMainModuleInvalidation() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/mainModuleInvalidation/");
|
||||
}
|
||||
|
||||
@TestMetadata("moveAndModifyInlineFunction")
|
||||
public void testMoveAndModifyInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/");
|
||||
}
|
||||
|
||||
@TestMetadata("moveExternalDeclarationsBetweenJsModules")
|
||||
public void testMoveExternalDeclarationsBetweenJsModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/");
|
||||
}
|
||||
|
||||
@TestMetadata("moveFilesBetweenModules")
|
||||
public void testMoveFilesBetweenModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/");
|
||||
}
|
||||
|
||||
@TestMetadata("moveInlineFunctionBetweenModules")
|
||||
public void testMoveInlineFunctionBetweenModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
|
||||
}
|
||||
|
||||
@TestMetadata("nestedClass")
|
||||
public void testNestedClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/nestedClass/");
|
||||
}
|
||||
|
||||
@TestMetadata("nonInlineBecomeInline")
|
||||
public void testNonInlineBecomeInline() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/nonInlineBecomeInline/");
|
||||
}
|
||||
|
||||
@TestMetadata("privateDeclarationLeakThroughDefaultParam")
|
||||
public void testPrivateDeclarationLeakThroughDefaultParam() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateDeclarationLeakThroughDefaultParam/");
|
||||
}
|
||||
|
||||
@TestMetadata("privateInlineFunction1")
|
||||
public void testPrivateInlineFunction1() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/");
|
||||
}
|
||||
|
||||
@TestMetadata("removeFile")
|
||||
public void testRemoveFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeFile/");
|
||||
}
|
||||
|
||||
@TestMetadata("removeModule")
|
||||
public void testRemoveModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeModule/");
|
||||
}
|
||||
|
||||
@TestMetadata("removeUnusedFile")
|
||||
public void testRemoveUnusedFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeUnusedFile/");
|
||||
}
|
||||
|
||||
@TestMetadata("renameFile")
|
||||
public void testRenameFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/renameFile/");
|
||||
}
|
||||
|
||||
@TestMetadata("renameModule")
|
||||
public void testRenameModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/renameModule/");
|
||||
}
|
||||
|
||||
@TestMetadata("simple")
|
||||
public void testSimple() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/simple/");
|
||||
}
|
||||
|
||||
@TestMetadata("splitJoinModule")
|
||||
public void testSplitJoinModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/splitJoinModule/");
|
||||
}
|
||||
|
||||
@TestMetadata("suspendFunctions")
|
||||
public void testSuspendFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/");
|
||||
}
|
||||
|
||||
@TestMetadata("suspendInterfaceWithDefaultParams")
|
||||
public void testSuspendInterfaceWithDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/suspendInterfaceWithDefaultParams/");
|
||||
}
|
||||
|
||||
@TestMetadata("toplevelProperties")
|
||||
public void testToplevelProperties() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/");
|
||||
}
|
||||
|
||||
@TestMetadata("transitiveInlineFunction")
|
||||
public void testTransitiveInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/");
|
||||
}
|
||||
|
||||
@TestMetadata("typeScriptExports")
|
||||
public void testTypeScriptExports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExports/");
|
||||
}
|
||||
|
||||
@TestMetadata("unicodeSerializationAndDeserialization")
|
||||
public void testUnicodeSerializationAndDeserialization() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/");
|
||||
}
|
||||
|
||||
@TestMetadata("updateExports")
|
||||
public void testUpdateExports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/updateExports/");
|
||||
}
|
||||
|
||||
@TestMetadata("updateExportsAndInlineImports")
|
||||
public void testUpdateExportsAndInlineImports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/updateExportsAndInlineImports/");
|
||||
}
|
||||
|
||||
@TestMetadata("variance")
|
||||
public void testVariance() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/variance/");
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -21,7 +21,7 @@ import java.util.regex.Pattern;
|
||||
@TestMetadata("js/js.translator/testData/incremental/invalidation")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public class InvalidationTestGenerated extends AbstractInvalidationTest {
|
||||
public class JsIrInvalidationTestGenerated extends AbstractJsIrInvalidationTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.JS_IR, testDataFilePath);
|
||||
}
|
||||
+1
-101
@@ -22,7 +22,7 @@ import java.util.regex.Pattern;
|
||||
public class BoxJsTestGenerated extends AbstractBoxJsTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBox() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/box"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS, true, "closure/inlineAnonymousFunctions");
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/box"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS, true, "closure/inlineAnonymousFunctions", "es6classes");
|
||||
}
|
||||
|
||||
@Nested
|
||||
@@ -1783,106 +1783,6 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("js/js.translator/testData/box/es6classes")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Es6classes {
|
||||
@Test
|
||||
public void testAllFilesPresentInEs6classes() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/box/es6classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("builtItTypes.kt")
|
||||
public void testBuiltItTypes() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/builtItTypes.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimary.kt")
|
||||
public void testDefaultPrimary() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimary.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimaryExtendsAny.kt")
|
||||
public void testDefaultPrimaryExtendsAny() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimaryExtendsAny.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimaryExtendsExternal.kt")
|
||||
public void testDefaultPrimaryExtendsExternal() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimaryExtendsExternal.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimaryWithSuper.kt")
|
||||
public void testDefaultPrimaryWithSuper() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimaryWithSuper.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("delegation.kt")
|
||||
public void testDelegation() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/delegation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fieldAccess.kt")
|
||||
public void testFieldAccess() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/fieldAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritedFromExternalBySecondaryCtor.kt")
|
||||
public void testInheritedFromExternalBySecondaryCtor() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/inheritedFromExternalBySecondaryCtor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritedFromExternalClass.kt")
|
||||
public void testInheritedFromExternalClass() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/inheritedFromExternalClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("initBlocks.kt")
|
||||
public void testInitBlocks() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/initBlocks.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("innerClasses.kt")
|
||||
public void testInnerClasses() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/innerClasses.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("isInitializedFieldBeforeObjectCreation.kt")
|
||||
public void testIsInitializedFieldBeforeObjectCreation() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/isInitializedFieldBeforeObjectCreation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryToSecondary.kt")
|
||||
public void testPrimaryToSecondary() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/primaryToSecondary.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeCorrectness.kt")
|
||||
public void testTypeCorrectness() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/typeCorrectness.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("unboxChain.kt")
|
||||
public void testUnboxChain() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/unboxChain.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("js/js.translator/testData/box/esModules")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
|
||||
+1
-101
@@ -22,7 +22,7 @@ import java.util.regex.Pattern;
|
||||
public class FirJsBoxTestGenerated extends AbstractFirJsBoxTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBox() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/box"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/box"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true, "es6classes");
|
||||
}
|
||||
|
||||
@Nested
|
||||
@@ -1841,106 +1841,6 @@ public class FirJsBoxTestGenerated extends AbstractFirJsBoxTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("js/js.translator/testData/box/es6classes")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Es6classes {
|
||||
@Test
|
||||
public void testAllFilesPresentInEs6classes() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/box/es6classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("builtItTypes.kt")
|
||||
public void testBuiltItTypes() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/builtItTypes.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimary.kt")
|
||||
public void testDefaultPrimary() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimary.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimaryExtendsAny.kt")
|
||||
public void testDefaultPrimaryExtendsAny() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimaryExtendsAny.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimaryExtendsExternal.kt")
|
||||
public void testDefaultPrimaryExtendsExternal() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimaryExtendsExternal.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimaryWithSuper.kt")
|
||||
public void testDefaultPrimaryWithSuper() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimaryWithSuper.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("delegation.kt")
|
||||
public void testDelegation() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/delegation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fieldAccess.kt")
|
||||
public void testFieldAccess() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/fieldAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritedFromExternalBySecondaryCtor.kt")
|
||||
public void testInheritedFromExternalBySecondaryCtor() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/inheritedFromExternalBySecondaryCtor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritedFromExternalClass.kt")
|
||||
public void testInheritedFromExternalClass() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/inheritedFromExternalClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("initBlocks.kt")
|
||||
public void testInitBlocks() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/initBlocks.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("innerClasses.kt")
|
||||
public void testInnerClasses() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/innerClasses.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("isInitializedFieldBeforeObjectCreation.kt")
|
||||
public void testIsInitializedFieldBeforeObjectCreation() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/isInitializedFieldBeforeObjectCreation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryToSecondary.kt")
|
||||
public void testPrimaryToSecondary() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/primaryToSecondary.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeCorrectness.kt")
|
||||
public void testTypeCorrectness() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/typeCorrectness.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("unboxChain.kt")
|
||||
public void testUnboxChain() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/unboxChain.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("js/js.translator/testData/box/esModules")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
|
||||
+10909
File diff suppressed because it is too large
Load Diff
+1
-101
@@ -22,7 +22,7 @@ import java.util.regex.Pattern;
|
||||
public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBox() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/box"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/box"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true, "es6classes");
|
||||
}
|
||||
|
||||
@Nested
|
||||
@@ -1841,106 +1841,6 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("js/js.translator/testData/box/es6classes")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Es6classes {
|
||||
@Test
|
||||
public void testAllFilesPresentInEs6classes() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/box/es6classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("builtItTypes.kt")
|
||||
public void testBuiltItTypes() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/builtItTypes.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimary.kt")
|
||||
public void testDefaultPrimary() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimary.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimaryExtendsAny.kt")
|
||||
public void testDefaultPrimaryExtendsAny() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimaryExtendsAny.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimaryExtendsExternal.kt")
|
||||
public void testDefaultPrimaryExtendsExternal() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimaryExtendsExternal.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultPrimaryWithSuper.kt")
|
||||
public void testDefaultPrimaryWithSuper() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/defaultPrimaryWithSuper.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("delegation.kt")
|
||||
public void testDelegation() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/delegation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fieldAccess.kt")
|
||||
public void testFieldAccess() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/fieldAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritedFromExternalBySecondaryCtor.kt")
|
||||
public void testInheritedFromExternalBySecondaryCtor() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/inheritedFromExternalBySecondaryCtor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inheritedFromExternalClass.kt")
|
||||
public void testInheritedFromExternalClass() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/inheritedFromExternalClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("initBlocks.kt")
|
||||
public void testInitBlocks() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/initBlocks.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("innerClasses.kt")
|
||||
public void testInnerClasses() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/innerClasses.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("isInitializedFieldBeforeObjectCreation.kt")
|
||||
public void testIsInitializedFieldBeforeObjectCreation() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/isInitializedFieldBeforeObjectCreation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryToSecondary.kt")
|
||||
public void testPrimaryToSecondary() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/primaryToSecondary.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeCorrectness.kt")
|
||||
public void testTypeCorrectness() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/typeCorrectness.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("unboxChain.kt")
|
||||
public void testUnboxChain() throws Exception {
|
||||
runTest("js/js.translator/testData/box/es6classes/unboxChain.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("js/js.translator/testData/box/esModules")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
|
||||
Generated
+131
@@ -0,0 +1,131 @@
|
||||
/*
|
||||
* Copyright 2010-2023 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.js.test.ir;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||
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.GenerateJsTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/codegen/boxError")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class IrJsES6CodegenBoxErrorTestGenerated extends AbstractIrJsES6CodegenBoxErrorTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBoxError() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxError"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true, "compileKotlinAgainstKotlin");
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("compiler/testData/codegen/boxError/semantic")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Semantic {
|
||||
@Test
|
||||
public void testAllFilesPresentInSemantic() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxError/semantic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("castToErrorType.kt")
|
||||
public void testCastToErrorType() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/semantic/castToErrorType.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("catchErrorType.kt")
|
||||
public void testCatchErrorType() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/semantic/catchErrorType.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("evaluationOrder.kt")
|
||||
public void testEvaluationOrder() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/semantic/evaluationOrder.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("mismatchTypeParameters.kt")
|
||||
public void testMismatchTypeParameters() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/semantic/mismatchTypeParameters.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("missedBody.kt")
|
||||
public void testMissedBody() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/semantic/missedBody.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reifiedNonInline.kt")
|
||||
public void testReifiedNonInline() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/semantic/reifiedNonInline.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reifiedWithWrongArguments.kt")
|
||||
public void testReifiedWithWrongArguments() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/semantic/reifiedWithWrongArguments.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeMismatch.kt")
|
||||
public void testTypeMismatch() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/semantic/typeMismatch.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("unmatchedArguments.kt")
|
||||
public void testUnmatchedArguments() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/semantic/unmatchedArguments.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("unresolvedFunctionReferece.kt")
|
||||
public void testUnresolvedFunctionReferece() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/semantic/unresolvedFunctionReferece.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("compiler/testData/codegen/boxError/syntax")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Syntax {
|
||||
@Test
|
||||
public void testAllFilesPresentInSyntax() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxError/syntax"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("arrowReference.kt")
|
||||
public void testArrowReference() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/syntax/arrowReference.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("evaluationOrder.kt")
|
||||
public void testEvaluationOrder() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/syntax/evaluationOrder.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incorectLexicalName.kt")
|
||||
public void testIncorectLexicalName() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/syntax/incorectLexicalName.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("missedArgument.kt")
|
||||
public void testMissedArgument() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxError/syntax/missedArgument.kt");
|
||||
}
|
||||
}
|
||||
}
|
||||
+37174
File diff suppressed because it is too large
Load Diff
Generated
+5087
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user