Fix compiler warnings in compiler code
This commit is contained in:
@@ -99,6 +99,12 @@ dependencies {
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>> {
|
||||
kotlinOptions {
|
||||
freeCompilerArgs += "-Xinline-classes"
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
"main" { }
|
||||
"test" { projectDefault() }
|
||||
|
||||
+5
-5
@@ -31,14 +31,14 @@ abstract class AbstractCompilerLightClassTest : KotlinMultiFileTestWithJava<Kotl
|
||||
|
||||
override fun isKotlinSourceRootNeeded(): Boolean = true
|
||||
|
||||
override fun doMultiFileTest(file: File, files: List<TestFile>) {
|
||||
val environment = createEnvironment(file, files)
|
||||
val expectedFile = KotlinTestUtils.replaceExtension(file, "java")
|
||||
val allowFrontendExceptions = InTextDirectivesUtils.isDirectiveDefined(file.readText(), "// ALLOW_FRONTEND_EXCEPTION")
|
||||
override fun doMultiFileTest(wholeFile: File, files: List<TestFile>) {
|
||||
val environment = createEnvironment(wholeFile, files)
|
||||
val expectedFile = KotlinTestUtils.replaceExtension(wholeFile, "java")
|
||||
val allowFrontendExceptions = InTextDirectivesUtils.isDirectiveDefined(wholeFile.readText(), "// ALLOW_FRONTEND_EXCEPTION")
|
||||
|
||||
LightClassTestCommon.testLightClass(
|
||||
expectedFile,
|
||||
file,
|
||||
wholeFile,
|
||||
{ fqname -> findLightClass(allowFrontendExceptions, environment, fqname) },
|
||||
LightClassTestCommon::removeEmptyDefaultImpls
|
||||
)
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ abstract class AbstractDiagnosticsTestWithStdLibUsingJavac : AbstractDiagnostics
|
||||
|
||||
|
||||
override fun shouldSkipTest(wholeFile: File, files: List<TestFile>): Boolean {
|
||||
return isJavacSkipTest(wholeFile, files)
|
||||
return isJavacSkipTest(wholeFile)
|
||||
}
|
||||
|
||||
override fun setupEnvironment(environment: KotlinCoreEnvironment, testDataFile: File, files: List<TestFile>) {
|
||||
|
||||
+1
-2
@@ -19,13 +19,12 @@ package org.jetbrains.kotlin.checkers.javac
|
||||
import org.jetbrains.kotlin.checkers.AbstractForeignJava8AnnotationsTest
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
||||
import java.io.File
|
||||
|
||||
abstract class AbstractJavacForeignJava8AnnotationsTest : AbstractForeignJava8AnnotationsTest() {
|
||||
|
||||
override fun shouldSkipTest(wholeFile: File, files: List<TestFile>): Boolean {
|
||||
return isSkipJavacTest(wholeFile, files)
|
||||
return isSkipJavacTest(wholeFile)
|
||||
}
|
||||
|
||||
override fun setupEnvironment(environment: KotlinCoreEnvironment, testDataFile: File, files: List<TestFile>) {
|
||||
|
||||
+1
-1
@@ -660,7 +660,7 @@ abstract class AbstractDiagnosticsTest : BaseDiagnosticsTest() {
|
||||
val dependencies = ArrayList<ModuleDescriptorImpl>()
|
||||
dependencies.add(module)
|
||||
for (dependency in testModule.dependencies) {
|
||||
dependencies.add(modules[dependency]!!)
|
||||
dependencies.add(modules[dependency as TestModule?]!!)
|
||||
}
|
||||
|
||||
dependencies.add(module.builtIns.builtInsModule)
|
||||
|
||||
@@ -490,7 +490,7 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava<TestModule, Tes
|
||||
)
|
||||
}
|
||||
|
||||
fun isJavacSkipTest(wholeFile: File, files: List<TestFile>): Boolean {
|
||||
fun isJavacSkipTest(wholeFile: File): Boolean {
|
||||
val testDataFileText = wholeFile.readText()
|
||||
if (isDirectiveDefined(testDataFileText, "// JAVAC_SKIP")) {
|
||||
return true
|
||||
@@ -499,7 +499,7 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava<TestModule, Tes
|
||||
}
|
||||
|
||||
//TODO: merge with isJavacSkipTest
|
||||
fun isSkipJavacTest(wholeFile: File, files: List<TestFile>): Boolean {
|
||||
fun isSkipJavacTest(wholeFile: File): Boolean {
|
||||
val testDataFileText = wholeFile.readText()
|
||||
if (isDirectiveDefined(testDataFileText, "// SKIP_JAVAC")) {
|
||||
return true
|
||||
|
||||
+4
-5
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.Companion.createForTests
|
||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
||||
import org.jetbrains.kotlin.parsing.KotlinParserDefinition
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
@@ -131,7 +130,7 @@ abstract class KotlinMultiFileTestWithJava<M : KotlinBaseTest.TestModule, F : Ko
|
||||
directives: Directives
|
||||
): F? {
|
||||
if (fileName.endsWith(".java")) {
|
||||
writeSourceFile(fileName, text, javaFilesDir!!)
|
||||
writeSourceFile(fileName, text, javaFilesDir)
|
||||
}
|
||||
if ((fileName.endsWith(".kt") || fileName.endsWith(".kts")) && kotlinSourceRoot != null) {
|
||||
writeSourceFile(fileName, text, kotlinSourceRoot!!)
|
||||
@@ -147,9 +146,9 @@ abstract class KotlinMultiFileTestWithJava<M : KotlinBaseTest.TestModule, F : Ko
|
||||
}
|
||||
|
||||
private fun writeSourceFile(fileName: String, content: String, targetDir: File) {
|
||||
val file = File(targetDir, fileName)
|
||||
KotlinTestUtils.mkdirs(file.parentFile)
|
||||
file.writeText(content, Charsets.UTF_8)
|
||||
val tmpFile = File(targetDir, fileName)
|
||||
KotlinTestUtils.mkdirs(tmpFile.parentFile)
|
||||
tmpFile.writeText(content, Charsets.UTF_8)
|
||||
}
|
||||
}, coroutinesPackage)
|
||||
}
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ import java.io.File
|
||||
abstract class AbstractDiagnosticsUsingJavacTest : AbstractDiagnosticsTest() {
|
||||
|
||||
override fun shouldSkipTest(wholeFile: File, files: List<TestFile>): Boolean {
|
||||
return isJavacSkipTest(wholeFile, files)
|
||||
return isJavacSkipTest(wholeFile)
|
||||
}
|
||||
|
||||
override fun setupEnvironment(environment: KotlinCoreEnvironment, testDataFile: File, files: List<TestFile>) {
|
||||
|
||||
+2
-1
@@ -57,11 +57,12 @@ public abstract class AbstractBlackBoxCodegenTest extends CodegenTestCase {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
protected void doMultiFileTest(
|
||||
@NotNull File wholeFile,
|
||||
@NotNull List<? extends TestFile> files
|
||||
) throws Exception {
|
||||
doMultiFileTest(wholeFile, (List<TestFile>)files, false);
|
||||
doMultiFileTest(wholeFile, (List<TestFile>) files, false);
|
||||
}
|
||||
|
||||
private void doBytecodeListingTest(@NotNull File wholeFile) throws Exception {
|
||||
|
||||
+3
-3
@@ -434,7 +434,7 @@ abstract class AbstractCheckLocalVariablesTableTest : CodegenTestCase() {
|
||||
// conflicting types are represented with a CONFLICT type
|
||||
// which will never match a read instruction or a type in
|
||||
// a locals table.
|
||||
if (!areCompatible(index, it, type)) {
|
||||
if (!areCompatible(it, type)) {
|
||||
currentLocals[index] = "CONFLICT"
|
||||
}
|
||||
}
|
||||
@@ -450,11 +450,11 @@ abstract class AbstractCheckLocalVariablesTableTest : CodegenTestCase() {
|
||||
// We only check that there is no confusion between object types and basic types.
|
||||
// Therefore, we map all arrays types to type Object when comparing.
|
||||
private fun checkCompatible(index: Int, type0: String, type1: String) {
|
||||
if (areCompatible(index, type0, type1)) return
|
||||
if (areCompatible(type0, type1)) return
|
||||
throw Exception("Incompatible types for local $index: $type0 and $type1")
|
||||
}
|
||||
|
||||
private fun areCompatible(index: Int, type0: String, type1: String): Boolean {
|
||||
private fun areCompatible(type0: String, type1: String): Boolean {
|
||||
val t0 = if (type0.startsWith("[")) "Ljava/lang/Object;" else type0
|
||||
val t1 = if (type1.startsWith("[")) "Ljava/lang/Object;" else type1
|
||||
if (t0.equals(t1)) return true
|
||||
|
||||
-1
@@ -28,7 +28,6 @@ abstract class AbstractCompileKotlinAgainstInlineKotlinTest : AbstractCompileKot
|
||||
)
|
||||
try {
|
||||
val allGeneratedFiles = factory1.asList() + factory2.asList()
|
||||
val sourceFiles = factory1.inputFiles + factory2.inputFiles
|
||||
InlineTestUtil.checkNoCallsToInline(allGeneratedFiles.filterClassFiles(), files)
|
||||
SMAPTestUtil.checkSMAP(files, allGeneratedFiles.filterClassFiles(), true)
|
||||
} catch (e: Throwable) {
|
||||
|
||||
+1
@@ -49,6 +49,7 @@ public abstract class AbstractCompileKotlinAgainstKotlinTest extends CodegenTest
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
protected void doMultiFileTest(@NotNull File wholeFile, @NotNull List<? extends TestFile> files) {
|
||||
boolean isIgnored = InTextDirectivesUtils.isIgnoredTarget(getBackend(), wholeFile);
|
||||
doTwoFileTest((List<TestFile>) files, !isIgnored);
|
||||
|
||||
@@ -594,13 +594,14 @@ public abstract class CodegenTestCase extends KotlinBaseTest<KotlinBaseTest.Test
|
||||
boolean parseDirectivesPerFiles,
|
||||
@NotNull TargetBackend backend
|
||||
) {
|
||||
List testFiles = TestFiles.createTestFiles(file.getName(), expectedText, new TestFiles.TestFileFactoryNoModules<TestFile>() {
|
||||
@NotNull
|
||||
@Override
|
||||
public TestFile create(@NotNull String fileName, @NotNull String text, @NotNull Directives directives) {
|
||||
return new TestFile(fileName, text, directives);
|
||||
}
|
||||
}, false, coroutinesPackage, parseDirectivesPerFiles);
|
||||
List<TestFile> testFiles =
|
||||
TestFiles.createTestFiles(file.getName(), expectedText, new TestFiles.TestFileFactoryNoModules<TestFile>() {
|
||||
@NotNull
|
||||
@Override
|
||||
public TestFile create(@NotNull String fileName, @NotNull String text, @NotNull Directives directives) {
|
||||
return new TestFile(fileName, text, directives);
|
||||
}
|
||||
}, false, coroutinesPackage, parseDirectivesPerFiles);
|
||||
if (InTextDirectivesUtils.isDirectiveDefined(expectedText, "WITH_HELPERS")) {
|
||||
testFiles.add(new TestFile("CodegenTestHelpers.kt", TestHelperGeneratorKt.createTextForCodegenTestHelpers(backend)));
|
||||
}
|
||||
|
||||
+3
-1
@@ -56,7 +56,9 @@ public abstract class AbstractWriteFlagsTest extends CodegenTestCase {
|
||||
|
||||
@Override
|
||||
protected void doMultiFileTest(@NotNull File wholeFile, @NotNull List<? extends TestFile> files) throws Exception {
|
||||
compile((List<TestFile>)files);
|
||||
@SuppressWarnings("unchecked")
|
||||
List<TestFile> testFiles = (List<TestFile>) files;
|
||||
compile(testFiles);
|
||||
|
||||
String fileText = FileUtil.loadFile(wholeFile, true);
|
||||
|
||||
|
||||
+1
-1
@@ -157,7 +157,7 @@ abstract class AbstractFirBaseDiagnosticsTest : BaseDiagnosticsTest() {
|
||||
val dependencies = ArrayList<ModuleInfo>()
|
||||
dependencies.add(module)
|
||||
for (dependency in testModule.dependencies) {
|
||||
dependencies.add(modules[dependency]!!)
|
||||
dependencies.add(modules[dependency as TestModule?]!!)
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -337,9 +337,6 @@ abstract class AbstractFirDiagnosticsTest : AbstractFirBaseDiagnosticsTest() {
|
||||
for (previousNode in node.previousNodes) {
|
||||
if (previousNode.owner != graph) continue
|
||||
if (!node.incomingEdges.getValue(previousNode).isBack) {
|
||||
if (previousNode !in visited) {
|
||||
val x = 1
|
||||
}
|
||||
assertTrue(previousNode in visited)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -103,7 +103,7 @@ abstract class AbstractFirDiagnosticsWithLightTreeTest : AbstractFirDiagnosticsT
|
||||
return groupBy { it }.mapValues { (_, value) -> value.size }
|
||||
}
|
||||
|
||||
private class MissingDiagnostic(val startOffset: Int, val name: String, diff: Int, ktFile: KtFile) {
|
||||
private class MissingDiagnostic(val startOffset: Int, val name: String, diff: Int, @Suppress("UNUSED_PARAMETER") ktFile: KtFile) {
|
||||
val kind: Kind = if (diff > 0) Kind.WasExpected else Kind.IsActual
|
||||
val count: Int = abs(diff)
|
||||
|
||||
|
||||
@@ -221,7 +221,7 @@ class FirResolveBench(val withProgress: Boolean) {
|
||||
) {
|
||||
fileCount += firFiles.size
|
||||
try {
|
||||
for ((stage, processor) in processors.withIndex()) {
|
||||
for ((_, processor) in processors.withIndex()) {
|
||||
//println("Starting stage #$stage. $transformer")
|
||||
val firFileSequence = if (withProgress) firFiles.progress(" ~ ") else firFiles.asSequence()
|
||||
runStage(processor, firFileSequence)
|
||||
|
||||
@@ -140,6 +140,7 @@ inline class TableTimeUnitConversion(val value: Double) {
|
||||
infix fun Long.from(from: TableTimeUnit) = TableTimeUnitConversion(this / from.nsMultiplier)
|
||||
|
||||
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
inline fun RTableContext.RTableRowContext.timeCell(
|
||||
time: Long,
|
||||
outputUnit: TableTimeUnit = TableTimeUnit.MS,
|
||||
|
||||
@@ -185,6 +185,7 @@ abstract class KotlinBaseTest<F : KotlinBaseTest.TestFile> : KtUsefulTestCase()
|
||||
}
|
||||
assert(configurationKeyField != null) { "Expected [+|-][namespace.]configurationKey, got: $flag" }
|
||||
try {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val configurationKey = configurationKeyField!![null] as CompilerConfigurationKey<Boolean>
|
||||
configuration.put(configurationKey, flagEnabled)
|
||||
} catch (e: java.lang.Exception) {
|
||||
|
||||
@@ -716,8 +716,7 @@ public class KotlinTestUtils {
|
||||
runTestImpl(testWithCustomIgnoreDirective(test, TargetBackend.ANY, IGNORE_BACKEND_DIRECTIVE_PREFIX), testCase, testDataFile);
|
||||
}
|
||||
|
||||
public static void runTest(@NotNull TestCase testCase, @NotNull Function0 test) {
|
||||
//noinspection unchecked
|
||||
public static void runTest(@NotNull TestCase testCase, @NotNull Function0<Unit> test) {
|
||||
MuteWithDatabaseKt.runTest(testCase, test);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -564,10 +564,10 @@ public abstract class KtUsefulTestCase extends TestCase {
|
||||
assertOrderedEquals("", actual, expected);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <T> void assertOrderedEquals(@NotNull String errorMsg,
|
||||
@NotNull Iterable<? extends T> actual,
|
||||
@NotNull Iterable<? extends T> expected) {
|
||||
//noinspection unchecked
|
||||
assertOrderedEquals(errorMsg, actual, expected, Equality.CANONICAL);
|
||||
}
|
||||
|
||||
@@ -1008,8 +1008,8 @@ public abstract class KtUsefulTestCase extends TestCase {
|
||||
* @param exceptionCase Block annotated with some exception type
|
||||
* @param expectedErrorMsg expected error message
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
protected void assertException(@NotNull AbstractExceptionCase exceptionCase, @Nullable String expectedErrorMsg) {
|
||||
//noinspection unchecked
|
||||
assertExceptionOccurred(true, exceptionCase, expectedErrorMsg);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -441,10 +441,10 @@ public abstract class KtUsefulTestCase extends TestCase {
|
||||
assertOrderedEquals("", actual, expected);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <T> void assertOrderedEquals(@NotNull String errorMsg,
|
||||
@NotNull Iterable<? extends T> actual,
|
||||
@NotNull Iterable<? extends T> expected) {
|
||||
//noinspection unchecked
|
||||
assertOrderedEquals(errorMsg, actual, expected, Equality.CANONICAL);
|
||||
}
|
||||
|
||||
@@ -851,8 +851,8 @@ public abstract class KtUsefulTestCase extends TestCase {
|
||||
* @param exceptionCase Block annotated with some exception type
|
||||
* @param expectedErrorMsg expected error message
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
protected void assertException(@NotNull AbstractExceptionCase exceptionCase, @Nullable String expectedErrorMsg) {
|
||||
//noinspection unchecked
|
||||
assertExceptionOccurred(true, exceptionCase, expectedErrorMsg);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -567,10 +567,10 @@ public abstract class KtUsefulTestCase extends TestCase {
|
||||
assertOrderedEquals("", actual, expected);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <T> void assertOrderedEquals(@NotNull String errorMsg,
|
||||
@NotNull Iterable<? extends T> actual,
|
||||
@NotNull Iterable<? extends T> expected) {
|
||||
//noinspection unchecked
|
||||
assertOrderedEquals(errorMsg, actual, expected, Equality.CANONICAL);
|
||||
}
|
||||
|
||||
@@ -1011,8 +1011,8 @@ public abstract class KtUsefulTestCase extends TestCase {
|
||||
* @param exceptionCase Block annotated with some exception type
|
||||
* @param expectedErrorMsg expected error message
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
protected void assertException(@NotNull AbstractExceptionCase exceptionCase, @Nullable String expectedErrorMsg) {
|
||||
//noinspection unchecked
|
||||
assertExceptionOccurred(true, exceptionCase, expectedErrorMsg);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -556,10 +556,10 @@ public abstract class KtUsefulTestCase extends TestCase {
|
||||
assertOrderedEquals("", actual, expected);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <T> void assertOrderedEquals(@NotNull String errorMsg,
|
||||
@NotNull Iterable<? extends T> actual,
|
||||
@NotNull Iterable<? extends T> expected) {
|
||||
//noinspection unchecked
|
||||
assertOrderedEquals(errorMsg, actual, expected, Equality.CANONICAL);
|
||||
}
|
||||
|
||||
@@ -1000,8 +1000,8 @@ public abstract class KtUsefulTestCase extends TestCase {
|
||||
* @param exceptionCase Block annotated with some exception type
|
||||
* @param expectedErrorMsg expected error message
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
protected void assertException(@NotNull AbstractExceptionCase exceptionCase, @Nullable String expectedErrorMsg) {
|
||||
//noinspection unchecked
|
||||
assertExceptionOccurred(true, exceptionCase, expectedErrorMsg);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user