From f3116cb64aef456bdbd7f6075fad9b893d4df972 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Tue, 13 Jul 2021 15:48:59 +0300 Subject: [PATCH] Fix NON_EXHAUSTIVE_WHEN_STATEMENT warnings in project code --- .../kotlin/incremental/ChangesCollector.kt | 2 +- .../JvmRuntimeVersionsConsistencyChecker.kt | 1 + .../checkers/FirDeclarationInspector.kt | 1 + .../declaration/FirConflictsChecker.kt | 1 + .../FirInlineClassDeclarationChecker.kt | 1 + .../declaration/FirNestedClassChecker.kt | 1 + .../FirProjectionRelationChecker.kt | 1 + .../expression/FirReturnAllowedChecker.kt | 1 + .../jetbrains/kotlin/fir/dump/HtmlFirDump.kt | 2 ++ .../fir/serialization/FirElementSerializer.kt | 2 ++ .../kotlin/fir/backend/Fir2IrConverter.kt | 2 ++ .../fir/backend/Fir2IrDeclarationStorage.kt | 1 + .../fir/java/enhancement/javaTypeUtils.kt | 1 + .../kotlin/fir/scopes/jvm/DescriptorUtils.kt | 1 + .../kotlin/fir/resolve/SamResolution.kt | 1 + .../calls/FirArgumentsToParametersMapper.kt | 1 + .../FirStatusResolveTransformer.kt | 9 ++++----- .../FirGlobalClassGenerationProcessor.kt | 1 + .../scopes/impl/FirClassDeclaredMemberScope.kt | 16 +++++++--------- .../org/jetbrains/kotlin/fir/FirRenderer.kt | 2 ++ .../evaluate/OperationsMapGenerated.kt | 18 +++++++++++++++++- .../kotlin/cfg/pseudocode/pseudocodeUtils.kt | 5 +++-- .../calls/tower/ResolvedAtomCompleter.kt | 1 + .../common/lower/RangeContainsLowering.kt | 2 +- .../jetbrains/kotlin/ir/backend/js/compiler.kt | 2 +- .../common/serialization/IrFileSerializer.kt | 1 + .../calls/tower/ScopeTowerProcessors.kt | 1 + .../java/typeEnhancement/typeEnhancement.kt | 1 + generators/evaluate/GenerateOperationsMap.kt | 7 ++++++- .../kotlin/js/dce/DeadCodeElimination.kt | 1 + .../kotlin/js/inline/InlinerCycleReporter.kt | 2 ++ .../experimental/jvm/BasicJvmReplEvaluator.kt | 1 + .../kotlin/gradle/NewMultiplatformIT.kt | 3 ++- .../wasm/ir/convertors/WasmIrToBinary.kt | 1 + .../jetbrains/kotlin/wasm/ir/SpecTestRunner.kt | 8 +++----- 35 files changed, 75 insertions(+), 27 deletions(-) diff --git a/build-common/src/org/jetbrains/kotlin/incremental/ChangesCollector.kt b/build-common/src/org/jetbrains/kotlin/incremental/ChangesCollector.kt index 1f8f103e81d..8d335a83c47 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/ChangesCollector.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/ChangesCollector.kt @@ -118,7 +118,7 @@ class ChangesCollector { storage[packageProtoKey?.let { FqName(it) } ?: fqName] = newData } } - } else { + } else if (oldData != null) { when (oldData) { is ClassProtoData -> { removed.add(oldData.nameResolver.getClassId(oldData.proto.fqName).asSingleFqName()) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/JvmRuntimeVersionsConsistencyChecker.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/JvmRuntimeVersionsConsistencyChecker.kt index 5aa6d22ded3..a9ac39f00db 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/JvmRuntimeVersionsConsistencyChecker.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/JvmRuntimeVersionsConsistencyChecker.kt @@ -303,6 +303,7 @@ object JvmRuntimeVersionsConsistencyChecker { } FileKind.OldRuntime -> jars.add(KotlinLibraryFile(jarFile, ApiVersion.KOTLIN_1_0.version)) FileKind.LibraryWithBundledRuntime -> otherLibrariesWithBundledRuntime.add(jarFile) + FileKind.Irrelevant -> {} } } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirDeclarationInspector.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirDeclarationInspector.kt index bb6b85d6828..7a74bb9cd11 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirDeclarationInspector.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirDeclarationInspector.kt @@ -58,6 +58,7 @@ interface FirDeclarationPresenter { is ConeKotlinType -> { appendRepresentation(it) } + is ConeKotlinTypeConflictingProjection -> {} } } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirConflictsChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirConflictsChecker.kt index 43a843655af..85d135b8c5d 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirConflictsChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirConflictsChecker.kt @@ -197,6 +197,7 @@ object FirConflictsChecker : FirBasicDeclarationChecker() { } } } + else -> {} } if (declarationName != null) { session.lookupTracker?.recordLookup( diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineClassDeclarationChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineClassDeclarationChecker.kt index 95d0ad1582a..98af80eb92f 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineClassDeclarationChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineClassDeclarationChecker.kt @@ -130,6 +130,7 @@ object FirInlineClassDeclarationChecker : FirRegularClassChecker() { } } } + else -> {} } } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirNestedClassChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirNestedClassChecker.kt index 6e4670b628c..c0eaf30e312 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirNestedClassChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirNestedClassChecker.kt @@ -37,6 +37,7 @@ object FirNestedClassChecker : FirRegularClassChecker() { reporter.reportOn(declaration.source, NESTED_CLASS_NOT_ALLOWED, declaration.description, context) } } + else -> {} } } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirProjectionRelationChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirProjectionRelationChecker.kt index 8612c6dfada..a929af915f9 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirProjectionRelationChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirProjectionRelationChecker.kt @@ -39,6 +39,7 @@ object FirProjectionRelationChecker : FirBasicDeclarationChecker() { } is FirTypeAlias -> checkTypeRef(declaration.expandedTypeRef, context, reporter) + else -> {} } } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirReturnAllowedChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirReturnAllowedChecker.kt index c639e6f50af..5aa6c0952ea 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirReturnAllowedChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirReturnAllowedChecker.kt @@ -48,6 +48,7 @@ object FirReturnAllowedChecker : FirReturnExpressionChecker() { } is FirProperty -> if (!containingDeclaration.isLocal) return false is FirValueParameter -> return true + else -> {} } } return true 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 800c90e1f68..065e51522d3 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 @@ -857,6 +857,8 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver } is ConeIntersectionType -> resolved { generate(type) } is ConeIntegerLiteralType -> inlineUnsupported(type) + is ConeLookupTagBasedType, + is ConeStubType -> {} } generateTypeArguments(type) if (type.isMarkedNullable) { 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 f623cb117e6..2ca986a8a3b 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 @@ -76,6 +76,7 @@ class FirElementSerializer private constructor( is FirProperty -> propertyProto(declaration)?.let { builder.addProperty(it) } is FirSimpleFunction -> functionProto(declaration)?.let { builder.addFunction(it) } is FirTypeAlias -> typeAliasProto(declaration)?.let { builder.addTypeAlias(it) } + else -> {} } } @@ -151,6 +152,7 @@ class FirElementSerializer private constructor( is FirProperty -> propertyProto(declaration)?.let { builder.addProperty(it) } is FirSimpleFunction -> functionProto(declaration)?.let { builder.addFunction(it) } is FirEnumEntry -> enumEntryProto(declaration).let { builder.addEnumEntry(it) } + else -> {} } } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt index ba0b7ced46d..e78e9ba9274 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt @@ -76,6 +76,7 @@ class Fir2IrConverter( when (it) { is FirRegularClass -> processClassAndNestedClassHeaders(it) is FirTypeAlias -> classifierStorage.registerTypeAlias(it, declarationStorage.getIrFile(file)) + else -> {} } } } @@ -107,6 +108,7 @@ class Fir2IrConverter( when (declaration) { is FirSimpleFunction -> processedCallableNames += declaration.name is FirProperty -> processedCallableNames += declaration.name + else -> {} } processMemberDeclaration(declaration, anonymousObject, irClass) ?: continue } 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 330d11193c2..30bf891e43e 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 @@ -155,6 +155,7 @@ class Fir2IrDeclarationStorage( constructorCache[declaration] = irConstructor } } + else -> {} } } } diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt index a8f40aace1e..dfdb5240ae2 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt @@ -249,6 +249,7 @@ private fun ConeClassifierLookupTag.enhanceMutability( return ConeClassLikeLookupTagImpl(mutableId) } } + null -> {} } return this diff --git a/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/DescriptorUtils.kt b/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/DescriptorUtils.kt index fa406b1541d..82c3ca0f54c 100644 --- a/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/DescriptorUtils.kt +++ b/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/DescriptorUtils.kt @@ -118,6 +118,7 @@ private fun StringBuilder.appendConeType(coneType: ConeKotlinType) { is ConeFlexibleType -> { appendConeType(coneType.lowerBound) } + else -> {} } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt index 78d39fb80de..5dd2094933c 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt @@ -265,6 +265,7 @@ private fun FirRegularClass.computeSamCandidateNames(session: FirSession): Set if (declaration.modality == Modality.ABSTRACT) { samCandidateNames.add(declaration.name) } + else -> {} } } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/FirArgumentsToParametersMapper.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/FirArgumentsToParametersMapper.kt index 79cd6e60de4..21607d0da9b 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/FirArgumentsToParametersMapper.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/FirArgumentsToParametersMapper.kt @@ -41,6 +41,7 @@ data class ArgumentMapping( is ResolvedCallArgument.VarargArgument -> resolvedArgument.arguments.forEach { argumentToParameterMapping[it] = valueParameter } + ResolvedCallArgument.DefaultArgument -> {} } } return argumentToParameterMapping diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt index 77bbd4e08ce..da3ab9e994b 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt @@ -293,11 +293,9 @@ abstract class AbstractFirStatusResolveTransformer( } return when (declaration) { is FirCallableDeclaration -> { - when (declaration) { - is FirFunction -> { - for (valueParameter in declaration.valueParameters) { - transformValueParameter(valueParameter, data) - } + if (declaration is FirFunction) { + for (valueParameter in declaration.valueParameters) { + transformValueParameter(valueParameter, data) } } declaration @@ -397,6 +395,7 @@ abstract class AbstractFirStatusResolveTransformer( when (superClass) { is FirRegularClass -> forceResolveStatusesOfClass(superClass) is FirTypeAlias -> forceResolveStatusOfCorrespondingClass(superClass.expandedTypeRef) + else -> {} } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirGlobalClassGenerationProcessor.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirGlobalClassGenerationProcessor.kt index 6a65e84920d..1476ed7e2c1 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirGlobalClassGenerationProcessor.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirGlobalClassGenerationProcessor.kt @@ -59,6 +59,7 @@ class FirGlobalClassGenerationProcessor( when (owner) { is FirRegularClass -> owner.addDeclaration(klass) is FirFile -> owner.addDeclaration(klass) + else -> {} } session.generatedClassIndex.registerClass(klass, owner) session.predicateBasedProvider.registerGeneratedDeclaration(klass, owner) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt index b1f8c2a8cbf..cb25670fd92 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt @@ -33,16 +33,14 @@ class FirClassDeclaredMemberScope( private val callablesIndex: Map>> = run { val result = mutableMapOf>>() loop@ for (declaration in klass.declarations) { - when (declaration) { - is FirCallableDeclaration -> { - val name = when (declaration) { - is FirConstructor -> CONSTRUCTOR_NAME - is FirVariable -> if (declaration.isSynthetic) continue@loop else declaration.name - is FirSimpleFunction -> declaration.name - else -> continue@loop - } - result.getOrPut(name) { mutableListOf() } += declaration.symbol + if (declaration is FirCallableDeclaration) { + val name = when (declaration) { + is FirConstructor -> CONSTRUCTOR_NAME + is FirVariable -> if (declaration.isSynthetic) continue@loop else declaration.name + is FirSimpleFunction -> declaration.name + else -> continue@loop } + result.getOrPut(name) { mutableListOf() } += declaration.symbol } } result diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt index 223b8806a71..14309feff67 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt @@ -240,6 +240,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM print(callableDeclaration.symbol.callableId) } } + else -> {} } if (callableDeclaration is FirFunction) { @@ -382,6 +383,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM memberDeclaration.typeParameters.renderTypeParameters() } } + else -> {} } } diff --git a/compiler/frontend.common/src/org/jetbrains/kotlin/resolve/constants/evaluate/OperationsMapGenerated.kt b/compiler/frontend.common/src/org/jetbrains/kotlin/resolve/constants/evaluate/OperationsMapGenerated.kt index c049b8a0c07..1d4182b1aa6 100644 --- a/compiler/frontend.common/src/org/jetbrains/kotlin/resolve/constants/evaluate/OperationsMapGenerated.kt +++ b/compiler/frontend.common/src/org/jetbrains/kotlin/resolve/constants/evaluate/OperationsMapGenerated.kt @@ -2,7 +2,7 @@ * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ -@file:Suppress("DEPRECATION", "DEPRECATION_ERROR", "NON_EXHAUSTIVE_WHEN") +@file:Suppress("DEPRECATION", "DEPRECATION_ERROR") package org.jetbrains.kotlin.resolve.constants.evaluate @@ -106,6 +106,7 @@ fun evalUnaryOp(name: String, type: CompileTimeType, value: Any): Any? { "length" -> return (value as String).length "toString" -> return (value as String).toString() } + else -> {} } return null } @@ -122,6 +123,7 @@ fun evalBinaryOp(name: String, leftType: CompileTimeType, left: Any, rightType: ANY -> when (name) { "equals" -> return (left as Boolean).equals(right) } + else -> {} } BYTE -> when (rightType) { BYTE -> when (name) { @@ -183,6 +185,7 @@ fun evalBinaryOp(name: String, leftType: CompileTimeType, left: Any, rightType: ANY -> when (name) { "equals" -> return (left as Byte).equals(right) } + else -> {} } CHAR -> when (rightType) { CHAR -> when (name) { @@ -196,6 +199,7 @@ fun evalBinaryOp(name: String, leftType: CompileTimeType, left: Any, rightType: "minus" -> return (left as Char).minus(right as Int) "plus" -> return (left as Char).plus(right as Int) } + else -> {} } DOUBLE -> when (rightType) { BYTE -> when (name) { @@ -251,6 +255,7 @@ fun evalBinaryOp(name: String, leftType: CompileTimeType, left: Any, rightType: ANY -> when (name) { "equals" -> return (left as Double).equals(right) } + else -> {} } FLOAT -> when (rightType) { BYTE -> when (name) { @@ -306,6 +311,7 @@ fun evalBinaryOp(name: String, leftType: CompileTimeType, left: Any, rightType: ANY -> when (name) { "equals" -> return (left as Float).equals(right) } + else -> {} } INT -> when (rightType) { INT -> when (name) { @@ -373,6 +379,7 @@ fun evalBinaryOp(name: String, leftType: CompileTimeType, left: Any, rightType: ANY -> when (name) { "equals" -> return (left as Int).equals(right) } + else -> {} } LONG -> when (rightType) { LONG -> when (name) { @@ -440,6 +447,7 @@ fun evalBinaryOp(name: String, leftType: CompileTimeType, left: Any, rightType: ANY -> when (name) { "equals" -> return (left as Long).equals(right) } + else -> {} } SHORT -> when (rightType) { BYTE -> when (name) { @@ -501,6 +509,7 @@ fun evalBinaryOp(name: String, leftType: CompileTimeType, left: Any, rightType: ANY -> when (name) { "equals" -> return (left as Short).equals(right) } + else -> {} } STRING -> when (rightType) { STRING -> when (name) { @@ -513,7 +522,9 @@ fun evalBinaryOp(name: String, leftType: CompileTimeType, left: Any, rightType: INT -> when (name) { "get" -> return (left as String).get(right as Int) } + else -> {} } + else -> {} } return null } @@ -551,6 +562,7 @@ fun checkBinaryOp( "rem" -> return left.rem(right) "times" -> return left.multiply(right) } + else -> {} } INT -> when (rightType) { INT -> when (name) { @@ -584,6 +596,7 @@ fun checkBinaryOp( "rem" -> return left.rem(right) "times" -> return left.multiply(right) } + else -> {} } LONG -> when (rightType) { LONG -> when (name) { @@ -617,6 +630,7 @@ fun checkBinaryOp( "rem" -> return left.rem(right) "times" -> return left.multiply(right) } + else -> {} } SHORT -> when (rightType) { BYTE -> when (name) { @@ -647,7 +661,9 @@ fun checkBinaryOp( "rem" -> return left.rem(right) "times" -> return left.multiply(right) } + else -> {} } + else -> {} } return null } diff --git a/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/pseudocode/pseudocodeUtils.kt b/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/pseudocode/pseudocodeUtils.kt index be9e998ce31..41f4197d627 100644 --- a/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/pseudocode/pseudocodeUtils.kt +++ b/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/pseudocode/pseudocodeUtils.kt @@ -194,7 +194,7 @@ fun getExpectedTypePredicate( } } - is MagicInstruction -> @Suppress("NON_EXHAUSTIVE_WHEN") when (it.kind) { + is MagicInstruction -> when (it.kind) { AND, OR -> addSubtypesOf(builtIns.booleanType) @@ -219,6 +219,7 @@ fun getExpectedTypePredicate( val typePredicate = getTypePredicateForUnresolvedCallArgument(it.element, it.inputValues.indexOf(value)) typePredicates.add(typePredicate) } + else -> {} } } } @@ -297,4 +298,4 @@ fun Pseudocode.getPseudocodeByElement(element: KtElement): Pseudocode? { } val Label.isJumpToError: Boolean - get() = resolveToInstruction() == pseudocode.errorInstruction \ No newline at end of file + get() = resolveToInstruction() == pseudocode.errorInstruction diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/ResolvedAtomCompleter.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/ResolvedAtomCompleter.kt index 8413b809893..7901bc26811 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/ResolvedAtomCompleter.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/ResolvedAtomCompleter.kt @@ -87,6 +87,7 @@ class ResolvedAtomCompleter( is ResolvedCallAtom -> completeResolvedCall(resolvedAtom, emptyList()) is ResolvedSubCallArgument -> completeSubCallArgument(resolvedAtom) is ResolvedExpressionAtom -> completeExpression(resolvedAtom) + else -> {} } } diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/RangeContainsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/RangeContainsLowering.kt index 87291ab434e..a0d04687e03 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/RangeContainsLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/RangeContainsLowering.kt @@ -441,4 +441,4 @@ internal class ComparableRangeToHandler(context: CommonBackendContext) : HeaderI start = expression.extensionReceiver!!, endInclusive = expression.getValueArgument(0)!! ) -} \ No newline at end of file +} diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt index 0bd4e211516..20126c6aa30 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt @@ -160,7 +160,7 @@ fun lowerPreservingIcData(module: IrModuleFragment, context: JsIrBackendContext, lowering.declarationTransformer(context).lower(module) is BodyLowering -> lowering.bodyLowering(context).lower(module) - // else -> TODO what about other lowerings? + is ModuleLowering -> { /*TODO what about other lowerings? */ } } } 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 fee1ec40022..785691ccc44 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 @@ -317,6 +317,7 @@ open class IrFileSerializer( is IdSignature.LoweredDeclarationSignature -> proto.icSig = serializeLoweredDeclarationSignature(idSignature) is IdSignature.GlobalFileLocalSignature -> proto.privateSig = serializePrivateSignature(idSignature) is IdSignature.GlobalScopeLocalDeclaration -> proto.externalScopedLocalSig = serializeScopeLocalSignature(idSignature) + is IdSignature.SpecialFakeOverrideSignature -> {} } return proto.build() } diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/ScopeTowerProcessors.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/ScopeTowerProcessors.kt index 6f5be6281fa..13366414d40 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/ScopeTowerProcessors.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/ScopeTowerProcessors.kt @@ -162,6 +162,7 @@ private class NoExplicitReceiverScopeTowerProcessor( is TowerData.TowerLevel -> data.level.recordLookup(name) is TowerData.BothTowerLevelAndImplicitReceiver -> data.level.recordLookup(name) is TowerData.ForLookupForNoExplicitReceiver -> data.level.recordLookup(name) + else -> {} } } } diff --git a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/typeEnhancement.kt b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/typeEnhancement.kt index 5b8a942dc02..10a60454038 100644 --- a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/typeEnhancement.kt +++ b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/typeEnhancement.kt @@ -202,6 +202,7 @@ private fun ClassifierDescriptor.enhanceMutability( return mapper.convertReadOnlyToMutable(this).enhancedMutability() } } + null -> {} } return this.noChange() diff --git a/generators/evaluate/GenerateOperationsMap.kt b/generators/evaluate/GenerateOperationsMap.kt index 8de7a050c63..be54abc6bb3 100644 --- a/generators/evaluate/GenerateOperationsMap.kt +++ b/generators/evaluate/GenerateOperationsMap.kt @@ -27,7 +27,7 @@ fun generate(): String { val sb = StringBuilder() val p = Printer(sb) p.println(File("license/COPYRIGHT_HEADER.txt").readText()) - p.println("@file:Suppress(\"DEPRECATION\", \"DEPRECATION_ERROR\", \"NON_EXHAUSTIVE_WHEN\")") + p.println("@file:Suppress(\"DEPRECATION\", \"DEPRECATION_ERROR\")") p.println() p.println("package org.jetbrains.kotlin.resolve.constants.evaluate") @@ -99,6 +99,7 @@ fun generate(): String { p.popIndent() p.println("}") } + p.println("else -> {}") p.popIndent() p.println("}") p.println("return null") @@ -123,9 +124,11 @@ fun generate(): String { p.popIndent() p.println("}") } + p.println("else -> {}") p.popIndent() p.println("}") } + p.println("else -> {}") p.popIndent() p.println("}") p.println("return null") @@ -154,9 +157,11 @@ fun generate(): String { p.popIndent() p.println("}") } + p.println("else -> {}") p.popIndent() p.println("}") } + p.println("else -> {}") p.popIndent() p.println("}") p.println("return null") diff --git a/js/js.dce/src/org/jetbrains/kotlin/js/dce/DeadCodeElimination.kt b/js/js.dce/src/org/jetbrains/kotlin/js/dce/DeadCodeElimination.kt index 7693534b680..fbae7f8d6fe 100644 --- a/js/js.dce/src/org/jetbrains/kotlin/js/dce/DeadCodeElimination.kt +++ b/js/js.dce/src/org/jetbrains/kotlin/js/dce/DeadCodeElimination.kt @@ -97,6 +97,7 @@ class DeadCodeElimination( val remapper = SourceMapLocationRemapper(sourceMap) statements.forEach { remapper.remap(it) } } + null -> {} } block.statements += statements file.moduleName?.let { dce.moduleMapping[block] = it } diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/InlinerCycleReporter.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/InlinerCycleReporter.kt index e3f7cbaba85..b44fdf15afd 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/InlinerCycleReporter.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/InlinerCycleReporter.kt @@ -65,12 +65,14 @@ class InlinerCycleReporter( } try { + when (functionVisitingState[definition.function]) { VisitedState.IN_PROCESS -> { reportInlineCycle(call, definition.function) return } VisitedState.PROCESSED -> return + null -> {} } functionVisitingState[function] = VisitedState.IN_PROCESS diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmReplEvaluator.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmReplEvaluator.kt index 083f0536657..12dcfcb5859 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmReplEvaluator.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmReplEvaluator.kt @@ -55,6 +55,7 @@ class BasicJvmReplEvaluator(val scriptEvaluator: ScriptEvaluator = BasicJvmScrip when (retVal) { is ResultValue.Error -> history.add(retVal.scriptClass, null) is ResultValue.Value, is ResultValue.Unit -> history.add(retVal.scriptClass, retVal.scriptInstance) + is ResultValue.NotEvaluated -> {} } KJvmEvaluatedSnippet(snippetVal, currentConfiguration, retVal) } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt index 1bbed110db6..1ceba3d6e1d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt @@ -315,6 +315,7 @@ class NewMultiplatformIT : BaseGradleIT() { IR -> { groupDir.resolve(jsJarName).exists() } + BOTH -> {} } val metadataJarEntries = ZipFile(groupDir.resolve(metadataJarName)).entries().asSequence().map { it.name }.toSet() @@ -1846,4 +1847,4 @@ class NewMultiplatformIT : BaseGradleIT() { HostManager.hostIsMac -> "macosX64" else -> throw AssertionError("Host ${HostManager.host} is not supported for this test") } -} \ No newline at end of file +} diff --git a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmIrToBinary.kt b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmIrToBinary.kt index 125a84e9dce..d80bd716e4c 100644 --- a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmIrToBinary.kt +++ b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmIrToBinary.kt @@ -27,6 +27,7 @@ class WasmIrToBinary(outputStream: OutputStream, val module: WasmModule) { when (it) { is WasmStructDeclaration -> appendStructTypeDeclaration(it) is WasmArrayDeclaration -> appendArrayTypeDeclaration(it) + is WasmFunctionType -> {} } } } diff --git a/wasm/wasm.ir/test/org/jetbrains/kotlin/wasm/ir/SpecTestRunner.kt b/wasm/wasm.ir/test/org/jetbrains/kotlin/wasm/ir/SpecTestRunner.kt index 875c4849012..9ba20a0a2e3 100644 --- a/wasm/wasm.ir/test/org/jetbrains/kotlin/wasm/ir/SpecTestRunner.kt +++ b/wasm/wasm.ir/test/org/jetbrains/kotlin/wasm/ir/SpecTestRunner.kt @@ -130,11 +130,9 @@ data class SpecTest( private fun runSpecTest(specTest: SpecTest, testDir: File, wastFile: File, wabtOptions: List) { for (command in specTest.commands) { - when (command) { - is SpecTest.Command.Module -> { - val wasmFile = File(testDir, command.filename) - testWasmFile(wasmFile, testDir.name) - } + if (command is SpecTest.Command.Module) { + val wasmFile = File(testDir, command.filename) + testWasmFile(wasmFile, testDir.name) } } }