diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCallResolver.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCallResolver.kt index fcad4c7e15f..fd2c105e440 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCallResolver.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCallResolver.kt @@ -577,6 +577,7 @@ internal class KtFirCallResolver( @Suppress("UNCHECKED_CAST") // safe because of the above check on targetKtSymbol KtSimpleFunctionCall( partiallyAppliedSymbol as KtPartiallyAppliedFunctionSymbol, + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 argumentMappingWithoutExtensionReceiver ?.createArgumentMapping(partiallyAppliedSymbol.signature as KtFunctionLikeSignature<*>) ?: LinkedHashMap(), diff --git a/analysis/analysis-internal-utils/src/org/jetbrains/kotlin/analysis/utils/printer/PrettyPrinter.kt b/analysis/analysis-internal-utils/src/org/jetbrains/kotlin/analysis/utils/printer/PrettyPrinter.kt index bcda3744fa7..30f168042ed 100644 --- a/analysis/analysis-internal-utils/src/org/jetbrains/kotlin/analysis/utils/printer/PrettyPrinter.kt +++ b/analysis/analysis-internal-utils/src/org/jetbrains/kotlin/analysis/utils/printer/PrettyPrinter.kt @@ -212,4 +212,4 @@ public inline fun prettyPrintWithSettingsFrom(other: PrettyPrinter, body: Pretty callsInPlace(body, InvocationKind.EXACTLY_ONCE) } return PrettyPrinter(other.indentSize).apply(body).toString() -} \ No newline at end of file +} diff --git a/analysis/decompiled/light-classes-for-decompiled/src/org/jetbrains/kotlin/analysis/decompiled/light/classes/KtLightMethodForDecompiledDeclaration.kt b/analysis/decompiled/light-classes-for-decompiled/src/org/jetbrains/kotlin/analysis/decompiled/light/classes/KtLightMethodForDecompiledDeclaration.kt index 71da8454847..9bdbeb18bb8 100644 --- a/analysis/decompiled/light-classes-for-decompiled/src/org/jetbrains/kotlin/analysis/decompiled/light/classes/KtLightMethodForDecompiledDeclaration.kt +++ b/analysis/decompiled/light-classes-for-decompiled/src/org/jetbrains/kotlin/analysis/decompiled/light/classes/KtLightMethodForDecompiledDeclaration.kt @@ -71,6 +71,7 @@ class KtLightMethodForDecompiledDeclaration( override fun findSuperMethodSignaturesIncludingStatic(checkAccess: Boolean): List = PsiSuperMethodImplUtil.findSuperMethodSignaturesIncludingStatic(this, checkAccess) + @Suppress("OVERRIDE_DEPRECATION") // K2 warning suppression, TODO: KT-62472 override fun findDeepestSuperMethod() = PsiSuperMethodImplUtil.findDeepestSuperMethod(this) override fun findDeepestSuperMethods(): Array = PsiSuperMethodImplUtil.findDeepestSuperMethods(this) @@ -117,4 +118,4 @@ class KtLightMethodForDecompiledDeclaration( visitor.visitElement(this) } } -} \ No newline at end of file +} diff --git a/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt b/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt index d8de764c32a..69c03fc4450 100644 --- a/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt +++ b/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt @@ -157,6 +157,7 @@ abstract class KtLightMethodImpl protected constructor( override fun getBody() = null + @Suppress("OVERRIDE_DEPRECATION") // K2 warning suppression, TODO: KT-62472 abstract override fun findDeepestSuperMethod(): PsiMethod? abstract override fun findDeepestSuperMethods(): Array diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/element/builder/FirTowerDataContextCollector.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/element/builder/FirTowerDataContextCollector.kt index 83a59282cab..11c5fe31ab0 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/element/builder/FirTowerDataContextCollector.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/element/builder/FirTowerDataContextCollector.kt @@ -120,6 +120,7 @@ internal class FirTowerDataContextAllElementsCollector : FirResolveContextCollec * * Otherwise, invokes this function recursively on the parent. */ +@Suppress("NO_TAIL_CALLS_FOUND", "NON_TAIL_RECURSIVE_CALL") // K2 warning suppression, TODO: KT-62472 private tailrec fun PsiElement.closestParentExpressionWithSameContextOrSelf(): KtExpression? { if (this is KtExpression) { if ( diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForFacade.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForFacade.kt index 036316357c5..0619a86ca60 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForFacade.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForFacade.kt @@ -88,6 +88,7 @@ internal class SymbolLightClassForFacade( for (fileSymbol in fileSymbols) { for (callableSymbol in fileSymbol.getFileScope().getCallableSymbols()) { if (callableSymbol !is KtFunctionSymbol && callableSymbol !is KtKotlinPropertySymbol) continue + @Suppress("USELESS_IS_CHECK") // K2 warning suppression, TODO: KT-62472 if (callableSymbol !is KtSymbolWithVisibility) continue if ((callableSymbol as? KtAnnotatedSymbol)?.hasInlineOnlyAnnotation() == true) continue if (multiFileClass && callableSymbol.toPsiVisibilityForMember() == PsiModifier.PRIVATE) continue diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethodBase.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethodBase.kt index b4ad3eccda6..f5c84e078d2 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethodBase.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethodBase.kt @@ -53,6 +53,7 @@ internal abstract class SymbolLightMethodBase( override fun findSuperMethodSignaturesIncludingStatic(checkAccess: Boolean): List = PsiSuperMethodImplUtil.findSuperMethodSignaturesIncludingStatic(this, checkAccess) + @Suppress("OVERRIDE_DEPRECATION") // K2 warning suppression, TODO: KT-62472 override fun findDeepestSuperMethod() = PsiSuperMethodImplUtil.findDeepestSuperMethod(this) override fun findDeepestSuperMethods(): Array = PsiSuperMethodImplUtil.findDeepestSuperMethods(this) diff --git a/build-common/src/org/jetbrains/kotlin/build/report/BuildReporter.kt b/build-common/src/org/jetbrains/kotlin/build/report/BuildReporter.kt index c0418586fac..c4327302e63 100644 --- a/build-common/src/org/jetbrains/kotlin/build/report/BuildReporter.kt +++ b/build-common/src/org/jetbrains/kotlin/build/report/BuildReporter.kt @@ -12,6 +12,7 @@ open class BuildReporter( protected open val buildMetricsReporter: BuildMetricsReporter, ) : ICReporter by icReporter, BuildMetricsReporter by buildMetricsReporter +@Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") // K2 warning suppression, TODO: KT-62472 class RemoteBuildReporter( override val icReporter: RemoteICReporter, override val buildMetricsReporter: RemoteBuildMetricsReporter, @@ -22,5 +23,6 @@ class RemoteBuildReporter( } } +@Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") // K2 warning suppression, TODO: KT-62472 object DoNothingBuildReporter : BuildReporter(DoNothingICReporter, DoNothingBuildMetricsReporter) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt index 3330dcf5d0e..1119fe02dc3 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt @@ -421,6 +421,7 @@ class MethodInliner( private fun getNewIndex(`var`: Int): Int { val lambdaInfo = inliningContext.lambdaInfo + @Suppress("USELESS_IS_CHECK") // K2 warning suppression, TODO: KT-62472 if (reorderIrLambdaParameters && lambdaInfo is IrExpressionLambda) { val extensionSize = if (lambdaInfo.isExtensionLambda) lambdaInfo.invokeMethod.argumentTypes[0].size else 0 return when { diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inlineClassesCodegenUtil.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inlineClassesCodegenUtil.kt index 42c250ccda0..9df7f0ad266 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inlineClassesCodegenUtil.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inlineClassesCodegenUtil.kt @@ -48,6 +48,7 @@ fun classFileContainsMethod(descriptor: FunctionDescriptor, state: GenerationSta (descriptor.containingDeclaration as DeserializedClassDescriptor).classId ?: return null } descriptor.containerSource is JvmPackagePartSource -> { + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 (descriptor.containerSource as JvmPackagePartSource).classId } else -> { diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/KotlinTypeMapper.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/KotlinTypeMapper.kt index f0db3094e99..4c0ac759842 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/KotlinTypeMapper.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/KotlinTypeMapper.kt @@ -610,6 +610,7 @@ class KotlinTypeMapper @JvmOverloads constructor( val isAccessor = property is AccessorForPropertyDescriptor val propertyName = if (isAccessor) + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 (property as AccessorForPropertyDescriptor).accessorSuffix else property.name.asString() diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/FirCallsEffectAnalyzer.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/FirCallsEffectAnalyzer.kt index 1e4a60f9f4f..0bc65273c67 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/FirCallsEffectAnalyzer.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/FirCallsEffectAnalyzer.kt @@ -207,6 +207,7 @@ object FirCallsEffectAnalyzer : FirControlFlowChecker() { } } + @Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") // K2 warning suppression, TODO: KT-62472 class LambdaInvocationInfo( map: PersistentMap, EventOccurrencesRange> = persistentMapOf(), ) : EventOccurrencesRangeInfo>(map) { diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/FirReturnsImpliesAnalyzer.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/FirReturnsImpliesAnalyzer.kt index 0ab0449505d..0d56444667b 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/FirReturnsImpliesAnalyzer.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/FirReturnsImpliesAnalyzer.kt @@ -95,6 +95,7 @@ object FirReturnsImpliesAnalyzer : FirControlFlowChecker() { val typeContext = context.session.typeContext val isReturn = node is JumpNode && node.fir is FirReturnExpression + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 val resultExpression = if (isReturn) (node.fir as FirReturnExpression).result else node.fir val expressionType = (resultExpression as? FirExpression)?.resolvedType diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/util/PropertyInitializationInfo.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/util/PropertyInitializationInfo.kt index 785588b11f8..3364047052a 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/util/PropertyInitializationInfo.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/cfa/util/PropertyInitializationInfo.kt @@ -10,6 +10,7 @@ import kotlinx.collections.immutable.persistentMapOf import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol +@Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") // K2 warning suppression, TODO: KT-62472 abstract class EventOccurrencesRangeInfo, K : Any>( map: PersistentMap = persistentMapOf() ) : ControlFlowInfo(map) { @@ -38,6 +39,7 @@ abstract class EventOccurrencesRangeInfo, K } } +@Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") // K2 warning suppression, TODO: KT-62472 class PropertyInitializationInfo( map: PersistentMap = persistentMapOf() ) : EventOccurrencesRangeInfo(map) { diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt index 932eea6b2ba..945cb0e99c6 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt @@ -204,6 +204,7 @@ fun CheckerContext.findClosestClassOrObject(): FirClass? { it is FirRegularClass || it is FirAnonymousObject ) { + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 return it as FirClass } } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirAmbiguousAnonymousTypeChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirAmbiguousAnonymousTypeChecker.kt index 6114454f3c1..aa35f697ed0 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirAmbiguousAnonymousTypeChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirAmbiguousAnonymousTypeChecker.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.fir.types.* object FirAmbiguousAnonymousTypeChecker : FirBasicDeclarationChecker() { override fun check(declaration: FirDeclaration, context: CheckerContext, reporter: DiagnosticReporter) { if (declaration !is FirFunction && declaration !is FirProperty) return + @Suppress("USELESS_IS_CHECK") // K2 warning suppression, TODO: KT-62472 require(declaration is FirCallableDeclaration) // if source is not null then this type was declared in source // so it can not be inferred to anonymous type diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/extended/UnusedChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/extended/UnusedChecker.kt index 16341127980..2de28faaeaf 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/extended/UnusedChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/extended/UnusedChecker.kt @@ -122,6 +122,7 @@ object UnusedChecker : AbstractFirPropertyInitializationChecker() { } } + @Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") // K2 warning suppression, TODO: KT-62472 class VariableStatusInfo( map: PersistentMap = persistentMapOf() ) : ControlFlowInfo(map) { diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt index d649992c4a0..aa051774c4f 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt @@ -535,6 +535,7 @@ class FirElementSerializer private constructor( } for (typeParameter in function.typeParameters) { + @Suppress("USELESS_IS_CHECK") // K2 warning suppression, TODO: KT-62472 if (typeParameter !is FirTypeParameter) continue builder.addTypeParameter(local.typeParameterProto(typeParameter)) } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt index 28b17b49f19..44b7d0c446a 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt @@ -218,6 +218,7 @@ fun FirReference.extractSymbolForCall(): FirBasedSymbol<*>? { if (symbol.origin == FirDeclarationOrigin.SubstitutionOverride.CallSite) { symbol = symbol.fir.unwrapUseSiteSubstitutionOverrides().symbol } + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 symbol = (symbol as FirCallableSymbol<*>).unwrapCallRepresentative() } return symbol diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrCallableDeclarationsGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrCallableDeclarationsGenerator.kt index ea2253cde64..4c27c8e2e60 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrCallableDeclarationsGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrCallableDeclarationsGenerator.kt @@ -136,6 +136,7 @@ class Fir2IrCallableDeclarationsGenerator(val components: Fir2IrComponents) : Fi ?: if (isLambda) SpecialNames.ANONYMOUS else SpecialNames.NO_NAME_PROVIDED val visibility = simpleFunction?.visibility ?: Visibilities.Local val isSuspend = + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 if (isLambda) ((function as FirAnonymousFunction).typeRef as? FirResolvedTypeRef)?.type?.isSuspendOrKSuspendFunctionType(session) == true else function.isSuspend val created = function.convertWithOffsets { startOffset, endOffset -> 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 e046a406cfd..52b5dcfcf45 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 @@ -27,6 +27,7 @@ import org.jetbrains.kotlin.ir.util.isFacadeClass import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource +@Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") // K2 warning suppression, TODO: KT-62472 class Fir2IrLazyPropertyAccessor( components: Fir2IrComponents, startOffset: Int, diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazySimpleFunction.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazySimpleFunction.kt index f63fe78013a..209f4a5a906 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazySimpleFunction.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazySimpleFunction.kt @@ -25,6 +25,7 @@ import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource +@Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") // K2 warning suppression, TODO: KT-62472 class Fir2IrLazySimpleFunction( components: Fir2IrComponents, startOffset: Int, diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/declarationUtils.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/declarationUtils.kt index cc1a595737e..51418721e36 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/declarationUtils.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/declarationUtils.kt @@ -46,6 +46,7 @@ fun FirClassSymbol<*>.collectEnumEntries(): Collection { * sequence of FirTypeAlias'es points to starting * with `this`. Or null if something goes wrong or we have anonymous object symbol. */ +@Suppress("NO_TAIL_CALLS_FOUND", "NON_TAIL_RECURSIVE_CALL") // K2 warning suppression, TODO: KT-62472 tailrec fun FirClassLikeSymbol<*>.fullyExpandedClass(useSiteSession: FirSession): FirRegularClassSymbol? { return when (this) { is FirRegularClassSymbol -> this diff --git a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilder.kt b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilder.kt index b578da05355..c0d6aa8a917 100644 --- a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilder.kt +++ b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilder.kt @@ -852,6 +852,7 @@ abstract class AbstractRawFirBuilder(val baseSession: FirSession, val context } require(operation == FirOperation.ASSIGN) + @Suppress("SENSELESS_COMPARISON") // K2 warning suppression, TODO: KT-62472 if (this?.elementType == SAFE_ACCESS_EXPRESSION && this != null) { val safeCallNonAssignment = convert() as? FirSafeCallExpression if (safeCallNonAssignment != null) { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt index d0f95056414..6b94308477a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt @@ -189,6 +189,7 @@ private fun processConstructors( } } is FirClassSymbol -> { + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 val firClass = matchedSymbol.fir as FirClass when (firClass.classKind) { ClassKind.INTERFACE -> null diff --git a/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/variable/VariableControlFlowInfo.kt b/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/variable/VariableControlFlowInfo.kt index 0573e8a78dc..b1c036a2e40 100644 --- a/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/variable/VariableControlFlowInfo.kt +++ b/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/variable/VariableControlFlowInfo.kt @@ -21,6 +21,7 @@ interface VariableInitReadOnlyControlFlowInfo : fun checkDefiniteInitializationInWhen(merge: VariableInitReadOnlyControlFlowInfo): Boolean } +@Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") // K2 warning suppression, TODO: KT-62472 class VariableInitControlFlowInfo(map: ImmutableMap = ImmutableHashMap.empty()) : VariableUsageControlFlowInfo(map), VariableInitReadOnlyControlFlowInfo { @@ -42,6 +43,7 @@ class VariableInitControlFlowInfo(map: ImmutableMap = ImmutableHashMap.empty()) : VariableUsageControlFlowInfo(map), VariableUsageReadOnlyControlInfo { @@ -128,4 +130,4 @@ enum class VariableUseState(private val priority: Int) { @JvmStatic fun isUsed(variableUseState: VariableUseState?): Boolean = variableUseState != null && variableUseState != UNUSED } -} \ No newline at end of file +} diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt index a3c5527ba3a..21cdb7751d1 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt @@ -825,6 +825,7 @@ class DiagnosticReporterByTrackingStrategy( KtPsiUtil.deparenthesize(it) ?: it } if (expression != null) { + @Suppress("USELESS_IS_CHECK") // K2 warning suppression, TODO: KT-62472 if (expression.isNull() && expression is KtConstantExpression) { val factory = when (diagnostic) { is ArgumentNullabilityErrorDiagnostic -> NULL_FOR_NONNULL_TYPE diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt index e876203f135..a4fee397af0 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/KotlinToResolvedCallTransformer.kt @@ -107,6 +107,7 @@ class KotlinToResolvedCallTransformer( } is CompletedCallResolutionResult, is ErrorCallResolutionResult -> { + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 val candidate = (baseResolvedCall as SingleCallResolutionResult).resultCallAtom val resultSubstitutor = diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ActualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ActualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker.kt index 801324cc73d..8bf5b59fe68 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ActualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ActualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker.kt @@ -29,7 +29,9 @@ object ActualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker : val (actual, expect) = matchActualWithNonFinalExpect(declaration, descriptor, context) ?: return // The explicit casts won't be necessary when we start compiling kotlin with K2. K1 doesn't build CFG properly + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 declaration as KtClassLikeDeclaration + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 descriptor as ClassifierDescriptorWithTypeParameters checkSupertypes(expect, actual, context, declaration, descriptor) @@ -105,7 +107,9 @@ internal fun matchActualWithNonFinalExpect( // Common supertype of KtTypeAlias and KtClassOrObject is KtClassLikeDeclaration. // Common supertype of TypeAliasDescriptor and ClassDescriptor is ClassifierDescriptorWithTypeParameters. // The explicit casts won't be necessary when we start compiling kotlin with K2. + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 declaration as KtClassLikeDeclaration + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 descriptor as ClassifierDescriptorWithTypeParameters if (!descriptor.isActual) return null diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExpectActualClassifiersAreInBetaChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExpectActualClassifiersAreInBetaChecker.kt index be2e7712c12..284484f15dd 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExpectActualClassifiersAreInBetaChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExpectActualClassifiersAreInBetaChecker.kt @@ -27,7 +27,9 @@ object ExpectActualClassifiersAreInBetaChecker : DeclarationChecker { // Common supertype of KtTypeAlias and KtClassOrObject is KtClassLikeDeclaration. // Common supertype of TypeAliasDescriptor and ClassDescriptor is ClassifierDescriptorWithTypeParameters. // The explicit casts won't be necessary when we start compiling kotlin with K2. + @Suppress("USELESS_IS_CHECK") // K2 warning suppression, TODO: KT-62472 check(declaration is KtClassLikeDeclaration) + @Suppress("USELESS_IS_CHECK") // K2 warning suppression, TODO: KT-62472 check(descriptor is ClassifierDescriptorWithTypeParameters) if (descriptor.isExpect || descriptor.isActual) { diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/InventNamesForLocalClasses.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/InventNamesForLocalClasses.kt index fe03d5ea1ee..ff0a64f01b3 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/InventNamesForLocalClasses.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/InventNamesForLocalClasses.kt @@ -73,6 +73,7 @@ abstract class InventNamesForLocalClasses( val isLocal = parent is IrFile && declaration.isAnonymousObject if (!isLocal) return processClass(declaration, data) + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 val enclosingName = (parent as IrFile).name.removeSuffix(".kt").plus("Kt").capitalizeAsciiOnly() processClass(declaration, data.copy(enclosingName = enclosingName, isLocal = true)) } diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/dce/UsefulDeclarationProcessor.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/dce/UsefulDeclarationProcessor.kt index 9b78c877552..48b6c584353 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/dce/UsefulDeclarationProcessor.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/dce/UsefulDeclarationProcessor.kt @@ -105,6 +105,7 @@ abstract class UsefulDeclarationProcessor( addReachabilityInfoIfNeeded(from, this, description, isContagiousOverridableDeclaration) if (isContagiousOverridableDeclaration) { + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 contagiousReachableDeclarations.add(this as IrOverridableDeclaration<*>) } diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/KotlinSourceFileMetadata.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/KotlinSourceFileMetadata.kt index d7f63bcd302..85e6c7d36e0 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/KotlinSourceFileMetadata.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/KotlinSourceFileMetadata.kt @@ -52,6 +52,7 @@ open class KotlinSourceFileMap(files: Map( private val files: MutableMap> = hashMapOf() ) : KotlinSourceFileMap(files) { diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AddContinuationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AddContinuationLowering.kt index 007516287f7..1ffbe0352ff 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AddContinuationLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AddContinuationLowering.kt @@ -262,6 +262,7 @@ private class AddContinuationLowering(context: JvmBackendContext) : SuspendLower var cursor = irFunction.parentAsClass.parent while (cursor is IrClass) { if (cursor == param.parent) return true + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 cursor = (cursor as IrClass).parent } return false diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt index 3f5d7f11e0b..f12102ebcce 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt @@ -350,6 +350,7 @@ val IrDeclaration.parentAsClass: IrClass fun IrElement.getPackageFragment(): IrPackageFragment? = this as? IrPackageFragment ?: (this as? IrDeclaration)?.getPackageFragment() +@Suppress("NO_TAIL_CALLS_FOUND", "NON_TAIL_RECURSIVE_CALL") // K2 warning suppression, TODO: KT-62472 tailrec fun IrDeclaration.getPackageFragment(): IrPackageFragment { val parent = this.parent return parent as? IrPackageFragment @@ -1547,4 +1548,4 @@ private fun Any?.toIrConstOrNull(irType: IrType, startOffset: Int = SYNTHETIC_OF fun Any?.toIrConst(irType: IrType, startOffset: Int = SYNTHETIC_OFFSET, endOffset: Int = SYNTHETIC_OFFSET): IrConst<*> = toIrConstOrNull(irType, startOffset, endOffset) - ?: throw UnsupportedOperationException("Unsupported const element type ${irType.makeNotNull().render()}") \ No newline at end of file + ?: throw UnsupportedOperationException("Unsupported const element type ${irType.makeNotNull().render()}") diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionImpl.kt index e98cbd7976e..83e9c4ee45d 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionImpl.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionImpl.kt @@ -34,6 +34,7 @@ abstract class KtExpressionImpl(node: ASTNode) : KtElementImpl(node), KtExpressi if (newElement is KtExpression) { when (parent) { is KtExpression, is KtValueArgument -> { + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 if (KtPsiUtil.areParenthesesNecessary(newElement, expression, parent as KtElement)) { val factory = KtPsiFactory(expression.project) return rawReplaceHandler(factory.createExpressionByPattern("($0)", newElement, reformat = reformat)) diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionWithLabel.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionWithLabel.kt index c0e79519b0e..6a3607415ea 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionWithLabel.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionWithLabel.kt @@ -22,8 +22,10 @@ import org.jetbrains.kotlin.name.Name open class KtExpressionWithLabel(node: ASTNode) : KtExpressionImpl(node) { - fun getTargetLabel(): KtSimpleNameExpression? = - labelQualifier?.findChildByType(KtNodeTypes.LABEL) as? KtSimpleNameExpression + fun getTargetLabel(): KtSimpleNameExpression? { + @Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472 + return labelQualifier?.findChildByType(KtNodeTypes.LABEL) as? KtSimpleNameExpression + } val labelQualifier: KtContainerNode? get() = findChildByType(KtNodeTypes.LABEL_QUALIFIER) diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt index be9b095ea09..fb26a9bb36a 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt @@ -707,6 +707,7 @@ fun getTrailingCommaByElementsList(elementList: PsiElement?): PsiElement? { val KtNameReferenceExpression.isUnderscoreInBackticks get() = getReferencedName() == "`_`" +@Suppress("NO_TAIL_CALLS_FOUND", "NON_TAIL_RECURSIVE_CALL") // K2 warning suppression, TODO: KT-62472 tailrec fun KtTypeElement.unwrapNullability(): KtTypeElement? { return when (this) { is KtNullableType -> this.innerType?.unwrapNullability() 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 e0cbccc4366..4b9f9d7c914 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt @@ -201,6 +201,7 @@ inline fun PsiElement.getParentOfTypeAndBranches( return getParentOfType(strict)?.getIfChildIsInBranches(this, branches) } +@Suppress("NO_TAIL_CALLS_FOUND", "NON_TAIL_RECURSIVE_CALL") // K2 warning suppression, TODO: KT-62472 tailrec fun PsiElement.getOutermostParentContainedIn(container: PsiElement): PsiElement? { val parent = parent return if (parent == container) this else parent?.getOutermostParentContainedIn(container) diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/descriptorUtil.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/descriptorUtil.kt index be5ee39fe8e..ff3cc2f40de 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/descriptorUtil.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/descriptorUtil.kt @@ -85,6 +85,7 @@ fun DeclarationDescriptor.containingPackage(): FqName? { if (container == null || container is PackageFragmentDescriptor) break container = container.containingDeclaration } + @Suppress("USELESS_IS_CHECK") // K2 warning suppression, TODO: KT-62472 require(container is PackageFragmentDescriptor?) return container?.fqName } @@ -110,4 +111,4 @@ fun FunctionDescriptor.overridesEqualsFromAny(): Boolean = name == OperatorNameC tailrec fun DeclarationDescriptor.findPackage(): PackageFragmentDescriptor { return if (this is PackageFragmentDescriptor) this else this.containingDeclaration!!.findPackage() -} \ No newline at end of file +} diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorEquivalenceForOverrides.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorEquivalenceForOverrides.kt index b215106c057..502798c4c88 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorEquivalenceForOverrides.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorEquivalenceForOverrides.kt @@ -71,6 +71,7 @@ object DescriptorEquivalenceForOverrides { return a.index == b.index // We ignore type parameter names } + @Suppress("NO_TAIL_CALLS_FOUND", "NON_TAIL_RECURSIVE_CALL") // K2 warning suppression, TODO: KT-62472 private tailrec fun CallableDescriptor.singleSource(): SourceElement? { if (this !is CallableMemberDescriptor || kind != CallableMemberDescriptor.Kind.FAKE_OVERRIDE) return source diff --git a/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/KotlinCodeModel.kt b/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/KotlinCodeModel.kt index 29d01f287c5..3f05ac87a5a 100644 --- a/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/KotlinCodeModel.kt +++ b/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/KotlinCodeModel.kt @@ -346,5 +346,6 @@ internal fun getTopLevelPropertyDeclarationName(scope: KotlinScope, property: Pr } // Try to use the provided name. If failed, mangle it with underscore and try again: +@Suppress("NO_TAIL_CALLS_FOUND", "NON_TAIL_RECURSIVE_CALL") // K2 warning suppression, TODO: KT-62472 private tailrec fun getTopLevelPropertyDeclarationName(scope: KotlinScope, receiver: String?, name: String): String = - scope.declareProperty(receiver, name) ?: getTopLevelPropertyDeclarationName(scope, receiver, name + "_") \ No newline at end of file + scope.declareProperty(receiver, name) ?: getTopLevelPropertyDeclarationName(scope, receiver, name + "_") diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportMapper.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportMapper.kt index 8375679bfa1..b3f615d15e3 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportMapper.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportMapper.kt @@ -232,6 +232,7 @@ internal fun ObjCExportMapper.getBaseProperties(descriptor: PropertyDescriptor): .distinct() } +@Suppress("NO_TAIL_CALLS_FOUND", "NON_TAIL_RECURSIVE_CALL") // K2 warning suppression, TODO: KT-62472 internal tailrec fun KotlinType.getErasedTypeClass(): ClassDescriptor = TypeUtils.getClassDescriptor(this) ?: this.constructor.supertypes.first().getErasedTypeClass()