From 221f44da5fc408c10617e1c246c4d3b32b89e3eb Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 26 Nov 2020 21:25:01 +0100 Subject: [PATCH] Fix warnings in stdlib/compiler/plugins/test code --- .../tests/CodegenTestsOnAndroidRunner.kt | 1 - .../KotlinCompilerRunnerUtils.kt | 2 +- .../SourceElementPositioningStrategy.kt | 4 +++- .../kotlin/fir/symbols/CallableId.kt | 5 +++-- .../jetbrains/kotlin/fir/dump/HtmlFirDump.kt | 1 + .../fir/backend/Fir2IrDeclarationStorage.kt | 3 +-- .../generators/CallAndReferenceGenerator.kt | 18 ++++++++--------- .../fir/lazy/Fir2IrLazyPropertyAccessor.kt | 4 ++-- .../FirResolveModularizedTotalKotlinTest.kt | 10 +++++----- ...NonFirResolveModularizedTotalKotlinTest.kt | 10 ++++------ .../converter/DeclarationsConverter.kt | 3 ++- .../kotlin/fir/builder/RawFirBuilder.kt | 3 ++- .../kotlin/fir/builder/BaseFirBuilder.kt | 3 ++- .../fir/symbols/impl/FirVariableSymbol.kt | 6 +++--- .../checkers/diagnostics/ActualDiagnostic.kt | 2 +- .../kotlin/checkers/utils/DebugInfoUtil.kt | 2 +- .../DiagnosticFactoryWithPsiElement.java | 2 ++ .../diagnostics/KotlinSuppressCache.kt | 2 +- .../common/lower/LocalDeclarationsLowering.kt | 2 +- .../ir/backend/js/lower/EnumClassLowering.kt | 20 +++++++++---------- .../lower/InvokeStaticInitializersLowering.kt | 4 ++-- .../kotlin/ir/backend/js/utils/NameTables.kt | 7 +++++-- .../jvm/lower/SuspendLambdaLowering.kt | 6 ++---- .../backend/wasm/ir2wasm/BodyGenerator.kt | 2 +- .../ir2wasm/WasmModuleCodegenContextImpl.kt | 5 ++--- .../common/serialization/IrFileSerializer.kt | 4 +--- .../jetbrains/kotlin/psi/psiUtil/psiUtils.kt | 1 + ...agnosticCodeMetaInfoRenderConfiguration.kt | 4 +--- .../jetbrains/kotlin/test/util/Condition.kt | 4 +--- .../services/impl/TargetPlatformParser.kt | 2 +- .../test/backend/handlers/JvmBoxRunner.kt | 4 ++-- .../classic/ClassicFrontend2IrConverter.kt | 2 +- .../fir/handlers/FirDiagnosticCodeMetaInfo.kt | 1 + .../kotlin/checkers/CheckerTestUtilTest.kt | 5 ++--- .../kotlin/fir/AbstractFirDiagnosticTest.kt | 2 +- .../kotlin/ir/AbstractIrTextTestCase.kt | 8 +++----- .../consistency/SpecTestsConsistencyTest.kt | 2 +- .../utils/tasks/PrintSpecTestsStatistic.kt | 4 ++-- .../validators/DiagnosticTestTypeValidator.kt | 4 ++-- .../stdlib/common/src/kotlin/ExceptionsH.kt | 3 ++- .../common/src/kotlin/JvmAnnotationsH.kt | 2 ++ .../jvm/annotations/JvmPlatformAnnotations.kt | 2 ++ .../test/AbstractAndroidBytecodeShapeTest.kt | 6 +++--- .../kotlin/importsDumper/ImportsDumperTest.kt | 6 ++++-- .../kapt3/test/KotlinKapt3IntegrationTests.kt | 2 +- .../parcelize/ide/KotlinParcelizeBundle.kt | 6 ++++-- ...AbstractSamWithReceiverScriptNewDefTest.kt | 7 +++++-- .../scripting/ide_services/JvmReplTest.kt | 2 +- 48 files changed, 109 insertions(+), 101 deletions(-) diff --git a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidRunner.kt b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidRunner.kt index 8504b6514fa..9d9a05be748 100644 --- a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidRunner.kt +++ b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidRunner.kt @@ -160,7 +160,6 @@ class CodegenTestsOnAndroidRunner private constructor(private val pathManager: P val item = testCases.item(i) as Element val failure = item.getElementsByTagName("failure") val name = item.getAttribute("name") - val clazz = item.getAttribute("classname") if (failure.length == 0) { object : TestCase(name) { diff --git a/compiler/compiler-runner/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunnerUtils.kt b/compiler/compiler-runner/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunnerUtils.kt index 0974d8e408b..279728a0594 100644 --- a/compiler/compiler-runner/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunnerUtils.kt +++ b/compiler/compiler-runner/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunnerUtils.kt @@ -49,7 +49,7 @@ object KotlinCompilerRunnerUtils { additionalJvmParams: Array = arrayOf() ): CompileServiceSession? { val daemonJVMOptions = configureDaemonJVMOptions( - additionalParams = additionalJvmParams, + *additionalJvmParams, inheritMemoryLimits = true, inheritOtherJvmOptions = false, inheritAdditionalProperties = true diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/SourceElementPositioningStrategy.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/SourceElementPositioningStrategy.kt index f4b47aeea25..aef575700a9 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/SourceElementPositioningStrategy.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/SourceElementPositioningStrategy.kt @@ -18,6 +18,7 @@ open class SourceElementPositioningStrategy( fun markDiagnostic(diagnostic: FirDiagnostic<*>): List { val element = diagnostic.element if (element is FirPsiSourceElement<*>) { + @Suppress("UNCHECKED_CAST") return psiStrategy.mark(element.psi as E) } return lightTreeStrategy.mark(element.lighterASTNode, element.treeStructure) @@ -25,6 +26,7 @@ open class SourceElementPositioningStrategy( fun isValid(element: FirSourceElement): Boolean { if (element is FirPsiSourceElement<*>) { + @Suppress("UNCHECKED_CAST") return psiStrategy.isValid(element.psi as E) } return lightTreeStrategy.isValid(element.lighterASTNode, element.treeStructure) @@ -33,4 +35,4 @@ open class SourceElementPositioningStrategy( companion object { val DEFAULT: SourceElementPositioningStrategy = SourceElementPositioningStrategies.DEFAULT } -} \ No newline at end of file +} diff --git a/compiler/fir/cones/src/org/jetbrains/kotlin/fir/symbols/CallableId.kt b/compiler/fir/cones/src/org/jetbrains/kotlin/fir/symbols/CallableId.kt index a63acfdca43..bf6e3a78fcf 100644 --- a/compiler/fir/cones/src/org/jetbrains/kotlin/fir/symbols/CallableId.kt +++ b/compiler/fir/cones/src/org/jetbrains/kotlin/fir/symbols/CallableId.kt @@ -36,7 +36,7 @@ data class CallableId( constructor(packageName: FqName, callableName: Name) : this(packageName, null, callableName) - @Deprecated("TODO: Better solution for local callables?") + @LocalCallableIdConstructor constructor( callableName: Name, // Currently, it's only used for debug info @@ -67,4 +67,5 @@ data class CallableId( } } - +@RequiresOptIn("TODO: Better solution for local callables?") +annotation class LocalCallableIdConstructor diff --git a/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt b/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt index 48947d622c5..21bf65bb7cc 100644 --- a/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt +++ b/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt @@ -767,6 +767,7 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver } } + @OptIn(ExperimentalUnsignedTypes::class) when (expression.kind) { FirConstKind.Null -> keyword("null") FirConstKind.Boolean -> keyword(value.toString()) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index f2b35fd9b4c..ddbe46d2c9b 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -253,7 +253,7 @@ class Fir2IrDeclarationStorage( private fun T.declareDefaultSetterParameter(type: IrType): T { valueParameters = listOf( - createDefaultSetterParameter(startOffset, endOffset, origin, type, parent = this) + createDefaultSetterParameter(startOffset, endOffset, type, parent = this) ) return this } @@ -261,7 +261,6 @@ class Fir2IrDeclarationStorage( internal fun createDefaultSetterParameter( startOffset: Int, endOffset: Int, - origin: IrDeclarationOrigin, type: IrType, parent: IrFunction ): IrValueParameter { diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt index b8accddf4cf..fa4f3b87b31 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt @@ -170,7 +170,7 @@ class CallAndReferenceGenerator( return null } - private fun FirExpression.superQualifierSymbol(callSymbol: IrSymbol?): IrClassSymbol? { + private fun FirExpression.superQualifierSymbol(): IrClassSymbol? { if (this !is FirQualifiedAccess) { return null } @@ -220,7 +220,7 @@ class CallAndReferenceGenerator( typeArgumentsCount = symbol.owner.typeParameters.size, valueArgumentsCount = symbol.owner.valueParameters.size, origin = qualifiedAccess.calleeReference.statementOrigin(), - superQualifierSymbol = dispatchReceiver.superQualifierSymbol(symbol) + superQualifierSymbol = dispatchReceiver.superQualifierSymbol() ) } is IrLocalDelegatedPropertySymbol -> { @@ -229,7 +229,7 @@ class CallAndReferenceGenerator( typeArgumentsCount = symbol.owner.getter.typeParameters.size, valueArgumentsCount = 0, origin = IrStatementOrigin.GET_LOCAL_PROPERTY, - superQualifierSymbol = dispatchReceiver.superQualifierSymbol(symbol) + superQualifierSymbol = dispatchReceiver.superQualifierSymbol() ) } is IrPropertySymbol -> { @@ -241,11 +241,11 @@ class CallAndReferenceGenerator( typeArgumentsCount = getter.typeParameters.size, valueArgumentsCount = 0, origin = IrStatementOrigin.GET_PROPERTY, - superQualifierSymbol = dispatchReceiver.superQualifierSymbol(symbol) + superQualifierSymbol = dispatchReceiver.superQualifierSymbol() ) backingField != null -> IrGetFieldImpl( startOffset, endOffset, backingField.symbol, type, - superQualifierSymbol = dispatchReceiver.superQualifierSymbol(symbol) + superQualifierSymbol = dispatchReceiver.superQualifierSymbol() ) else -> IrErrorCallExpressionImpl( startOffset, endOffset, type, @@ -256,7 +256,7 @@ class CallAndReferenceGenerator( is IrFieldSymbol -> IrGetFieldImpl( startOffset, endOffset, symbol, type, origin = IrStatementOrigin.GET_PROPERTY.takeIf { qualifiedAccess.calleeReference !is FirDelegateFieldReference }, - superQualifierSymbol = dispatchReceiver.superQualifierSymbol(symbol) + superQualifierSymbol = dispatchReceiver.superQualifierSymbol() ) is IrValueSymbol -> IrGetValueImpl( startOffset, endOffset, type, symbol, @@ -297,7 +297,7 @@ class CallAndReferenceGenerator( typeArgumentsCount = setter.typeParameters.size, valueArgumentsCount = 1, origin = origin, - superQualifierSymbol = variableAssignment.dispatchReceiver.superQualifierSymbol(symbol) + superQualifierSymbol = variableAssignment.dispatchReceiver.superQualifierSymbol() ).apply { putValueArgument(0, assignedValue) } @@ -314,14 +314,14 @@ class CallAndReferenceGenerator( typeArgumentsCount = setter.typeParameters.size, valueArgumentsCount = 1, origin = origin, - superQualifierSymbol = variableAssignment.dispatchReceiver.superQualifierSymbol(symbol) + superQualifierSymbol = variableAssignment.dispatchReceiver.superQualifierSymbol() ).apply { putValueArgument(0, assignedValue) } backingField != null -> IrSetFieldImpl( startOffset, endOffset, backingField.symbol, type, origin = null, // NB: to be consistent with PSI2IR, origin should be null here - superQualifierSymbol = variableAssignment.dispatchReceiver.superQualifierSymbol(symbol) + superQualifierSymbol = variableAssignment.dispatchReceiver.superQualifierSymbol() ).apply { value = assignedValue } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt index 3cb4dcfda57..a954f94cbd2 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt @@ -68,7 +68,7 @@ class Fir2IrLazyPropertyAccessor( declarationStorage.enterScope(this) listOf( declarationStorage.createDefaultSetterParameter( - startOffset, endOffset, origin, + startOffset, endOffset, (firAccessor?.valueParameters?.firstOrNull()?.returnTypeRef ?: firParentProperty.returnTypeRef).toIrType( typeConverter, conversionTypeContext ), @@ -88,4 +88,4 @@ class Fir2IrLazyPropertyAccessor( get() = firParentProperty.containerSource private val conversionTypeContext = if (isSetter) ConversionTypeContext.DEFAULT.inSetter() else ConversionTypeContext.DEFAULT -} \ No newline at end of file +} diff --git a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/FirResolveModularizedTotalKotlinTest.kt b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/FirResolveModularizedTotalKotlinTest.kt index 66457ddbe6e..2637bb5350f 100644 --- a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/FirResolveModularizedTotalKotlinTest.kt +++ b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/FirResolveModularizedTotalKotlinTest.kt @@ -131,11 +131,11 @@ class FirResolveModularizedTotalKotlinTest : AbstractModularizedTest() { createMemoryDump(moduleData) val disambiguatedName = moduleData.disambiguatedName() - dumpFir(disambiguatedName, moduleData, firFiles) - dumpFirHtml(disambiguatedName, moduleData, firFiles) + dumpFir(disambiguatedName, firFiles) + dumpFirHtml(disambiguatedName, firFiles) } - private fun dumpFir(disambiguatedName: String, moduleData: ModuleData, firFiles: List) { + private fun dumpFir(disambiguatedName: String, firFiles: List) { if (!DUMP_FIR) return val dumpRoot = File(FIR_DUMP_PATH).resolve(disambiguatedName) firFiles.forEach { @@ -150,13 +150,13 @@ class FirResolveModularizedTotalKotlinTest : AbstractModularizedTest() { val baseName = qualifiedName var disambiguatedName = baseName var counter = 1 - while(!dumpedModules.add(disambiguatedName)) { + while (!dumpedModules.add(disambiguatedName)) { disambiguatedName = "$baseName.${counter++}" } return disambiguatedName } - private fun dumpFirHtml(disambiguatedName: String, moduleData: ModuleData, firFiles: List) { + private fun dumpFirHtml(disambiguatedName: String, firFiles: List) { if (!DUMP_FIR) return dump.module(disambiguatedName) { firFiles.forEach(dump::indexFile) diff --git a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt index c4b7daea002..fce570143f1 100644 --- a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt +++ b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt @@ -7,8 +7,8 @@ package org.jetbrains.kotlin.fir import com.intellij.openapi.util.Disposer import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment @@ -27,9 +27,7 @@ class NonFirResolveModularizedTotalKotlinTest : AbstractModularizedTest() { private val times = mutableListOf() - private fun runAnalysis(moduleData: ModuleData, environment: KotlinCoreEnvironment) { - val project = environment.project - + private fun runAnalysis(environment: KotlinCoreEnvironment) { val time = measureNanoTime { try { KotlinToJVMBytecodeCompiler.analyze(environment) @@ -98,7 +96,7 @@ class NonFirResolveModularizedTotalKotlinTest : AbstractModularizedTest() { }) val environment = KotlinCoreEnvironment.createForTests(disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES) - runAnalysis(moduleData, environment) + runAnalysis(environment) Disposer.dispose(disposable) return ProcessorAction.NEXT @@ -122,4 +120,4 @@ class NonFirResolveModularizedTotalKotlinTest : AbstractModularizedTest() { val bestPass = times.indexOf(bestTime) dumpTime("Best pass: $bestPass", bestTime) } -} \ No newline at end of file +} diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt index 5cf75ad4e89..536c7296b05 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt @@ -44,6 +44,7 @@ import org.jetbrains.kotlin.fir.references.impl.FirReferencePlaceholderForResolv import org.jetbrains.kotlin.fir.scopes.FirScopeProvider import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.CallableId +import org.jetbrains.kotlin.fir.symbols.LocalCallableIdConstructor import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.builder.* @@ -1540,7 +1541,7 @@ class DeclarationsConverter( origin = FirDeclarationOrigin.Synthetic name = delegateName returnTypeRef = firTypeRef - symbol = FirFieldSymbol(CallableId(name)) + symbol = FirFieldSymbol(@OptIn(LocalCallableIdConstructor::class) CallableId(name)) isVar = false status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL) } diff --git a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index cc71b2975c1..9011a12d235 100644 --- a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -30,6 +30,7 @@ import org.jetbrains.kotlin.fir.references.builder.* import org.jetbrains.kotlin.fir.scopes.FirScopeProvider import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.CallableId +import org.jetbrains.kotlin.fir.symbols.LocalCallableIdConstructor import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.builder.* @@ -559,7 +560,7 @@ class RawFirBuilder( origin = FirDeclarationOrigin.Synthetic name = delegateName returnTypeRef = type - symbol = FirFieldSymbol(CallableId(name)) + symbol = FirFieldSymbol(@OptIn(LocalCallableIdConstructor::class) CallableId(name)) isVar = false status = FirDeclarationStatusImpl(Visibilities.Local, Modality.FINAL) } diff --git a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt index 23f169d1c74..cf228facb8e 100644 --- a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt +++ b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.fir.references.FirReference import org.jetbrains.kotlin.fir.references.builder.* import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference import org.jetbrains.kotlin.fir.symbols.CallableId +import org.jetbrains.kotlin.fir.symbols.LocalCallableIdConstructor import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef @@ -116,7 +117,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte else result.child(Name.identifier(firFunctionTarget.labelName!!)) } - CallableId(name, pathFqName) + @OptIn(LocalCallableIdConstructor::class) CallableId(name, pathFqName) } context.className == FqName.ROOT -> CallableId(context.packageFqName, name) context.className.shortName() == ANONYMOUS_OBJECT_NAME -> CallableId(ANONYMOUS_CLASS_ID, name) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirVariableSymbol.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirVariableSymbol.kt index 87d90e6ec24..8a6bab108a6 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirVariableSymbol.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirVariableSymbol.kt @@ -12,19 +12,19 @@ import org.jetbrains.kotlin.fir.declarations.FirVariable import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.symbols.CallableId +import org.jetbrains.kotlin.fir.symbols.LocalCallableIdConstructor import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name open class FirVariableSymbol>(override val callableId: CallableId) : FirCallableSymbol() { - - constructor(name: Name) : this(CallableId(name)) // TODO? + constructor(name: Name) : this(@OptIn(LocalCallableIdConstructor::class) CallableId(name)) // TODO? } open class FirPropertySymbol( callableId: CallableId, ) : FirVariableSymbol(callableId) { // TODO: should we use this constructor for local variables? - constructor(name: Name) : this(CallableId(name)) + constructor(name: Name) : this(@OptIn(LocalCallableIdConstructor::class) CallableId(name)) } class FirBackingFieldSymbol(callableId: CallableId) : FirVariableSymbol(callableId) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/checkers/diagnostics/ActualDiagnostic.kt b/compiler/frontend/src/org/jetbrains/kotlin/checkers/diagnostics/ActualDiagnostic.kt index 435c4b065db..ec5cf4413d2 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/checkers/diagnostics/ActualDiagnostic.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/checkers/diagnostics/ActualDiagnostic.kt @@ -17,7 +17,7 @@ class ActualDiagnostic constructor(val diagnostic: Diagnostic, override val plat TextDiagnostic.InferenceCompatibility.OLD override val name: String - get() = diagnostic.factory.name!! + get() = diagnostic.factory.name val file: PsiFile get() = diagnostic.psiFile diff --git a/compiler/frontend/src/org/jetbrains/kotlin/checkers/utils/DebugInfoUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/checkers/utils/DebugInfoUtil.kt index 6744946a635..36497765d1a 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/checkers/utils/DebugInfoUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/checkers/utils/DebugInfoUtil.kt @@ -205,7 +205,7 @@ object DebugInfoUtil { } abstract class DebugInfoReporter { - fun preProcessReference(expression: KtReferenceExpression) { + fun preProcessReference(@Suppress("UNUSED_PARAMETER") expression: KtReferenceExpression) { // do nothing } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticFactoryWithPsiElement.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticFactoryWithPsiElement.java index 74d734b6cd8..f77f6a04caa 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticFactoryWithPsiElement.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticFactoryWithPsiElement.java @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.diagnostics; import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; +import kotlin.DeprecationLevel; import java.util.List; @@ -43,6 +44,7 @@ public abstract class DiagnosticFactoryWithPsiElement, severity: Severity): Boolean = severity == Severity.WARNING && "warnings" in strings || key in strings diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt index df578217bcc..3446933e2cb 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt @@ -447,7 +447,7 @@ class LocalDeclarationsLowering( } override fun visitDeclaration(declaration: IrDeclarationBase): IrStatement { - if (declaration is IrSymbolOwner && declaration in transformedDeclarations) { + if (declaration in transformedDeclarations) { TODO() } return super.visitDeclaration(declaration) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/EnumClassLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/EnumClassLowering.kt index 866c60545c1..18fb7306805 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/EnumClassLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/EnumClassLowering.kt @@ -458,17 +458,15 @@ class EnumSyntheticFunctionsLowering(val context: JsCommonBackendContext) : Decl private val IrClass.initEntryInstancesFun: IrSimpleFunction? by context.mapping.enumClassToInitEntryInstancesFun override fun transformFlat(declaration: IrDeclaration): List? { - if (declaration is IrConstructor && declaration.isPrimary) { - declaration.parentEnumClassOrNull?.let { enumClass -> - if (declaration.parentClassOrNull?.isCompanion == true) { - (declaration.body as? IrSyntheticBody)?.let { originalBody -> - declaration.parentEnumClassOrNull?.let { enumClass -> - declaration.body = context.irFactory.createBlockBody(UNDEFINED_OFFSET, UNDEFINED_OFFSET) { - statements += context.createIrBuilder(declaration.symbol).irBlockBody { - +irCall(enumClass.initEntryInstancesFun!!.symbol) - }.statements + originalBody.statements - } - } + if (declaration is IrConstructor && declaration.isPrimary && declaration.parentEnumClassOrNull != null && + declaration.parentClassOrNull?.isCompanion == true + ) { + (declaration.body as? IrSyntheticBody)?.let { originalBody -> + declaration.parentEnumClassOrNull?.let { enumClass -> + declaration.body = context.irFactory.createBlockBody(UNDEFINED_OFFSET, UNDEFINED_OFFSET) { + statements += context.createIrBuilder(declaration.symbol).irBlockBody { + +irCall(enumClass.initEntryInstancesFun!!.symbol) + }.statements + originalBody.statements } } } diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/InvokeStaticInitializersLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/InvokeStaticInitializersLowering.kt index 298305656a7..bc84952f440 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/InvokeStaticInitializersLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/InvokeStaticInitializersLowering.kt @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.ir.util.* class InvokeStaticInitializersLowering(val context: JsIrBackendContext) : BodyLoweringPass { override fun lower(irBody: IrBody, container: IrDeclaration) { if (container !is IrConstructor) return - if (container?.parentClassOrNull?.isEnumClass == true) return + if (container.parentClassOrNull?.isEnumClass == true) return val irClass = container.constructedClass if (irClass.isEffectivelyExternal()) { @@ -32,4 +32,4 @@ class InvokeStaticInitializersLowering(val context: JsIrBackendContext) : BodyLo (irBody as IrStatementContainer).statements.add(0, getInstanceCall) } -} \ No newline at end of file +} diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt index ee950a66aa4..631068d6826 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt @@ -16,7 +16,10 @@ import org.jetbrains.kotlin.ir.expressions.IrExpression import org.jetbrains.kotlin.ir.expressions.IrLoop import org.jetbrains.kotlin.ir.expressions.IrWhen import org.jetbrains.kotlin.ir.types.isUnit -import org.jetbrains.kotlin.ir.util.* +import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable +import org.jetbrains.kotlin.ir.util.isEffectivelyExternal +import org.jetbrains.kotlin.ir.util.isEnumClass +import org.jetbrains.kotlin.ir.util.render import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid import org.jetbrains.kotlin.ir.visitors.acceptVoid @@ -370,7 +373,7 @@ class NameTables( } override fun visitDeclaration(declaration: IrDeclarationBase) { - if (declaration is IrDeclarationWithName && declaration is IrSymbolOwner) { + if (declaration is IrDeclarationWithName) { table.declareFreshName(declaration, declaration.name.asString()) } super.visitDeclaration(declaration) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SuspendLambdaLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SuspendLambdaLowering.kt index 29d9c49f08e..112ff2a8c73 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SuspendLambdaLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SuspendLambdaLowering.kt @@ -30,7 +30,6 @@ import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.expressions.impl.* import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol -import org.jetbrains.kotlin.ir.symbols.impl.IrVariableSymbolImpl import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.util.* @@ -39,7 +38,6 @@ import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.resolve.jvm.AsmTypes -import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin import org.jetbrains.org.objectweb.asm.Type internal val suspendLambdaPhase = makeIrFilePhase( @@ -225,14 +223,14 @@ private class SuspendLambdaLowering(context: JvmBackendContext) : SuspendLowerin private fun IrClass.addInvokeSuspendForLambda( irFunction: IrFunction, suspendLambda: IrClass, - fields: List + parameterInfos: List ): IrSimpleFunction { val superMethod = suspendLambda.functions.single { it.name.asString() == INVOKE_SUSPEND_METHOD_NAME && it.valueParameters.size == 1 && it.valueParameters[0].type.isKotlinResult() } return addFunctionOverride(superMethod, irFunction.startOffset, irFunction.endOffset).apply { - val localVals: List = fields.mapIndexed { index, param -> + val localVals: List = parameterInfos.map { param -> if (param.isUsed) { buildVariable( parent = this, diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/BodyGenerator.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/BodyGenerator.kt index 99b520f3996..494883579b9 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/BodyGenerator.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/BodyGenerator.kt @@ -139,7 +139,7 @@ class BodyGenerator(val context: WasmFunctionCodegenContext) : IrElementVisitorV val wasmGcType: WasmSymbol = context.referenceGcType(klass.symbol) - klass.getWasmArrayAnnotation()?.let { wasmArrayInfo -> + if (klass.getWasmArrayAnnotation() != null) { require(expression.valueArgumentsCount == 1) { "@WasmArrayOf constructs must have exactly one argument" } generateExpression(expression.getValueArgument(0)!!) body.buildRttCanon(context.transformType(klass.defaultType)) diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/WasmModuleCodegenContextImpl.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/WasmModuleCodegenContextImpl.kt index eba6a962b34..3bd1c4d7020 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/WasmModuleCodegenContextImpl.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/WasmModuleCodegenContextImpl.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.ir.util.isFunction import org.jetbrains.kotlin.ir.util.parentAsClass import org.jetbrains.kotlin.wasm.ir.* - class WasmModuleCodegenContextImpl( override val backendContext: WasmBackendContext, private val wasmFragment: WasmCompiledModuleFragment @@ -100,8 +99,8 @@ class WasmModuleCodegenContextImpl( wasmFragment.globals.define(irField, wasmGlobal) } - override fun defineGcType(irClass: IrClassSymbol, wasmStruct: WasmTypeDeclaration) { - wasmFragment.gcTypes.define(irClass, wasmStruct) + override fun defineGcType(irClass: IrClassSymbol, wasmType: WasmTypeDeclaration) { + wasmFragment.gcTypes.define(irClass, wasmType) } override fun defineRTT(irClass: IrClassSymbol, wasmGlobal: WasmGlobal) { diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt index 37177c73c9b..3537730acee 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt @@ -1251,9 +1251,7 @@ open class IrFileSerializer( if (backendSpecificExplicitRoot(file)) { for (declaration in file.declarations) { - if (declaration is IrSymbolOwner) { - proto.addExplicitlyExportedToCompiler(serializeIrSymbol(declaration.symbol)) - } + proto.addExplicitlyExportedToCompiler(serializeIrSymbol(declaration.symbol)) } } else { file.acceptVoid( diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt index dec4596cacc..69efb019386 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt @@ -135,6 +135,7 @@ inline fun PsiElement.getParentOfType(strict: Boolean, vararg stopAt: Class): T? { + @Suppress("NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS") return PsiTreeUtil.getParentOfType(this, T::class.java, strict, *stopAt) } diff --git a/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/codeMetaInfo/renderConfigurations/DiagnosticCodeMetaInfoRenderConfiguration.kt b/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/codeMetaInfo/renderConfigurations/DiagnosticCodeMetaInfoRenderConfiguration.kt index 0218108e750..57b366af3e8 100644 --- a/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/codeMetaInfo/renderConfigurations/DiagnosticCodeMetaInfoRenderConfiguration.kt +++ b/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/codeMetaInfo/renderConfigurations/DiagnosticCodeMetaInfoRenderConfiguration.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.codeMetaInfo.renderConfigurations -import com.intellij.util.containers.ContainerUtil import org.jetbrains.kotlin.checkers.diagnostics.factories.DebugInfoDiagnosticFactory1 import org.jetbrains.kotlin.codeMetaInfo.model.CodeMetaInfo import org.jetbrains.kotlin.codeMetaInfo.model.DiagnosticCodeMetaInfo @@ -39,8 +38,7 @@ open class DiagnosticCodeMetaInfoRenderConfiguration( else -> DefaultErrorMessages.getRendererForDiagnostic(codeMetaInfo.diagnostic) } if (renderer is AbstractDiagnosticWithParametersRenderer) { - val renderParameters = renderer.renderParameters(codeMetaInfo.diagnostic) - params.addAll(ContainerUtil.map(renderParameters) { it.toString() }) + renderer.renderParameters(codeMetaInfo.diagnostic).mapTo(params, Any::toString) } if (renderSeverity) params.add("severity='${codeMetaInfo.diagnostic.severity}'") diff --git a/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/test/util/Condition.kt b/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/test/util/Condition.kt index 1e65a5b8b6f..f79ca82049c 100644 --- a/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/test/util/Condition.kt +++ b/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/test/util/Condition.kt @@ -75,9 +75,7 @@ object Conditions { fun not(c: Condition): Condition { if (c === alwaysTrue()) return alwaysFalse() if (c === alwaysFalse()) return alwaysTrue() - return if (c is Not<*>) { - (c as Not).c as Condition - } else Not(c) + return if (c is Not<*>) (c as Not).c else Not(c) } fun and(c1: Condition, c2: Condition): Condition { diff --git a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/services/impl/TargetPlatformParser.kt b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/services/impl/TargetPlatformParser.kt index a0c32f7bdb3..fd869e313bf 100644 --- a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/services/impl/TargetPlatformParser.kt +++ b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/services/impl/TargetPlatformParser.kt @@ -44,7 +44,7 @@ object TargetPlatformParser { return runIf(platformString == JS) { JsPlatforms.DefaultSimpleJsPlatform } } - private fun tryParseNativePlatform(platformString: String): NativePlatform? { + private fun tryParseNativePlatform(@Suppress("UNUSED_PARAMETER") platformString: String): NativePlatform? { // TODO: support native platforms return null } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/JvmBoxRunner.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/JvmBoxRunner.kt index a7e9cd717ae..714a5978738 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/JvmBoxRunner.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/JvmBoxRunner.kt @@ -86,13 +86,13 @@ class JvmBoxRunner(testServices: TestServices) : JvmBinaryArtifactHandler(testSe private fun callBoxMethodAndCheckResult( classLoader: URLClassLoader, - clazz: Class<*>?, + @Suppress("UNUSED_PARAMETER") clazz: Class<*>?, method: Method, unexpectedBehaviour: Boolean ) { val result = if (BOX_IN_SEPARATE_PROCESS_PORT != null) { TODO() -// result = invokeBoxInSeparateProcess(classLoader, aClass) +// result = invokeBoxInSeparateProcess(classLoader, clazz) } else { val savedClassLoader = Thread.currentThread().contextClassLoader if (savedClassLoader !== classLoader) { diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/ClassicFrontend2IrConverter.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/ClassicFrontend2IrConverter.kt index d81a02a799a..089e44c0a56 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/ClassicFrontend2IrConverter.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/ClassicFrontend2IrConverter.kt @@ -30,7 +30,7 @@ class ClassicFrontend2IrConverter( module: TestModule, inputArtifact: ClassicFrontendOutputArtifact ): IrBackendInput { - val (psiFiles, analysisResult, project, languageVersionSettings) = inputArtifact + val (psiFiles, analysisResult, project, _) = inputArtifact val configuration = testServices.compilerConfigurationProvider.getCompilerConfiguration(module) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDiagnosticCodeMetaInfo.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDiagnosticCodeMetaInfo.kt index 5042b2d400b..bfd591e42c8 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDiagnosticCodeMetaInfo.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDiagnosticCodeMetaInfo.kt @@ -73,6 +73,7 @@ class FirDiagnosticCodeMetaRenderConfiguration( val diagnostic = codeMetaInfo.diagnostic + @Suppress("UNCHECKED_CAST") val renderer = FirDefaultErrorMessages.getRendererForDiagnostic(diagnostic) as FirDiagnosticRenderer> params.add(renderer.render(diagnostic)) diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.kt index 0fa9b5ae0aa..2622ea45b76 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.checkers import com.google.common.collect.Lists -import com.intellij.openapi.util.text.StringUtil import com.intellij.psi.PsiFile import org.jetbrains.kotlin.ObsoleteTestInfrastructure import org.jetbrains.kotlin.checkers.diagnostics.ActualDiagnostic @@ -228,8 +227,8 @@ class CheckerTestUtilTest : KotlinTestWithEnvironment() { private fun missing(data: DiagnosticData) = missing(data.name, data.startOffset, data.endOffset) - private fun asTextDiagnostic(diagnosticData: DiagnosticData, vararg params: String) = - diagnosticData.name + "(" + StringUtil.join(params, "; ") + ")" + private fun asTextDiagnostic(diagnosticData: DiagnosticData, vararg params: String): String = + params.joinToString(prefix = diagnosticData.name + "(", postfix = ")", separator = "; ") private fun asDiagnosticRange(diagnosticData: DiagnosticData, vararg textDiagnostics: String): DiagnosedRange { val range = DiagnosedRange(diagnosticData.startOffset) diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt index c20c140747e..0ac7239eeca 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt @@ -205,7 +205,7 @@ abstract class AbstractFirDiagnosticsTest : AbstractFirBaseDiagnosticsTest() { // Lambda argument is always (?) duplicated by function literal // Block expression is always (?) duplicated by single block expression if (sourceElement.elementType == KtNodeTypes.LAMBDA_ARGUMENT || sourceElement.elementType == KtNodeTypes.BLOCK) return null - val name = name ?: return null + val name = name if (diagnosedRangesToDiagnosticNames[sourceElement.startOffset..sourceElement.endOffset]?.contains(name) != true) return null val argumentText = argument() diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrTextTestCase.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrTextTestCase.kt index f6a5f77c98d..897dac34dd2 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrTextTestCase.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrTextTestCase.kt @@ -184,12 +184,10 @@ abstract class AbstractIrTextTestCase : AbstractIrGeneratorTestCase() { @OptIn(ObsoleteDescriptorBasedAPI::class) override fun visitDeclaration(declaration: IrDeclarationBase) { - if (declaration is IrSymbolOwner) { - declaration.symbol.checkBinding("decl", declaration) + declaration.symbol.checkBinding("decl", declaration) - require(declaration.symbol.owner == declaration) { - "Symbol is not bound to declaration: ${declaration.render()}" - } + require(declaration.symbol.owner == declaration) { + "Symbol is not bound to declaration: ${declaration.render()}" } val containingDeclarationDescriptor = declaration.descriptor.containingDeclaration diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/consistency/SpecTestsConsistencyTest.kt b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/consistency/SpecTestsConsistencyTest.kt index b0ba2f51573..ab3f122b0d5 100644 --- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/consistency/SpecTestsConsistencyTest.kt +++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/consistency/SpecTestsConsistencyTest.kt @@ -31,7 +31,7 @@ class SpecTestsConsistencyTest : TestCase() { @com.intellij.testFramework.Parameterized.Parameters(name = "{0}") @JvmStatic - fun getTestFiles(klass: Class<*>): List> { + fun getTestFiles(@Suppress("UNUSED_PARAMETER") klass: Class<*>): List> { val testFiles = mutableListOf>() TestArea.values().forEach { testArea -> diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/tasks/PrintSpecTestsStatistic.kt b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/tasks/PrintSpecTestsStatistic.kt index 45a1f583a7d..2ea42e85431 100644 --- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/tasks/PrintSpecTestsStatistic.kt +++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/tasks/PrintSpecTestsStatistic.kt @@ -58,10 +58,10 @@ fun notLinkedSpecTestsPrint() { } } -fun main(args: Array) { +fun main() { println("==================================================") linkedSpecTestsPrint() println("==================================================") notLinkedSpecTestsPrint() println("==================================================") -} \ No newline at end of file +} diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/validators/DiagnosticTestTypeValidator.kt b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/validators/DiagnosticTestTypeValidator.kt index f095bf9461a..cd2d2b82295 100644 --- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/validators/DiagnosticTestTypeValidator.kt +++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/validators/DiagnosticTestTypeValidator.kt @@ -52,7 +52,7 @@ class DiagnosticTestTypeValidator( private fun collectDiagnostics(files: List) { files.forEach { file -> file.actualDiagnostics.forEach { - val diagnosticName = it.diagnostic.factory.name!! + val diagnosticName = it.diagnostic.factory.name diagnosticStats.run { put(diagnosticName, getOrDefault(diagnosticName, 0) + 1) } diagnostics.add(it.diagnostic) } @@ -68,4 +68,4 @@ class DiagnosticTestTypeValidator( val diagnostics = if (diagnosticStats.isNotEmpty()) "$diagnosticSeverityStats | $diagnosticStats" else "does not contain" println("DIAGNOSTICS: $diagnostics") } -} \ No newline at end of file +} diff --git a/libraries/stdlib/common/src/kotlin/ExceptionsH.kt b/libraries/stdlib/common/src/kotlin/ExceptionsH.kt index ca8bc154580..bc036badd6b 100644 --- a/libraries/stdlib/common/src/kotlin/ExceptionsH.kt +++ b/libraries/stdlib/common/src/kotlin/ExceptionsH.kt @@ -146,6 +146,7 @@ public expect fun Throwable.printStackTrace(): Unit * suppressed in order to deliver this exception. */ @SinceKotlin("1.4") +@Suppress("EXTENSION_SHADOWED_BY_MEMBER") public expect fun Throwable.addSuppressed(exception: Throwable) /** @@ -157,4 +158,4 @@ public expect fun Throwable.addSuppressed(exception: Throwable) * - if this [Throwable] instance has disabled the suppression. */ @SinceKotlin("1.4") -public expect val Throwable.suppressedExceptions: List \ No newline at end of file +public expect val Throwable.suppressedExceptions: List diff --git a/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt b/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt index 313e185c4f0..18df3c6259a 100644 --- a/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt +++ b/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt @@ -107,6 +107,7 @@ public expect annotation class JvmWildcard() * Adding and removing the annotation is binary incompatible change, since inline classes' methods and functions with inline classes * in their signature are mangled. */ +@Suppress("NEWER_VERSION_IN_SINCE_KOTLIN") @Target(CLASS) @MustBeDocumented @SinceKotlin("1.5") @@ -116,6 +117,7 @@ public expect annotation class JvmInline() /** * Instructs compiler to mark the class as a record and generate relevant toString/equals/hashCode methods */ +@Suppress("NEWER_VERSION_IN_SINCE_KOTLIN") @Target(AnnotationTarget.CLASS) @MustBeDocumented @OptionalExpectation diff --git a/libraries/stdlib/jvm/runtime/kotlin/jvm/annotations/JvmPlatformAnnotations.kt b/libraries/stdlib/jvm/runtime/kotlin/jvm/annotations/JvmPlatformAnnotations.kt index b4840dcf71d..80220e3755d 100644 --- a/libraries/stdlib/jvm/runtime/kotlin/jvm/annotations/JvmPlatformAnnotations.kt +++ b/libraries/stdlib/jvm/runtime/kotlin/jvm/annotations/JvmPlatformAnnotations.kt @@ -140,6 +140,7 @@ public actual annotation class JvmWildcard * Adding and removing the annotation is binary incompatible change, since inline classes' methods and functions with inline classes * in their signature are mangled. */ +@Suppress("NEWER_VERSION_IN_SINCE_KOTLIN") @Target(AnnotationTarget.CLASS) @Retention(AnnotationRetention.RUNTIME) @MustBeDocumented @@ -149,6 +150,7 @@ public actual annotation class JvmInline /** * Instructs compiler to mark the class as a record and generate relevant toString/equals/hashCode methods */ +@Suppress("NEWER_VERSION_IN_SINCE_KOTLIN") @Target(AnnotationTarget.CLASS) @Retention(AnnotationRetention.SOURCE) @MustBeDocumented diff --git a/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/synthetic/test/AbstractAndroidBytecodeShapeTest.kt b/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/synthetic/test/AbstractAndroidBytecodeShapeTest.kt index da79d6cc0ee..cb55b9fea70 100755 --- a/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/synthetic/test/AbstractAndroidBytecodeShapeTest.kt +++ b/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/synthetic/test/AbstractAndroidBytecodeShapeTest.kt @@ -34,9 +34,9 @@ abstract class AbstractAndroidBytecodeShapeTest : AbstractBytecodeTextTest() { addAndroidExtensionsRuntimeLibrary(myEnvironment) } - override fun doTest(path: String) { - val fileName = path + getTestName(true) + ".kt" - createAndroidAPIEnvironment(path) + override fun doTest(filePath: String) { + val fileName = filePath + getTestName(true) + ".kt" + createAndroidAPIEnvironment(filePath) loadFileByFullPath(fileName) val expected = readExpectedOccurrences(fileName) val actual = generateToText() diff --git a/plugins/imports-dumper/tests/org/jetbrains/kotlin/importsDumper/ImportsDumperTest.kt b/plugins/imports-dumper/tests/org/jetbrains/kotlin/importsDumper/ImportsDumperTest.kt index 23ce3c58ca0..90695549ac2 100644 --- a/plugins/imports-dumper/tests/org/jetbrains/kotlin/importsDumper/ImportsDumperTest.kt +++ b/plugins/imports-dumper/tests/org/jetbrains/kotlin/importsDumper/ImportsDumperTest.kt @@ -8,7 +8,8 @@ package org.jetbrains.kotlin.importsDumper import com.intellij.openapi.util.io.FileUtil import com.intellij.testFramework.TestDataPath import junit.framework.TestCase -import org.jetbrains.kotlin.cli.AbstractCliTest.* +import org.jetbrains.kotlin.cli.AbstractCliTest.executeCompilerGrabOutput +import org.jetbrains.kotlin.cli.AbstractCliTest.getNormalizedCompilerOutput import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.TestCaseWithTmpdir @@ -58,7 +59,8 @@ class ImportsDumperTest : TestCaseWithTmpdir() { tmpDir.path, "-Xplugin=${importsDumperJarInDist.path}", "-P", - "plugin:${ImportsDumperCommandLineProcessor.PLUGIN_ID}:${ImportsDumperCliOptions.DESTINATION.name}=${actualDumpFile.path}" + "plugin:${ImportsDumperCommandLineProcessor.PLUGIN_ID}:" + + "${ImportsDumperCliOptions.DESTINATION.optionName}=${actualDumpFile.path}" ) ) diff --git a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/KotlinKapt3IntegrationTests.kt b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/KotlinKapt3IntegrationTests.kt index a07123abe94..8b5682b2db2 100644 --- a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/KotlinKapt3IntegrationTests.kt +++ b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/KotlinKapt3IntegrationTests.kt @@ -65,7 +65,7 @@ class KotlinKapt3IntegrationTests : AbstractKotlinKapt3IntegrationTest(), Custom @Test fun testParameterNames() { - test("DefaultParameterValues", "test.Anno") { set, roundEnv, env -> + test("DefaultParameterValues", "test.Anno") { set, roundEnv, _ -> val user = roundEnv.getElementsAnnotatedWith(set.single()).single() as TypeElement val nameField = user.enclosedElements.filterIsInstance().single() assertEquals("John", nameField.constantValue) diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/KotlinParcelizeBundle.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/KotlinParcelizeBundle.kt index 827ff716d22..9dffb2b0523 100644 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/KotlinParcelizeBundle.kt +++ b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/KotlinParcelizeBundle.kt @@ -14,5 +14,7 @@ private const val BUNDLE = "messages.KotlinParcelizeBundle" object KotlinParcelizeBundle : AbstractKotlinBundle(BUNDLE) { @JvmStatic - fun message(@NonNls @PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any): String = getMessage(key, *params) -} \ No newline at end of file + fun message(@NonNls @PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any): String = + @Suppress("NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS") + getMessage(key, *params) +} diff --git a/plugins/sam-with-receiver/sam-with-receiver-cli/test/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverScriptNewDefTest.kt b/plugins/sam-with-receiver/sam-with-receiver-cli/test/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverScriptNewDefTest.kt index 2605fe6deab..4cbdec7694f 100644 --- a/plugins/sam-with-receiver/sam-with-receiver-cli/test/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverScriptNewDefTest.kt +++ b/plugins/sam-with-receiver/sam-with-receiver-cli/test/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverScriptNewDefTest.kt @@ -28,7 +28,10 @@ import org.jetbrains.kotlin.scripting.resolve.KtFileScriptSource import org.junit.Assert import java.io.File import kotlin.script.experimental.annotations.KotlinScript -import kotlin.script.experimental.api.* +import kotlin.script.experimental.api.ResultWithDiagnostics +import kotlin.script.experimental.api.ScriptCompilationConfiguration +import kotlin.script.experimental.api.compilerOptions +import kotlin.script.experimental.api.fileExtension import kotlin.script.experimental.host.toScriptSource import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration import kotlin.script.experimental.jvmhost.createJvmScriptDefinitionFromTemplate @@ -52,7 +55,7 @@ abstract class AbstractSamWithReceiverScriptNewDefTest : AbstractDiagnosticsTest override fun analyzeAndCheck(testDataFile: File, files: List) { val definition = createJvmScriptDefinitionFromTemplate() val scriptCompiler = ScriptJvmCompilerFromEnvironment(environment) - val (scripts, regular) = files.partition { + val scripts = files.filter { it.ktFile?.virtualFile?.extension == definition.compilationConfiguration[ScriptCompilationConfiguration.fileExtension] } super.analyzeAndCheck(testDataFile, files) diff --git a/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/JvmReplTest.kt b/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/JvmReplTest.kt index 6fc42175c34..8d0fee6bec5 100644 --- a/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/JvmReplTest.kt +++ b/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/JvmReplTest.kt @@ -327,7 +327,7 @@ class JvmIdeServicesTest : TestCase() { private data class CliCompilationResult(val exitCode: ExitCode, val outputJarPath: String) private fun compileFile(inputKtFileName: String, outputJarName: String): CliCompilationResult { - val jarPath = outputJarDir.resolve(outputJarName).toAbsolutePath().invariantSeparatorsPath + val jarPath = outputJarDir.resolve(outputJarName).toAbsolutePath().invariantSeparatorsPathString val compilerArgs = arrayOf( "$MODULE_PATH/testData/$inputKtFileName",