[K/JS] Implement an incremental compilation for the per-file granularity
This commit is contained in:
@@ -7,10 +7,7 @@ package org.jetbrains.kotlin.generators.tests
|
||||
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.incremental.AbstractJsIrES6InvalidationTest
|
||||
import org.jetbrains.kotlin.incremental.AbstractJsIrInvalidationWithPLTest
|
||||
import org.jetbrains.kotlin.incremental.AbstractJsIrInvalidationTest
|
||||
import org.jetbrains.kotlin.incremental.AbstractJsFirInvalidationTest
|
||||
import org.jetbrains.kotlin.incremental.*
|
||||
import org.jetbrains.kotlin.js.test.*
|
||||
import org.jetbrains.kotlin.js.test.fir.*
|
||||
import org.jetbrains.kotlin.js.test.ir.*
|
||||
@@ -73,19 +70,35 @@ fun main(args: Array<String>) {
|
||||
}
|
||||
|
||||
testGroup("js/js.tests/tests-gen", "js/js.translator/testData") {
|
||||
testClass<AbstractJsIrInvalidationTest> {
|
||||
testClass<AbstractJsIrInvalidationPerFileTest> {
|
||||
model("incremental/invalidation/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractJsIrES6InvalidationTest> {
|
||||
testClass<AbstractJsIrInvalidationPerModuleTest> {
|
||||
model("incremental/invalidation/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractJsIrES6InvalidationPerFileTest> {
|
||||
model("incremental/invalidation/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR_ES6, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractJsFirInvalidationTest> {
|
||||
testClass<AbstractJsIrES6InvalidationPerModuleTest> {
|
||||
model("incremental/invalidation/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR_ES6, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractJsFirInvalidationPerFileTest> {
|
||||
model("incremental/invalidation/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractJsIrInvalidationWithPLTest> {
|
||||
testClass<AbstractJsFirInvalidationPerModuleTest> {
|
||||
model("incremental/invalidation/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractJsIrInvalidationPerFileWithPLTest> {
|
||||
model("incremental/invalidationWithPL/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractJsIrInvalidationPerModuleWithPLTest> {
|
||||
model("incremental/invalidationWithPL/", pattern = "^([^_](.+))$", targetBackend = TargetBackend.JS_IR, recursive = false)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,8 +26,8 @@ import org.jetbrains.kotlin.ir.backend.js.WholeWorldStageController
|
||||
import org.jetbrains.kotlin.ir.backend.js.ic.*
|
||||
import org.jetbrains.kotlin.ir.backend.js.jsPhases
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.CompilationOutputs
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.extension
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.JsGenerationGranularity
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.extension
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.safeModuleName
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImplForJsIC
|
||||
import org.jetbrains.kotlin.js.config.JSConfigurationKeys
|
||||
@@ -49,7 +49,11 @@ import org.junit.jupiter.api.AfterEach
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
|
||||
abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend, private val workingDirPath: String) {
|
||||
abstract class AbstractInvalidationTest(
|
||||
private val targetBackend: TargetBackend,
|
||||
private val granularity: JsGenerationGranularity,
|
||||
private val workingDirPath: String
|
||||
) {
|
||||
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
|
||||
@@ -153,16 +157,18 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
private val testDir: File,
|
||||
private val sourceDir: File,
|
||||
private val buildDir: File,
|
||||
private val jsDir: File
|
||||
private val jsDir: File,
|
||||
) {
|
||||
private inner class TestStepInfo(
|
||||
val moduleName: String,
|
||||
val modulePath: String,
|
||||
val friends: List<String>,
|
||||
val expectedFileStats: Map<String, Set<String>>,
|
||||
val expectedDTS: String?
|
||||
val expectedDTS: ExpectedFile?,
|
||||
)
|
||||
|
||||
private inner class ExpectedFile(val name: String, val content: String)
|
||||
|
||||
private fun setupTestStep(projStep: ProjectInfo.ProjectBuildStep, module: String): TestStepInfo {
|
||||
val projStepId = projStep.id
|
||||
val moduleTestDir = File(testDir, module)
|
||||
@@ -198,7 +204,7 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
outputKlibFile.canonicalPath,
|
||||
friends.map { it.canonicalPath },
|
||||
moduleStep.expectedFileStats,
|
||||
dtsFile?.readText()
|
||||
dtsFile?.let { ExpectedFile(moduleStep.expectedDTS.single(), it.readText()) }
|
||||
)
|
||||
}
|
||||
|
||||
@@ -234,7 +240,7 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
}
|
||||
|
||||
private fun verifyJsExecutableProducerBuildModules(stepId: Int, gotRebuilt: List<String>, expectedRebuilt: List<String>) {
|
||||
val got = gotRebuilt.filter { it != STDLIB_MODULE_NAME }
|
||||
val got = gotRebuilt.filter { !it.startsWith(STDLIB_MODULE_NAME) }
|
||||
JUnit4Assertions.assertSameElements(got, expectedRebuilt) {
|
||||
"Mismatched rebuilt modules at step $stepId"
|
||||
}
|
||||
@@ -255,16 +261,20 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
}
|
||||
|
||||
private fun verifyJsCode(stepId: Int, mainModuleName: String, jsFiles: List<String>) {
|
||||
val testModuleName = "./$mainModuleName${projectInfo.moduleKind.extension}"
|
||||
try {
|
||||
V8IrJsTestChecker.checkWithTestFunctionArgs(
|
||||
files = jsFiles,
|
||||
testModuleName = "./$mainModuleName${projectInfo.moduleKind.extension}",
|
||||
testModuleName = testModuleName,
|
||||
testPackageName = null,
|
||||
testFunctionName = BOX_FUNCTION_NAME,
|
||||
testFunctionArgs = "$stepId",
|
||||
expectedResult = "OK",
|
||||
entryModulePath = jsFiles.last(),
|
||||
withModuleSystem = projectInfo.moduleKind in setOf(ModuleKind.COMMON_JS, ModuleKind.UMD, ModuleKind.AMD)
|
||||
withModuleSystem = projectInfo.moduleKind in setOf(ModuleKind.COMMON_JS, ModuleKind.UMD, ModuleKind.AMD),
|
||||
entryModulePath = when (granularity) {
|
||||
JsGenerationGranularity.PER_FILE -> jsFiles.find { it.endsWith("m.export.mjs") }
|
||||
else -> jsFiles.last()
|
||||
}
|
||||
)
|
||||
} catch (e: ComparisonFailure) {
|
||||
throw ComparisonFailure("Mismatched box out at step $stepId", e.expected, e.actual)
|
||||
@@ -275,15 +285,20 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
|
||||
private fun verifyDTS(stepId: Int, testInfo: List<TestStepInfo>) {
|
||||
for (info in testInfo) {
|
||||
val moduleName = File(info.modulePath).nameWithoutExtension
|
||||
val expectedDTS = info.expectedDTS ?: continue
|
||||
val dtsFilePath = when (granularity) {
|
||||
JsGenerationGranularity.PER_FILE -> "$moduleName/${expectedDTS.name.substringBefore('.')}.export.d.ts"
|
||||
else -> "$moduleName.d.ts"
|
||||
}
|
||||
|
||||
val dtsFile = jsDir.resolve("${File(info.modulePath).nameWithoutExtension}.d.ts")
|
||||
val dtsFile = jsDir.resolve(dtsFilePath)
|
||||
JUnit4Assertions.assertTrue(dtsFile.exists()) {
|
||||
"Cannot find d.ts (${dtsFile.absolutePath}) file for module ${info.moduleName} at step $stepId"
|
||||
}
|
||||
|
||||
val gotDTS = dtsFile.readText()
|
||||
JUnit4Assertions.assertEquals(expectedDTS, gotDTS) {
|
||||
JUnit4Assertions.assertEquals(expectedDTS.content, gotDTS) {
|
||||
"Mismatched d.ts for module ${info.moduleName} at step $stepId"
|
||||
}
|
||||
}
|
||||
@@ -302,13 +317,22 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
}
|
||||
|
||||
private fun writeJsCode(stepId: Int, mainModuleName: String, jsOutput: CompilationOutputs): List<String> {
|
||||
val compiledJsFiles = jsOutput.writeAll(jsDir, mainModuleName, true, mainModuleName, projectInfo.moduleKind).filter {
|
||||
val compiledJsFiles = jsOutput.writeAll(
|
||||
jsDir,
|
||||
mainModuleName,
|
||||
true,
|
||||
mainModuleName,
|
||||
projectInfo.moduleKind
|
||||
).filter {
|
||||
it.extension == "js" || it.extension == "mjs"
|
||||
}
|
||||
for (jsCodeFile in compiledJsFiles) {
|
||||
val sourceMappingUrlLine = jsCodeFile.readLines().singleOrNull { it.startsWith(SOURCE_MAPPING_URL_PREFIX) }
|
||||
JUnit4Assertions.assertEquals("$SOURCE_MAPPING_URL_PREFIX${jsCodeFile.name}.map", sourceMappingUrlLine) {
|
||||
"Mismatched source map url at step $stepId"
|
||||
|
||||
if (sourceMappingUrlLine != null) {
|
||||
JUnit4Assertions.assertEquals("$SOURCE_MAPPING_URL_PREFIX${jsCodeFile.name}.map", sourceMappingUrlLine) {
|
||||
"Mismatched source map url at step $stepId"
|
||||
}
|
||||
}
|
||||
|
||||
jsCodeFile.writeAsJsModule(jsCodeFile.readText(), "./${jsCodeFile.name}")
|
||||
@@ -318,6 +342,8 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
}
|
||||
|
||||
fun execute() {
|
||||
if (granularity in projectInfo.ignoredGranularities) return
|
||||
|
||||
for (projStep in projectInfo.steps) {
|
||||
val testInfo = projStep.order.map { setupTestStep(projStep, it) }
|
||||
|
||||
@@ -327,6 +353,12 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
}
|
||||
|
||||
val configuration = createConfiguration(projStep.order.last(), projStep.language, projectInfo.moduleKind)
|
||||
|
||||
val dirtyData = when (granularity) {
|
||||
JsGenerationGranularity.PER_FILE -> projStep.dirtyJsFiles
|
||||
else -> projStep.dirtyJsModules
|
||||
}
|
||||
|
||||
val cacheUpdater = CacheUpdater(
|
||||
mainModule = mainModuleInfo.modulePath,
|
||||
allModules = testInfo.mapTo(mutableListOf(STDLIB_KLIB)) { it.modulePath },
|
||||
@@ -339,7 +371,7 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
JsIrCompilerWithIC(
|
||||
mainModule,
|
||||
cfg,
|
||||
JsGenerationGranularity.PER_MODULE,
|
||||
granularity,
|
||||
getPhaseConfig(projStep.id),
|
||||
setOf(FqName(BOX_FUNCTION_NAME)),
|
||||
targetBackend == TargetBackend.JS_IR_ES6
|
||||
@@ -361,10 +393,10 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
relativeRequirePath = true
|
||||
)
|
||||
|
||||
val (jsOutput, rebuiltModules) = jsExecutableProducer.buildExecutable(granularity = JsGenerationGranularity.PER_MODULE, outJsProgram = true)
|
||||
val (jsOutput, rebuiltModules) = jsExecutableProducer.buildExecutable(granularity, outJsProgram = true)
|
||||
val writtenFiles = writeJsCode(projStep.id, mainModuleName, jsOutput)
|
||||
|
||||
verifyJsExecutableProducerBuildModules(projStep.id, rebuiltModules, projStep.dirtyJS)
|
||||
verifyJsExecutableProducerBuildModules(projStep.id, rebuiltModules, dirtyData)
|
||||
verifyJsCode(projStep.id, mainModuleName, writtenFiles)
|
||||
verifyDTS(projStep.id, testInfo)
|
||||
}
|
||||
@@ -426,6 +458,6 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
|
||||
sourceDir: File,
|
||||
dependencies: Collection<File>,
|
||||
friends: Collection<File>,
|
||||
outputKlibFile: File
|
||||
outputKlibFile: File,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -14,18 +14,23 @@ import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
|
||||
import org.jetbrains.kotlin.ir.backend.js.MainModule
|
||||
import org.jetbrains.kotlin.ir.backend.js.ModulesStructure
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.JsGenerationGranularity
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import java.io.ByteArrayOutputStream
|
||||
import java.io.File
|
||||
import java.io.PrintStream
|
||||
import java.nio.charset.Charset
|
||||
|
||||
abstract class AbstractJsFirInvalidationTest : FirAbstractInvalidationTest(TargetBackend.JS_IR, "incrementalOut/invalidationFir")
|
||||
abstract class AbstractJsFirInvalidationPerFileTest :
|
||||
FirAbstractInvalidationTest(TargetBackend.JS_IR, JsGenerationGranularity.PER_FILE, "incrementalOut/invalidationFir/perFile")
|
||||
abstract class AbstractJsFirInvalidationPerModuleTest :
|
||||
FirAbstractInvalidationTest(TargetBackend.JS_IR, JsGenerationGranularity.PER_MODULE, "incrementalOut/invalidationFir/perModule")
|
||||
|
||||
abstract class FirAbstractInvalidationTest(
|
||||
targetBackend: TargetBackend,
|
||||
granularity: JsGenerationGranularity,
|
||||
workingDirPath: String
|
||||
) : AbstractInvalidationTest(targetBackend, workingDirPath) {
|
||||
) : AbstractInvalidationTest(targetBackend, granularity, workingDirPath) {
|
||||
private fun getFirInfoFile(defaultInfoFile: File): File {
|
||||
val firInfoFileName = "${defaultInfoFile.nameWithoutExtension}.fir.${defaultInfoFile.extension}"
|
||||
val firInfoFile = defaultInfoFile.parentFile.resolve(firInfoFileName)
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.cli.js.klib.generateIrForKlibSerialization
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.ir.backend.js.*
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.JsGenerationGranularity
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||
import org.jetbrains.kotlin.ir.linkage.partial.PartialLinkageConfig
|
||||
import org.jetbrains.kotlin.ir.linkage.partial.PartialLinkageLogLevel
|
||||
@@ -20,20 +21,45 @@ import org.jetbrains.kotlin.serialization.js.ModuleKind
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import java.io.File
|
||||
|
||||
abstract class AbstractJsIrInvalidationTest : IrAbstractInvalidationTest(
|
||||
abstract class AbstractJsIrInvalidationPerFileTest : IrAbstractInvalidationTest(
|
||||
targetBackend = TargetBackend.JS_IR,
|
||||
workingDirPath = "incrementalOut/invalidation"
|
||||
granularity = JsGenerationGranularity.PER_FILE,
|
||||
workingDirPath = "incrementalOut/invalidation/perFile"
|
||||
)
|
||||
|
||||
abstract class AbstractJsIrES6InvalidationTest : IrAbstractInvalidationTest(
|
||||
abstract class AbstractJsIrInvalidationPerModuleTest : IrAbstractInvalidationTest(
|
||||
targetBackend = TargetBackend.JS_IR,
|
||||
granularity = JsGenerationGranularity.PER_MODULE,
|
||||
workingDirPath = "incrementalOut/invalidation/perModule"
|
||||
)
|
||||
|
||||
abstract class AbstractJsIrES6InvalidationPerFileTest : IrAbstractInvalidationTest(
|
||||
targetBackend = TargetBackend.JS_IR_ES6,
|
||||
workingDirPath = "incrementalOut/invalidationES6"
|
||||
granularity = JsGenerationGranularity.PER_FILE,
|
||||
workingDirPath = "incrementalOut/invalidationES6/perFile"
|
||||
)
|
||||
|
||||
abstract class AbstractJsIrInvalidationWithPLTest : IrAbstractInvalidationTest(
|
||||
targetBackend = TargetBackend.JS_IR,
|
||||
workingDirPath = "incrementalOut/invalidationWithPL"
|
||||
) {
|
||||
abstract class AbstractJsIrES6InvalidationPerModuleTest : IrAbstractInvalidationTest(
|
||||
targetBackend = TargetBackend.JS_IR_ES6,
|
||||
granularity = JsGenerationGranularity.PER_MODULE,
|
||||
workingDirPath = "incrementalOut/invalidationES6/perModule"
|
||||
)
|
||||
|
||||
abstract class AbstractJsIrInvalidationPerFileWithPLTest : AbstractJsIrInvalidationWithPLTest(
|
||||
granularity = JsGenerationGranularity.PER_FILE,
|
||||
workingDirPath = "incrementalOut/invalidationWithPL/perModule"
|
||||
)
|
||||
|
||||
abstract class AbstractJsIrInvalidationPerModuleWithPLTest : AbstractJsIrInvalidationWithPLTest(
|
||||
granularity = JsGenerationGranularity.PER_MODULE,
|
||||
workingDirPath = "incrementalOut/invalidationWithPL/perModule"
|
||||
)
|
||||
|
||||
abstract class AbstractJsIrInvalidationWithPLTest(granularity: JsGenerationGranularity, workingDirPath: String) : IrAbstractInvalidationTest(
|
||||
TargetBackend.JS_IR,
|
||||
granularity,
|
||||
workingDirPath
|
||||
) {
|
||||
override fun createConfiguration(moduleName: String, language: List<String>, moduleKind: ModuleKind): CompilerConfiguration {
|
||||
val config = super.createConfiguration(moduleName, language, moduleKind)
|
||||
config.setupPartialLinkageConfig(PartialLinkageConfig(PartialLinkageMode.ENABLE, PartialLinkageLogLevel.WARNING))
|
||||
@@ -43,8 +69,9 @@ abstract class AbstractJsIrInvalidationWithPLTest : IrAbstractInvalidationTest(
|
||||
|
||||
abstract class IrAbstractInvalidationTest(
|
||||
targetBackend: TargetBackend,
|
||||
granularity: JsGenerationGranularity,
|
||||
workingDirPath: String
|
||||
) : AbstractInvalidationTest(targetBackend, workingDirPath) {
|
||||
) : AbstractInvalidationTest(targetBackend, granularity, workingDirPath) {
|
||||
override fun buildKlib(
|
||||
configuration: CompilerConfiguration,
|
||||
moduleName: String,
|
||||
|
||||
+16
-4
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("js/js.translator/testData/incremental/invalidation")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class JsIrInvalidationTestGenerated extends AbstractJsIrInvalidationTest {
|
||||
public class JsFirInvalidationPerFileTestGenerated extends AbstractJsFirInvalidationPerFileTest {
|
||||
@Test
|
||||
@TestMetadata("addUpdateRemoveDependentFile")
|
||||
public void testAddUpdateRemoveDependentFile() throws Exception {
|
||||
@@ -343,6 +343,12 @@ public class JsIrInvalidationTestGenerated extends AbstractJsIrInvalidationTest
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenFiles")
|
||||
public void testMoveExternalDeclarationsBetweenFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenJsModules")
|
||||
public void testMoveExternalDeclarationsBetweenJsModules() throws Exception {
|
||||
@@ -458,9 +464,15 @@ public class JsIrInvalidationTestGenerated extends AbstractJsIrInvalidationTest
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExports")
|
||||
public void testTypeScriptExports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExports/");
|
||||
@TestMetadata("typeScriptExportsPerFile")
|
||||
public void testTypeScriptExportsPerFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExportsPerModule")
|
||||
public void testTypeScriptExportsPerModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
Generated
+501
@@ -0,0 +1,501 @@
|
||||
/*
|
||||
* 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.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("js/js.translator/testData/incremental/invalidation")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class JsFirInvalidationPerModuleTestGenerated extends AbstractJsFirInvalidationPerModuleTest {
|
||||
@Test
|
||||
@TestMetadata("addUpdateRemoveDependentFile")
|
||||
public void testAddUpdateRemoveDependentFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("addUpdateRemoveDependentModule")
|
||||
public void testAddUpdateRemoveDependentModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAllFilesPresentInInvalidation() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidation"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("circleExportsUpdate")
|
||||
public void testCircleExportsUpdate() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/circleExportsUpdate/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("circleInlineImportsUpdate")
|
||||
public void testCircleInlineImportsUpdate() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/circleInlineImportsUpdate/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("class")
|
||||
public void testClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/class/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("classFunctionsAndFields")
|
||||
public void testClassFunctionsAndFields() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionFunction")
|
||||
public void testCompanionFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionInlineFunction")
|
||||
public void testCompanionInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionProperties")
|
||||
public void testCompanionProperties() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionProperties/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionWithStdLibCall")
|
||||
public void testCompanionWithStdLibCall() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("constVals")
|
||||
public void testConstVals() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/constVals/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("crossModuleReferences")
|
||||
public void testCrossModuleReferences() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/crossModuleReferences/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("eagerInitialization")
|
||||
public void testEagerInitialization() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/eagerInitialization/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enum")
|
||||
public void testEnum() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/enum/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumsInInlineFunctions")
|
||||
public void testEnumsInInlineFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/enumsInInlineFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("exceptionsFromInlineFunction")
|
||||
public void testExceptionsFromInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/exceptionsFromInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("exportsThroughInlineFunction")
|
||||
public void testExportsThroughInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/exportsThroughInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideClassFunctionQualifiers")
|
||||
public void testFakeOverrideClassFunctionQualifiers() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideClassFunctionQualifiers/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInheritance")
|
||||
public void testFakeOverrideInheritance() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInheritance/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInlineExtension")
|
||||
public void testFakeOverrideInlineExtension() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineExtension/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInlineFunction")
|
||||
public void testFakeOverrideInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInlineProperty")
|
||||
public void testFakeOverrideInlineProperty() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineProperty/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInterfaceFunctionQualifiers")
|
||||
public void testFakeOverrideInterfaceFunctionQualifiers() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInterfaceFunctionQualifiers/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fastPath1")
|
||||
public void testFastPath1() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fastPath1/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fastPath2")
|
||||
public void testFastPath2() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fastPath2/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("friendDependency")
|
||||
public void testFriendDependency() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/friendDependency/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionDefaultParams")
|
||||
public void testFunctionDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionSignature")
|
||||
public void testFunctionSignature() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionSignature/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionTypeInterface")
|
||||
public void testFunctionTypeInterface() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionTypeInterfaceReflect")
|
||||
public void testFunctionTypeInterfaceReflect() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("genericFunctions")
|
||||
public void testGenericFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("genericInlineFunctions")
|
||||
public void testGenericInlineFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/genericInlineFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("gettersAndSettersInlining")
|
||||
public void testGettersAndSettersInlining() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/gettersAndSettersInlining/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineBecomeNonInline")
|
||||
public void testInlineBecomeNonInline() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineBecomeNonInline/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionAnnotations")
|
||||
public void testInlineFunctionAnnotations() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAnnotations/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionAsFunctionReference")
|
||||
public void testInlineFunctionAsFunctionReference() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsFunctionReference/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionAsParam")
|
||||
public void testInlineFunctionAsParam() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionCircleUsage")
|
||||
public void testInlineFunctionCircleUsage() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionCircleUsage/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionDefaultParams")
|
||||
public void testInlineFunctionDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionWithObject")
|
||||
public void testInlineFunctionWithObject() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionWithObject/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceOpenMethods")
|
||||
public void testInterfaceOpenMethods() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceOpenMethods/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceOpenMethodsInOpenClass")
|
||||
public void testInterfaceOpenMethodsInOpenClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceOpenMethodsInOpenClass/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceSuperUsage")
|
||||
public void testInterfaceSuperUsage() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceSuperUsage/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceWithDefaultParams")
|
||||
public void testInterfaceWithDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceWithDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCode")
|
||||
public void testJsCode() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCode/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCodeWithConstString")
|
||||
public void testJsCodeWithConstString() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExport")
|
||||
public void testJsExport() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsModuleAnnotation")
|
||||
public void testJsModuleAnnotation() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsModuleAnnotation/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("languageVersionSettings")
|
||||
public void testLanguageVersionSettings() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/languageVersionSettings/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("localInlineFunction")
|
||||
public void testLocalInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("localObjectsLeakThroughInterface")
|
||||
public void testLocalObjectsLeakThroughInterface() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/localObjectsLeakThroughInterface/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("mainModuleInvalidation")
|
||||
public void testMainModuleInvalidation() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/mainModuleInvalidation/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveAndModifyInlineFunction")
|
||||
public void testMoveAndModifyInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenFiles")
|
||||
public void testMoveExternalDeclarationsBetweenFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenJsModules")
|
||||
public void testMoveExternalDeclarationsBetweenJsModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveFilesBetweenModules")
|
||||
public void testMoveFilesBetweenModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveInlineFunctionBetweenModules")
|
||||
public void testMoveInlineFunctionBetweenModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedClass")
|
||||
public void testNestedClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/nestedClass/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nonInlineBecomeInline")
|
||||
public void testNonInlineBecomeInline() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/nonInlineBecomeInline/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("privateDeclarationLeakThroughDefaultParam")
|
||||
public void testPrivateDeclarationLeakThroughDefaultParam() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateDeclarationLeakThroughDefaultParam/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("privateInlineFunction1")
|
||||
public void testPrivateInlineFunction1() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("privateObjectsLeakThroughSealedInterface")
|
||||
public void testPrivateObjectsLeakThroughSealedInterface() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateObjectsLeakThroughSealedInterface/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeFile")
|
||||
public void testRemoveFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeModule")
|
||||
public void testRemoveModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeUnusedFile")
|
||||
public void testRemoveUnusedFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeUnusedFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("renameFile")
|
||||
public void testRenameFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/renameFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("renameModule")
|
||||
public void testRenameModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/renameModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("simple")
|
||||
public void testSimple() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/simple/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("splitJoinModule")
|
||||
public void testSplitJoinModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/splitJoinModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("suspendFunctions")
|
||||
public void testSuspendFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("suspendInterfaceWithDefaultParams")
|
||||
public void testSuspendInterfaceWithDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/suspendInterfaceWithDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("toplevelProperties")
|
||||
public void testToplevelProperties() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("transitiveInlineFunction")
|
||||
public void testTransitiveInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExportsPerFile")
|
||||
public void testTypeScriptExportsPerFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExportsPerModule")
|
||||
public void testTypeScriptExportsPerModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("unicodeSerializationAndDeserialization")
|
||||
public void testUnicodeSerializationAndDeserialization() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("updateExports")
|
||||
public void testUpdateExports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/updateExports/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("updateExportsAndInlineImports")
|
||||
public void testUpdateExportsAndInlineImports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/updateExportsAndInlineImports/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("variance")
|
||||
public void testVariance() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/variance/");
|
||||
}
|
||||
}
|
||||
+16
-4
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("js/js.translator/testData/incremental/invalidation")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class JsIrES6InvalidationTestGenerated extends AbstractJsIrES6InvalidationTest {
|
||||
public class JsIrES6InvalidationPerFileTestGenerated extends AbstractJsIrES6InvalidationPerFileTest {
|
||||
@Test
|
||||
@TestMetadata("addUpdateRemoveDependentFile")
|
||||
public void testAddUpdateRemoveDependentFile() throws Exception {
|
||||
@@ -343,6 +343,12 @@ public class JsIrES6InvalidationTestGenerated extends AbstractJsIrES6Invalidatio
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenFiles")
|
||||
public void testMoveExternalDeclarationsBetweenFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenJsModules")
|
||||
public void testMoveExternalDeclarationsBetweenJsModules() throws Exception {
|
||||
@@ -458,9 +464,15 @@ public class JsIrES6InvalidationTestGenerated extends AbstractJsIrES6Invalidatio
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExports")
|
||||
public void testTypeScriptExports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExports/");
|
||||
@TestMetadata("typeScriptExportsPerFile")
|
||||
public void testTypeScriptExportsPerFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExportsPerModule")
|
||||
public void testTypeScriptExportsPerModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
+501
@@ -0,0 +1,501 @@
|
||||
/*
|
||||
* 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.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("js/js.translator/testData/incremental/invalidation")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class JsIrES6InvalidationPerModuleTestGenerated extends AbstractJsIrES6InvalidationPerModuleTest {
|
||||
@Test
|
||||
@TestMetadata("addUpdateRemoveDependentFile")
|
||||
public void testAddUpdateRemoveDependentFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("addUpdateRemoveDependentModule")
|
||||
public void testAddUpdateRemoveDependentModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
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);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("circleExportsUpdate")
|
||||
public void testCircleExportsUpdate() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/circleExportsUpdate/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("circleInlineImportsUpdate")
|
||||
public void testCircleInlineImportsUpdate() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/circleInlineImportsUpdate/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("class")
|
||||
public void testClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/class/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("classFunctionsAndFields")
|
||||
public void testClassFunctionsAndFields() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionFunction")
|
||||
public void testCompanionFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionInlineFunction")
|
||||
public void testCompanionInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionProperties")
|
||||
public void testCompanionProperties() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionProperties/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionWithStdLibCall")
|
||||
public void testCompanionWithStdLibCall() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("constVals")
|
||||
public void testConstVals() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/constVals/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("crossModuleReferences")
|
||||
public void testCrossModuleReferences() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/crossModuleReferences/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("eagerInitialization")
|
||||
public void testEagerInitialization() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/eagerInitialization/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enum")
|
||||
public void testEnum() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/enum/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumsInInlineFunctions")
|
||||
public void testEnumsInInlineFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/enumsInInlineFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("exceptionsFromInlineFunction")
|
||||
public void testExceptionsFromInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/exceptionsFromInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("exportsThroughInlineFunction")
|
||||
public void testExportsThroughInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/exportsThroughInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideClassFunctionQualifiers")
|
||||
public void testFakeOverrideClassFunctionQualifiers() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideClassFunctionQualifiers/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInheritance")
|
||||
public void testFakeOverrideInheritance() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInheritance/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInlineExtension")
|
||||
public void testFakeOverrideInlineExtension() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineExtension/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInlineFunction")
|
||||
public void testFakeOverrideInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInlineProperty")
|
||||
public void testFakeOverrideInlineProperty() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineProperty/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInterfaceFunctionQualifiers")
|
||||
public void testFakeOverrideInterfaceFunctionQualifiers() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInterfaceFunctionQualifiers/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fastPath1")
|
||||
public void testFastPath1() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fastPath1/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fastPath2")
|
||||
public void testFastPath2() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fastPath2/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("friendDependency")
|
||||
public void testFriendDependency() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/friendDependency/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionDefaultParams")
|
||||
public void testFunctionDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionSignature")
|
||||
public void testFunctionSignature() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionSignature/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionTypeInterface")
|
||||
public void testFunctionTypeInterface() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionTypeInterfaceReflect")
|
||||
public void testFunctionTypeInterfaceReflect() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("genericFunctions")
|
||||
public void testGenericFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("genericInlineFunctions")
|
||||
public void testGenericInlineFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/genericInlineFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("gettersAndSettersInlining")
|
||||
public void testGettersAndSettersInlining() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/gettersAndSettersInlining/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineBecomeNonInline")
|
||||
public void testInlineBecomeNonInline() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineBecomeNonInline/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionAnnotations")
|
||||
public void testInlineFunctionAnnotations() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAnnotations/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionAsFunctionReference")
|
||||
public void testInlineFunctionAsFunctionReference() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsFunctionReference/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionAsParam")
|
||||
public void testInlineFunctionAsParam() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionCircleUsage")
|
||||
public void testInlineFunctionCircleUsage() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionCircleUsage/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionDefaultParams")
|
||||
public void testInlineFunctionDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionWithObject")
|
||||
public void testInlineFunctionWithObject() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionWithObject/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceOpenMethods")
|
||||
public void testInterfaceOpenMethods() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceOpenMethods/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceOpenMethodsInOpenClass")
|
||||
public void testInterfaceOpenMethodsInOpenClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceOpenMethodsInOpenClass/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceSuperUsage")
|
||||
public void testInterfaceSuperUsage() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceSuperUsage/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceWithDefaultParams")
|
||||
public void testInterfaceWithDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceWithDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCode")
|
||||
public void testJsCode() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCode/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCodeWithConstString")
|
||||
public void testJsCodeWithConstString() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExport")
|
||||
public void testJsExport() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsModuleAnnotation")
|
||||
public void testJsModuleAnnotation() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsModuleAnnotation/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("languageVersionSettings")
|
||||
public void testLanguageVersionSettings() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/languageVersionSettings/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("localInlineFunction")
|
||||
public void testLocalInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("localObjectsLeakThroughInterface")
|
||||
public void testLocalObjectsLeakThroughInterface() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/localObjectsLeakThroughInterface/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("mainModuleInvalidation")
|
||||
public void testMainModuleInvalidation() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/mainModuleInvalidation/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveAndModifyInlineFunction")
|
||||
public void testMoveAndModifyInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenFiles")
|
||||
public void testMoveExternalDeclarationsBetweenFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenJsModules")
|
||||
public void testMoveExternalDeclarationsBetweenJsModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveFilesBetweenModules")
|
||||
public void testMoveFilesBetweenModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveInlineFunctionBetweenModules")
|
||||
public void testMoveInlineFunctionBetweenModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedClass")
|
||||
public void testNestedClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/nestedClass/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nonInlineBecomeInline")
|
||||
public void testNonInlineBecomeInline() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/nonInlineBecomeInline/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("privateDeclarationLeakThroughDefaultParam")
|
||||
public void testPrivateDeclarationLeakThroughDefaultParam() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateDeclarationLeakThroughDefaultParam/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("privateInlineFunction1")
|
||||
public void testPrivateInlineFunction1() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("privateObjectsLeakThroughSealedInterface")
|
||||
public void testPrivateObjectsLeakThroughSealedInterface() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateObjectsLeakThroughSealedInterface/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeFile")
|
||||
public void testRemoveFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeModule")
|
||||
public void testRemoveModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeUnusedFile")
|
||||
public void testRemoveUnusedFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeUnusedFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("renameFile")
|
||||
public void testRenameFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/renameFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("renameModule")
|
||||
public void testRenameModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/renameModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("simple")
|
||||
public void testSimple() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/simple/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("splitJoinModule")
|
||||
public void testSplitJoinModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/splitJoinModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("suspendFunctions")
|
||||
public void testSuspendFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("suspendInterfaceWithDefaultParams")
|
||||
public void testSuspendInterfaceWithDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/suspendInterfaceWithDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("toplevelProperties")
|
||||
public void testToplevelProperties() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("transitiveInlineFunction")
|
||||
public void testTransitiveInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExportsPerFile")
|
||||
public void testTypeScriptExportsPerFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExportsPerModule")
|
||||
public void testTypeScriptExportsPerModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("unicodeSerializationAndDeserialization")
|
||||
public void testUnicodeSerializationAndDeserialization() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("updateExports")
|
||||
public void testUpdateExports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/updateExports/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("updateExportsAndInlineImports")
|
||||
public void testUpdateExportsAndInlineImports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/updateExportsAndInlineImports/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("variance")
|
||||
public void testVariance() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/variance/");
|
||||
}
|
||||
}
|
||||
+16
-4
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("js/js.translator/testData/incremental/invalidation")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class JsFirInvalidationTestGenerated extends AbstractJsFirInvalidationTest {
|
||||
public class JsIrInvalidationPerFileTestGenerated extends AbstractJsIrInvalidationPerFileTest {
|
||||
@Test
|
||||
@TestMetadata("addUpdateRemoveDependentFile")
|
||||
public void testAddUpdateRemoveDependentFile() throws Exception {
|
||||
@@ -343,6 +343,12 @@ public class JsFirInvalidationTestGenerated extends AbstractJsFirInvalidationTes
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenFiles")
|
||||
public void testMoveExternalDeclarationsBetweenFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenJsModules")
|
||||
public void testMoveExternalDeclarationsBetweenJsModules() throws Exception {
|
||||
@@ -458,9 +464,15 @@ public class JsFirInvalidationTestGenerated extends AbstractJsFirInvalidationTes
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExports")
|
||||
public void testTypeScriptExports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExports/");
|
||||
@TestMetadata("typeScriptExportsPerFile")
|
||||
public void testTypeScriptExportsPerFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExportsPerModule")
|
||||
public void testTypeScriptExportsPerModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("js/js.translator/testData/incremental/invalidationWithPL")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class JsIrInvalidationWithPLTestGenerated extends AbstractJsIrInvalidationWithPLTest {
|
||||
public class JsIrInvalidationPerFileWithPLTestGenerated extends AbstractJsIrInvalidationPerFileWithPLTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInInvalidationWithPL() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidationWithPL"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR, false);
|
||||
Generated
+501
@@ -0,0 +1,501 @@
|
||||
/*
|
||||
* 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.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("js/js.translator/testData/incremental/invalidation")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class JsIrInvalidationPerModuleTestGenerated extends AbstractJsIrInvalidationPerModuleTest {
|
||||
@Test
|
||||
@TestMetadata("addUpdateRemoveDependentFile")
|
||||
public void testAddUpdateRemoveDependentFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("addUpdateRemoveDependentModule")
|
||||
public void testAddUpdateRemoveDependentModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/addUpdateRemoveDependentModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAllFilesPresentInInvalidation() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidation"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("circleExportsUpdate")
|
||||
public void testCircleExportsUpdate() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/circleExportsUpdate/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("circleInlineImportsUpdate")
|
||||
public void testCircleInlineImportsUpdate() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/circleInlineImportsUpdate/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("class")
|
||||
public void testClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/class/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("classFunctionsAndFields")
|
||||
public void testClassFunctionsAndFields() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/classFunctionsAndFields/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionFunction")
|
||||
public void testCompanionFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionInlineFunction")
|
||||
public void testCompanionInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionProperties")
|
||||
public void testCompanionProperties() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionProperties/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("companionWithStdLibCall")
|
||||
public void testCompanionWithStdLibCall() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/companionWithStdLibCall/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("constVals")
|
||||
public void testConstVals() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/constVals/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("crossModuleReferences")
|
||||
public void testCrossModuleReferences() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/crossModuleReferences/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("eagerInitialization")
|
||||
public void testEagerInitialization() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/eagerInitialization/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enum")
|
||||
public void testEnum() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/enum/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumsInInlineFunctions")
|
||||
public void testEnumsInInlineFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/enumsInInlineFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("exceptionsFromInlineFunction")
|
||||
public void testExceptionsFromInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/exceptionsFromInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("exportsThroughInlineFunction")
|
||||
public void testExportsThroughInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/exportsThroughInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideClassFunctionQualifiers")
|
||||
public void testFakeOverrideClassFunctionQualifiers() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideClassFunctionQualifiers/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInheritance")
|
||||
public void testFakeOverrideInheritance() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInheritance/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInlineExtension")
|
||||
public void testFakeOverrideInlineExtension() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineExtension/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInlineFunction")
|
||||
public void testFakeOverrideInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInlineProperty")
|
||||
public void testFakeOverrideInlineProperty() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInlineProperty/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverrideInterfaceFunctionQualifiers")
|
||||
public void testFakeOverrideInterfaceFunctionQualifiers() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fakeOverrideInterfaceFunctionQualifiers/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fastPath1")
|
||||
public void testFastPath1() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fastPath1/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fastPath2")
|
||||
public void testFastPath2() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/fastPath2/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("friendDependency")
|
||||
public void testFriendDependency() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/friendDependency/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionDefaultParams")
|
||||
public void testFunctionDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionSignature")
|
||||
public void testFunctionSignature() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionSignature/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionTypeInterface")
|
||||
public void testFunctionTypeInterface() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterface/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionTypeInterfaceReflect")
|
||||
public void testFunctionTypeInterfaceReflect() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/functionTypeInterfaceReflect/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("genericFunctions")
|
||||
public void testGenericFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/genericFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("genericInlineFunctions")
|
||||
public void testGenericInlineFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/genericInlineFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("gettersAndSettersInlining")
|
||||
public void testGettersAndSettersInlining() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/gettersAndSettersInlining/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineBecomeNonInline")
|
||||
public void testInlineBecomeNonInline() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineBecomeNonInline/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionAnnotations")
|
||||
public void testInlineFunctionAnnotations() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAnnotations/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionAsFunctionReference")
|
||||
public void testInlineFunctionAsFunctionReference() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsFunctionReference/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionAsParam")
|
||||
public void testInlineFunctionAsParam() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionCircleUsage")
|
||||
public void testInlineFunctionCircleUsage() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionCircleUsage/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionDefaultParams")
|
||||
public void testInlineFunctionDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("inlineFunctionWithObject")
|
||||
public void testInlineFunctionWithObject() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/inlineFunctionWithObject/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceOpenMethods")
|
||||
public void testInterfaceOpenMethods() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceOpenMethods/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceOpenMethodsInOpenClass")
|
||||
public void testInterfaceOpenMethodsInOpenClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceOpenMethodsInOpenClass/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceSuperUsage")
|
||||
public void testInterfaceSuperUsage() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceSuperUsage/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceWithDefaultParams")
|
||||
public void testInterfaceWithDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/interfaceWithDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCode")
|
||||
public void testJsCode() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCode/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsCodeWithConstString")
|
||||
public void testJsCodeWithConstString() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsCodeWithConstString/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExport")
|
||||
public void testJsExport() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsModuleAnnotation")
|
||||
public void testJsModuleAnnotation() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsModuleAnnotation/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("languageVersionSettings")
|
||||
public void testLanguageVersionSettings() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/languageVersionSettings/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("localInlineFunction")
|
||||
public void testLocalInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/localInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("localObjectsLeakThroughInterface")
|
||||
public void testLocalObjectsLeakThroughInterface() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/localObjectsLeakThroughInterface/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("mainModuleInvalidation")
|
||||
public void testMainModuleInvalidation() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/mainModuleInvalidation/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveAndModifyInlineFunction")
|
||||
public void testMoveAndModifyInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveAndModifyInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenFiles")
|
||||
public void testMoveExternalDeclarationsBetweenFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveExternalDeclarationsBetweenJsModules")
|
||||
public void testMoveExternalDeclarationsBetweenJsModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenJsModules/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveFilesBetweenModules")
|
||||
public void testMoveFilesBetweenModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveFilesBetweenModules/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("moveInlineFunctionBetweenModules")
|
||||
public void testMoveInlineFunctionBetweenModules() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/moveInlineFunctionBetweenModules/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedClass")
|
||||
public void testNestedClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/nestedClass/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nonInlineBecomeInline")
|
||||
public void testNonInlineBecomeInline() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/nonInlineBecomeInline/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("privateDeclarationLeakThroughDefaultParam")
|
||||
public void testPrivateDeclarationLeakThroughDefaultParam() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateDeclarationLeakThroughDefaultParam/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("privateInlineFunction1")
|
||||
public void testPrivateInlineFunction1() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateInlineFunction1/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("privateObjectsLeakThroughSealedInterface")
|
||||
public void testPrivateObjectsLeakThroughSealedInterface() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/privateObjectsLeakThroughSealedInterface/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeFile")
|
||||
public void testRemoveFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeModule")
|
||||
public void testRemoveModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeUnusedFile")
|
||||
public void testRemoveUnusedFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/removeUnusedFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("renameFile")
|
||||
public void testRenameFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/renameFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("renameModule")
|
||||
public void testRenameModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/renameModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("simple")
|
||||
public void testSimple() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/simple/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("splitJoinModule")
|
||||
public void testSplitJoinModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/splitJoinModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("suspendFunctions")
|
||||
public void testSuspendFunctions() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/suspendFunctions/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("suspendInterfaceWithDefaultParams")
|
||||
public void testSuspendInterfaceWithDefaultParams() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/suspendInterfaceWithDefaultParams/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("toplevelProperties")
|
||||
public void testToplevelProperties() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/toplevelProperties/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("transitiveInlineFunction")
|
||||
public void testTransitiveInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExportsPerFile")
|
||||
public void testTypeScriptExportsPerFile() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerFile/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeScriptExportsPerModule")
|
||||
public void testTypeScriptExportsPerModule() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/typeScriptExportsPerModule/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("unicodeSerializationAndDeserialization")
|
||||
public void testUnicodeSerializationAndDeserialization() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("updateExports")
|
||||
public void testUpdateExports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/updateExports/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("updateExportsAndInlineImports")
|
||||
public void testUpdateExportsAndInlineImports() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/updateExportsAndInlineImports/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("variance")
|
||||
public void testVariance() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/variance/");
|
||||
}
|
||||
}
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* 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.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("js/js.translator/testData/incremental/invalidationWithPL")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class JsIrInvalidationPerModuleWithPLTestGenerated extends AbstractJsIrInvalidationPerModuleWithPLTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInInvalidationWithPL() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/incremental/invalidationWithPL"), Pattern.compile("^([^_](.+))$"), null, TargetBackend.JS_IR, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("changeFunctionSignature")
|
||||
public void testChangeFunctionSignature() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidationWithPL/changeFunctionSignature/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("interfaceBecomeClass")
|
||||
public void testInterfaceBecomeClass() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidationWithPL/interfaceBecomeClass/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeFunction")
|
||||
public void testRemoveFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidationWithPL/removeFunction/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeFunctionFromBlock")
|
||||
public void testRemoveFunctionFromBlock() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidationWithPL/removeFunctionFromBlock/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeFunctionFromChainCall")
|
||||
public void testRemoveFunctionFromChainCall() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidationWithPL/removeFunctionFromChainCall/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeFunctionFromElvis")
|
||||
public void testRemoveFunctionFromElvis() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidationWithPL/removeFunctionFromElvis/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeFunctionFromInline")
|
||||
public void testRemoveFunctionFromInline() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidationWithPL/removeFunctionFromInline/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("removeInlineFunction")
|
||||
public void testRemoveInlineFunction() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidationWithPL/removeInlineFunction/");
|
||||
}
|
||||
}
|
||||
Vendored
+15
-6
@@ -1,17 +1,26 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..1:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1a, lib2/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib2/l2, main/m
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1a, lib1/l1b
|
||||
STEP 3..4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib2/l2, main/m
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1a, lib1/l1b
|
||||
STEP 6..7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1a, lib2/l2, main/m
|
||||
Vendored
+13
-5
@@ -2,13 +2,21 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
STEP 1..2:
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib2/l2, main/m
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1a, lib2/l2, main/m
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, main/m
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1a, lib1/l1b
|
||||
|
||||
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/f, lib1/f1, lib1/f2, lib1/f3, main/m, main/m.export
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/f, lib1/f1, lib1/f2, lib1/f3
|
||||
|
||||
+7
-2
@@ -1,5 +1,10 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..2:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/f, lib1/f1, lib1/f2, lib1/f3, main/m, main/m.export
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/f, lib1/f1, lib1/f2, lib1/f3, main/m
|
||||
|
||||
@@ -2,7 +2,9 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/testEquals, main/testToString, main/testHashCode, main/m, main/m.export
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/testEquals, main/testToString, main/testHashCode, main/m
|
||||
|
||||
+14
-7
@@ -2,22 +2,29 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 2..3:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 4..7:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 8:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 9:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 10..11:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
|
||||
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
|
||||
+9
-3
@@ -1,8 +1,14 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..4:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1..4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
+30
-8
@@ -2,19 +2,41 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2string, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2int
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
STEP 3..4:
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2pair
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2func, lib2/l2string
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
STEP 6..10:
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2func, lib2/l2string, lib2/l2pair
|
||||
STEP 7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1
|
||||
STEP 8:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2int
|
||||
STEP 9..10:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2int
|
||||
|
||||
+6
-3
@@ -2,10 +2,13 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/f, main/m, main/m.export
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/f
|
||||
|
||||
+7
-2
@@ -1,5 +1,10 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..3:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1..3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m
|
||||
|
||||
@@ -2,13 +2,17 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
|
||||
+8
-4
@@ -2,13 +2,17 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1..4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
|
||||
+4
-2
@@ -1,8 +1,10 @@
|
||||
IGNORE_PER_FILE: true
|
||||
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
|
||||
@@ -2,15 +2,19 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/testEnumEntries, main/testEnumValues, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 2:
|
||||
language: +EnumEntries
|
||||
libs: lib1, main
|
||||
dirty js: main, lib1
|
||||
dirty js modules: main, lib1
|
||||
dirty js files: lib1/l1, main/testEnumEntries, main/testEnumValues, main/m, main/m.export
|
||||
STEP 3:
|
||||
language: +EnumEntries
|
||||
libs: lib1, main
|
||||
dirty js: main, lib1
|
||||
dirty js modules: main, lib1
|
||||
dirty js files: lib1/l1, main/testEnumEntries
|
||||
|
||||
+11
-2
@@ -1,5 +1,14 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..4:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1..2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
STEP 3..4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
|
||||
Vendored
+16
-8
@@ -2,25 +2,33 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2, main
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2
|
||||
STEP 5..6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
STEP 7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2
|
||||
STEP 8:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
|
||||
Vendored
+11
-4
@@ -1,11 +1,18 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..4:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l2, main/m, main/m.export
|
||||
STEP 1..4:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l2, main/m
|
||||
STEP 5:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 6..7:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l2, main/m
|
||||
|
||||
Vendored
+19
-8
@@ -1,23 +1,34 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..1:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: main, lib1, lib2
|
||||
dirty js modules: main, lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2, main/m
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 6..10:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m
|
||||
STEP 11:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
|
||||
+21
-3
@@ -2,7 +2,25 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
STEP 1..5:
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/A, lib1/B, lib1/C, main/classABC, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/A, lib1/B, lib1/C, main/classABC, main/m
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/B, lib1/C, main/classABC, main/m
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/A, lib1/B, lib1/C, main/classABC, main/m
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/B, lib1/C, main/classABC, main/m
|
||||
STEP 5:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/A, lib1/B, lib1/C, main/classABC, main/m
|
||||
|
||||
Vendored
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/classA, main/m, main/m.export
|
||||
STEP 1..4:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/classA, main/m
|
||||
|
||||
+7
-2
@@ -1,5 +1,10 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..2:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1..2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m
|
||||
|
||||
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/classA, main/m, main/m.export
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/classA, main/m
|
||||
|
||||
+21
-9
@@ -1,26 +1,38 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..1:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/class2, lib2/object2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/class2, lib2/object2, main/m
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/class2, lib2/object2
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/class2, lib2/object2
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2, main
|
||||
dirty js modules: lib2, main
|
||||
dirty js files: lib2/class2, lib2/object2, main/m
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/class2, lib2/object2, main/m
|
||||
STEP 7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/class2, lib2/object2
|
||||
STEP 8:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2, main
|
||||
dirty js modules: lib2, main
|
||||
dirty js files: lib2/class2, lib2/object2, main/m
|
||||
|
||||
@@ -2,7 +2,9 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2
|
||||
|
||||
@@ -2,6 +2,7 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
|
||||
+14
-7
@@ -2,22 +2,29 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/publicClass, main/test, main/m, main/m.export
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/publicClass, main/test
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/publicClass, main/test
|
||||
STEP 5..6:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/publicClass, main/test
|
||||
STEP 7:
|
||||
libs: lib1, main
|
||||
dirty js: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/publicClass, main/test
|
||||
STEP 8..9:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/publicClass
|
||||
|
||||
+8
-4
@@ -2,13 +2,17 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
|
||||
+8
-4
@@ -2,13 +2,17 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1..6:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 7..8:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 9..16:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
|
||||
+21
-7
@@ -2,19 +2,33 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
STEP 1..8:
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2b, lib2/l2a, main/m, main/m.export
|
||||
STEP 1..4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2a
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2b
|
||||
STEP 6..8:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2a
|
||||
STEP 9:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2a
|
||||
STEP 10:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2a
|
||||
STEP 11..12:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2a
|
||||
STEP 13..15:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2a
|
||||
|
||||
Vendored
+15
-2
@@ -1,5 +1,18 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..3:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/A, lib1/B, lib1/C, main/test, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/A, lib1/B, main/test
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/A, main/test
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/C, main/test
|
||||
|
||||
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1..4:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
|
||||
+9
-3
@@ -1,8 +1,14 @@
|
||||
MODULES: lib1, main, libProxy
|
||||
|
||||
STEP 0..7:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1..7:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 8..23:
|
||||
libs: lib1, libProxy, main
|
||||
dirty js: lib1, libProxy, main
|
||||
dirty js modules: lib1, libProxy, main
|
||||
dirty js files: lib1/l1, libProxy/proxy, main/m
|
||||
|
||||
+9
-3
@@ -1,8 +1,14 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..3:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1..3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2, main
|
||||
dirty js modules: lib2, main
|
||||
dirty js files: lib2/l2, main/m
|
||||
|
||||
+9
-3
@@ -1,8 +1,14 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..1:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
|
||||
+15
-2
@@ -1,5 +1,18 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..4:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l1.export, main/m
|
||||
STEP 2..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l1.export, main/m
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
|
||||
Vendored
+15
-2
@@ -1,5 +1,18 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..3:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l2, main/m
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l2, main/m
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l2, main/m
|
||||
|
||||
+7
-2
@@ -1,5 +1,10 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..9:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1..9:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
|
||||
+7
-2
@@ -1,5 +1,10 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..2:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, main/m, main/m.export
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, main/m
|
||||
|
||||
Vendored
+7
-2
@@ -1,5 +1,10 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..3:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
|
||||
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2, main
|
||||
dirty js modules: lib2, main
|
||||
dirty js files: lib2/l2, main/m
|
||||
|
||||
+13
-5
@@ -1,14 +1,22 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..1:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/InterfaceA, lib1/InterfaceB, lib1/InterfaceC, lib2/MyClass, lib2/GetA, lib2/GetB, lib2/GetC, main/test, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/InterfaceA, lib1/InterfaceB, lib1/InterfaceC, lib2/MyClass, lib2/GetA, lib2/GetB, lib2/GetC, main/test
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/InterfaceB, lib1/InterfaceC, main/test
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/InterfaceA, lib1/InterfaceB, lib1/InterfaceC, lib2/MyClass, lib2/GetA, lib2/GetB, lib2/GetC, main/test
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/InterfaceA, lib1/InterfaceB, lib1/InterfaceC, main/test
|
||||
|
||||
Vendored
+12
-6
@@ -2,19 +2,25 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/InterfaceA, lib1/ClassB, lib2/MyClass, lib2/GetA, lib2/GetB, main/test, main/m, main/m.export
|
||||
STEP 1..3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/InterfaceA, lib1/ClassB, main/test
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/test
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/InterfaceA, lib1/ClassB, lib2/MyClass, lib2/GetA, main/test
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/InterfaceA, lib1/ClassB, main/test
|
||||
STEP 7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/InterfaceA, lib1/ClassB, lib2/MyClass, main/test
|
||||
|
||||
+23
-10
@@ -1,29 +1,42 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..1:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/Interface, lib1/ClassA, lib1/ClassB, main/test, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/ClassB, main/test
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/Interface
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/ClassB, main/test
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/ClassA, lib1/ClassB, lib1/Interface
|
||||
STEP 5:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/ClassB, main/test
|
||||
STEP 6:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/Interface, lib1/ClassB
|
||||
STEP 7:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/ClassB, main/test
|
||||
STEP 8:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/ClassA
|
||||
STEP 9..10:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/ClassA, main/test
|
||||
|
||||
+16
-8
@@ -2,25 +2,33 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2test, main/m, main/m.export
|
||||
STEP 1..2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2test
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2test
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2test
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2test
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2test
|
||||
STEP 7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
dirty js modules: lib2
|
||||
dirty js files: lib2/l2test
|
||||
STEP 8:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..3:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/js, lib1/test, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/js
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/js
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/js, lib1/l1
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/test
|
||||
STEP 5:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/js, lib1/l1
|
||||
STEP 6:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/js
|
||||
STEP 7:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/js, lib1/l1
|
||||
+17
-3
@@ -2,7 +2,21 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
STEP 1..7:
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/js, lib1/test, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/js
|
||||
STEP 2..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/js, lib1/l1
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/test
|
||||
STEP 5..7:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/js, lib1/l1
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..6:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l1.export, main/m
|
||||
STEP 2..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l1.export, main/m
|
||||
STEP 4..6:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l1.export, main/m
|
||||
+7
-2
@@ -1,5 +1,10 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..1:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/ObjectA, lib1/ObjectB, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/ObjectB, main/m
|
||||
|
||||
+10
-5
@@ -2,19 +2,23 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1:
|
||||
language: +TypeAliases
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 2:
|
||||
language: +TypeAliases, +BoundCallableReferences, +LocalDelegatedProperties, +TopLevelSealedInheritance
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 3:
|
||||
language: +TypeAliases, +BoundCallableReferences, +TopLevelSealedInheritance
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 4:
|
||||
language: +BoundCallableReferences, +TopLevelSealedInheritance, +TypeAliases
|
||||
libs: lib1, main
|
||||
@@ -24,7 +28,8 @@ STEP 5:
|
||||
STEP 6:
|
||||
language: +BoundCallableReferences, -TypeAliases, +TopLevelSealedInheritance
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 7:
|
||||
language: +TopLevelSealedInheritance, +BoundCallableReferences, +TypeAliases
|
||||
libs: lib1, main
|
||||
|
||||
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
|
||||
Vendored
+15
-6
@@ -2,16 +2,25 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/classA, lib1/interface, main/test, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/classA, lib1/interface
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/classA, lib1/interface, main/test
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js: main
|
||||
STEP 4..5:
|
||||
dirty js modules: main
|
||||
dirty js files: main/test
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/interface, lib1/classA, main/test
|
||||
STEP 5:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/interface, main/test
|
||||
|
||||
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m0, main/m1, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/m
|
||||
|
||||
Vendored
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib1/test, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib1/test
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 3; }
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 0; }
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 2; }
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 1; }
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 5; }
|
||||
+1
@@ -0,0 +1 @@
|
||||
export function externalDemoFunction() { return 4; }
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-a.mjs")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+1
@@ -0,0 +1 @@
|
||||
@file:JsModule("../js-module-a.mjs")
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-a-new.mjs")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+1
@@ -0,0 +1 @@
|
||||
@file:JsModule("../js-module-b.mjs")
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-b.mjs")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-b-new.mjs")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun demoFunction() = externalDemoFunction()
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun demoFunction() = -1
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
STEP 0:
|
||||
modifications:
|
||||
U : JsModuleA.0.kt -> JsModuleA.kt
|
||||
U : JsModuleB.0.kt -> JsModuleB.kt
|
||||
U : demo.0.kt -> demo.kt
|
||||
added file: JsModuleA.kt, JsModuleB.kt, demo.kt
|
||||
STEP 1:
|
||||
modifications:
|
||||
U : JsModuleA.1.kt -> JsModuleA.kt
|
||||
U : JsModuleB.1.kt -> JsModuleB.kt
|
||||
modified ir: JsModuleA.kt, JsModuleB.kt
|
||||
updated imports: demo.kt
|
||||
STEP 2:
|
||||
modifications:
|
||||
U : JsModuleB.2.kt -> JsModuleB.kt
|
||||
modified ir: JsModuleB.kt
|
||||
updated imports: demo.kt
|
||||
STEP 3:
|
||||
modifications:
|
||||
U : demo.3.kt -> demo.kt
|
||||
modified ir: demo.kt
|
||||
STEP 4:
|
||||
modifications:
|
||||
U : JsModuleA.4.kt -> JsModuleA.kt
|
||||
U : JsModuleB.0.kt -> JsModuleB.kt
|
||||
modified ir: JsModuleA.kt, JsModuleB.kt
|
||||
STEP 5:
|
||||
modifications:
|
||||
U : JsModuleA.1.kt -> JsModuleA.kt
|
||||
modified ir: JsModuleA.kt
|
||||
updated exports: JsModuleA.kt
|
||||
STEP 6:
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-c")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
@file:JsModule("../js-module-c-new")
|
||||
|
||||
external fun externalDemoFunction(): Int
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
STEP 0:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : test.0.kt -> test.kt
|
||||
added file: test.kt
|
||||
STEP 1..2:
|
||||
dependencies: lib1
|
||||
STEP 3:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : test.3.kt -> test.kt
|
||||
modified ir: test.kt
|
||||
STEP 4:
|
||||
dependencies: lib1
|
||||
updated imports: test.kt
|
||||
STEP 5:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : JsModuleC.5.kt -> JsModuleC.kt
|
||||
added file: JsModuleC.kt
|
||||
updated exports: JsModuleC.kt
|
||||
updated imports: test.kt
|
||||
STEP 6:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : JsModuleC.6.kt -> JsModuleC.kt
|
||||
modified ir: JsModuleC.kt
|
||||
updated imports: test.kt
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun testFunction() = demoFunction()
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun testFunction() = externalDemoFunction() + 1
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
fun box(stepId: Int): String {
|
||||
val x = testFunction()
|
||||
if (x != stepId) {
|
||||
return "Fail: $x != $stepId"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
STEP 0:
|
||||
dependencies: lib1, lib2
|
||||
added file: m.kt
|
||||
STEP 1..6:
|
||||
dependencies: lib1, lib2
|
||||
js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/project.info
Vendored
+25
@@ -0,0 +1,25 @@
|
||||
IGNORE_PER_MODULE: true
|
||||
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/demo, lib1/JsModuleA, lib1/JsModuleB, lib2/test, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/demo, lib1/JsModuleA, lib1/JsModuleB
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/demo, lib1/JsModuleB
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/demo, lib2/test
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/JsModuleA, lib1/JsModuleB, lib2/test
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/JsModuleA, lib2/JsModuleC, lib2/test
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib2/JsModuleC, lib2/test
|
||||
+6
-4
@@ -1,14 +1,16 @@
|
||||
IGNORE_PER_FILE: true
|
||||
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
STEP 1..2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
STEP 3..5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
dirty js modules: lib2
|
||||
|
||||
+11
-2
@@ -1,5 +1,14 @@
|
||||
MODULES: lib1, lib2, lib3, main
|
||||
|
||||
STEP 0..2:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, lib3, main
|
||||
dirty js: lib1, lib2, lib3, main
|
||||
dirty js modules: lib1, lib2, lib3, main
|
||||
dirty js files: lib1/l11, lib1/l12, lib2/l21, lib3/l3, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, lib3, main
|
||||
dirty js modules: lib1, lib2, lib3, main
|
||||
dirty js files: lib2/l21, lib2/l22, lib3/l3, main/m
|
||||
STEP 2:
|
||||
libs: lib1, lib2, lib3, main
|
||||
dirty js modules: lib1, lib2, lib3, main
|
||||
dirty js files: lib1/l12_n, lib2/l21, lib3/l3, main/m
|
||||
|
||||
Vendored
+7
-2
@@ -1,5 +1,10 @@
|
||||
MODULES: lib1, lib2, lib3, main
|
||||
|
||||
STEP 0..1:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, lib3, main
|
||||
dirty js: lib1, lib2, lib3, main
|
||||
dirty js modules: lib1, lib2, lib3, main
|
||||
dirty js files: lib1/l1, lib2/l2, lib3/l3, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, lib3, main
|
||||
dirty js modules: lib1, lib2, lib3, main
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l22, lib3/l3, main/m
|
||||
|
||||
+17
-7
@@ -1,20 +1,30 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..1:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 5:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 6:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
|
||||
+9
-3
@@ -1,8 +1,14 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0..3:
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
|
||||
+27
-2
@@ -1,5 +1,30 @@
|
||||
MODULES: main
|
||||
|
||||
STEP 0..13:
|
||||
STEP 0:
|
||||
libs: main
|
||||
dirty js: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/f, main/m, main/m.export
|
||||
STEP 1..2:
|
||||
libs: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/f
|
||||
STEP 3..8:
|
||||
libs: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/f, main/m
|
||||
STEP 9:
|
||||
libs: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/f
|
||||
STEP 10:
|
||||
libs: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/f, main/m
|
||||
STEP 11:
|
||||
libs: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/f
|
||||
STEP 12..13:
|
||||
libs: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/f, main/m
|
||||
|
||||
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
|
||||
+15
-6
@@ -2,16 +2,25 @@ MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/classA, lib1/interface, main/test, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js: lib1
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/classA, lib1/interface
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/classA, lib1/interface, main/test
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js: main
|
||||
STEP 4..5:
|
||||
dirty js modules: main
|
||||
dirty js files: main/test
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/classA, lib1/interface, main/test
|
||||
STEP 5:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/interface, main/test
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..1:
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1_0, lib1/l1_1, lib2/l2_0, lib2/l2_1, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: main/m
|
||||
|
||||
+4
-2
@@ -2,7 +2,9 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
dirty js modules: lib1, lib2
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user