Replace 'Enum.values()' with the 'Enum.entries'
diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerTest.kt
index 78db3a2..cb1cf3a 100644
--- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerTest.kt
+++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerTest.kt
@@ -26,7 +26,7 @@
 
         val shortenings = executeOnPooledThreadInReadAction {
             analyseForTest(element) {
-                ShortenOption.values().map { option ->
+                ShortenOption.entries.map { option ->
                     Pair(option.name, collectPossibleReferenceShorteningsInElement(element, { option }, { option }))
                 }
             }
diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTest.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTest.kt
index bd6972c..c62198c 100644
--- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTest.kt
+++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTest.kt
@@ -54,7 +54,7 @@
             val declarationSymbol = ktDeclaration.resolveToFirSymbol(firResolveSession)
             val declarationToResolve = chooseMemberDeclarationIfNeeded(declarationSymbol, moduleStructure)
 
-            for (currentPhase in FirResolvePhase.values()) {
+            for (currentPhase in FirResolvePhase.entries) {
                 if (currentPhase == FirResolvePhase.SEALED_CLASS_INHERITORS) continue
                 declarationToResolve.lazyResolveToPhase(currentPhase)
 
diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/ChangeBoxingMethodTransformer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/ChangeBoxingMethodTransformer.kt
index a27e0ea3..37b7d1d 100644
--- a/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/ChangeBoxingMethodTransformer.kt
+++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/ChangeBoxingMethodTransformer.kt
@@ -26,7 +26,7 @@
 
     init {
         val map = hashMapOf<String, String>()
-        for (primitiveType in JvmPrimitiveType.values()) {
+        for (primitiveType in JvmPrimitiveType.entries) {
             val name = primitiveType.wrapperFqName.topLevelClassInternalName()
             map[name] = "box${primitiveType.javaKeywordName.replaceFirstChar(Char::uppercaseChar)}"
         }
diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/ReifiedTypeInliner.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/ReifiedTypeInliner.kt
index 4a3451a..d259af4 100644
--- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/ReifiedTypeInliner.kt
+++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/ReifiedTypeInliner.kt
@@ -384,7 +384,7 @@
 val MethodInsnNode.operationKind: ReifiedTypeInliner.OperationKind?
     get() =
         previous?.previous?.intConstant?.let {
-            ReifiedTypeInliner.OperationKind.values().getOrNull(it)
+            ReifiedTypeInliner.OperationKind.entries.getOrNull(it)
         }
 
 class TypeParameterMappings<KT : KotlinTypeMarker>(
diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/CapturedVarsOptimizationMethodTransformer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/CapturedVarsOptimizationMethodTransformer.kt
index 4c2bb60..3f0087c 100644
--- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/CapturedVarsOptimizationMethodTransformer.kt
+++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/CapturedVarsOptimizationMethodTransformer.kt
@@ -236,7 +236,7 @@
 
 internal val REF_TYPE_TO_ELEMENT_TYPE = HashMap<String, Type>().apply {
     put(AsmTypes.OBJECT_REF_TYPE.internalName, AsmTypes.OBJECT_TYPE)
-    PrimitiveType.values().forEach {
+    PrimitiveType.entries.forEach {
         put(AsmTypes.sharedTypeForPrimitive(it).internalName, AsmTypes.valueTypeForPrimitive(it))
     }
 }
diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/BoxingInterpreter.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/BoxingInterpreter.kt
index c4eaac7..15f85e2 100644
--- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/BoxingInterpreter.kt
+++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/BoxingInterpreter.kt
@@ -265,7 +265,7 @@
 private val BOXING_CLASS_INTERNAL_NAME =
     StandardNames.COROUTINES_JVM_INTERNAL_PACKAGE_FQ_NAME.child(Name.identifier("Boxing")).topLevelClassInternalName()
 
-private fun isJvmPrimitiveName(name: String) = JvmPrimitiveType.values().any { it.javaKeywordName == name }
+private fun isJvmPrimitiveName(name: String) = JvmPrimitiveType.entries.any { it.javaKeywordName == name }
 
 fun AbstractInsnNode.isCoroutinePrimitiveBoxing(): Boolean {
     return isMethodInsnWith(Opcodes.INVOKESTATIC) {
diff --git a/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/metrics/BuildPerformanceMetric.kt b/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/metrics/BuildPerformanceMetric.kt
index e2ecc1f..990e536 100644
--- a/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/metrics/BuildPerformanceMetric.kt
+++ b/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/metrics/BuildPerformanceMetric.kt
@@ -54,7 +54,7 @@
         const val serialVersionUID = 0L
 
         val children by lazy {
-            values().filter { it.parent != null }.groupBy { it.parent }
+            entries.filter { it.parent != null }.groupBy { it.parent }
         }
     }
 }
diff --git a/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/metrics/BuildTime.kt b/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/metrics/BuildTime.kt
index 775ecfa..daae059 100644
--- a/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/metrics/BuildTime.kt
+++ b/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/metrics/BuildTime.kt
@@ -82,7 +82,7 @@
         const val serialVersionUID = 0L
 
         val children by lazy {
-            values().filter { it.parent != null }.groupBy { it.parent }
+            entries.filter { it.parent != null }.groupBy { it.parent }
         }
     }
 }
\ No newline at end of file
diff --git a/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/statistics/file/FileReportService.kt b/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/statistics/file/FileReportService.kt
index f10eec2..4586c8e 100644
--- a/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/statistics/file/FileReportService.kt
+++ b/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/statistics/file/FileReportService.kt
@@ -176,7 +176,7 @@
                 }
             }
 
-            for (buildTime in BuildTime.values()) {
+            for (buildTime in BuildTime.entries) {
                 if (buildTime.parent != null) continue
 
                 printBuildTime(buildTime)
@@ -188,7 +188,7 @@
         if (buildMetrics.isEmpty()) return
 
         p.withIndent("Size metrics:") {
-            for (metric in BuildPerformanceMetric.values()) {
+            for (metric in BuildPerformanceMetric.entries) {
                 buildMetrics[metric]?.let { printSizeMetric(metric, it) }
             }
         }
diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt
index eeb28c2..6f67bd1 100644
--- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt
+++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt
@@ -849,7 +849,7 @@
             }
 
             if (progressiveMode) {
-                LanguageFeature.values().filter { it.kind.enabledInProgressiveMode }.forEach {
+                LanguageFeature.entries.filter { it.kind.enabledInProgressiveMode }.forEach {
                     // Don't overwrite other settings: users may want to turn off some particular
                     // breaking change manually instead of turning off whole progressive mode
                     if (!contains(it)) put(it, LanguageFeature.State.ENABLED)
@@ -1062,7 +1062,7 @@
         if (value == null) null
         else LanguageVersion.fromVersionString(value)
             ?: run {
-                val versionStrings = LanguageVersion.values().filterNot(LanguageVersion::isUnsupported).map(LanguageVersion::description)
+                val versionStrings = LanguageVersion.entries.filterNot(LanguageVersion::isUnsupported).map(LanguageVersion::description)
                 val message = "Unknown $versionOf version: $value\nSupported $versionOf versions: ${versionStrings.joinToString(", ")}"
                 collector.report(CompilerMessageSeverity.ERROR, message, null)
                 null
diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt
index 2a6c0d9..71b1a52 100644
--- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt
+++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt
@@ -867,7 +867,7 @@
         } ?: collector.report(
             CompilerMessageSeverity.ERROR,
             "Unknown -Xjvm-default mode: $jvmDefault, supported modes: ${
-                JvmDefaultMode.values().mapNotNull { mode ->
+                JvmDefaultMode.entries.mapNotNull { mode ->
                     mode.description.takeIf { JvmDefaultMode.fromStringOrNull(it) != null }
                 }
             }"
diff --git a/compiler/cli/cli-runner/src/org/jetbrains/kotlin/runner/Main.kt b/compiler/cli/cli-runner/src/org/jetbrains/kotlin/runner/Main.kt
index c041026..18f4be7 100644
--- a/compiler/cli/cli-runner/src/org/jetbrains/kotlin/runner/Main.kt
+++ b/compiler/cli/cli-runner/src/org/jetbrains/kotlin/runner/Main.kt
@@ -45,7 +45,7 @@
             val validValues = "${GUESS.argName} (default), ${CLASSFILE.argName}, ${JAR.argName}, ${SCRIPT.argName} (or .<script filename extension>)"
 
             fun fromArg(name: String): HowToRun? =
-                HowToRun.values().find { it.argName == name }
+                entries.find { it.argName == name }
         }
     }
 
diff --git a/compiler/compiler-runner-unshaded/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunnerUtils.kt b/compiler/compiler-runner-unshaded/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunnerUtils.kt
index 07a10d0..3cf2108 100644
--- a/compiler/compiler-runner-unshaded/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunnerUtils.kt
+++ b/compiler/compiler-runner-unshaded/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunnerUtils.kt
@@ -30,7 +30,7 @@
 
 object KotlinCompilerRunnerUtils {
     fun exitCodeFromProcessExitCode(log: KotlinLogger, code: Int): ExitCode {
-        val exitCode = ExitCode.values().find { it.code == code }
+        val exitCode = ExitCode.entries.find { it.code == code }
         if (exitCode != null) return exitCode
 
         log.debug("Could not find exit code by value: $code")
diff --git a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JVMAssertionsMode.kt b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JVMAssertionsMode.kt
index 8f50e27..ee82150 100644
--- a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JVMAssertionsMode.kt
+++ b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JVMAssertionsMode.kt
@@ -16,7 +16,7 @@
         val DEFAULT = LEGACY
 
         @JvmStatic
-        fun fromStringOrNull(string: String?) = values().find { it.description == string }
+        fun fromStringOrNull(string: String?) = entries.find { it.description == string }
 
         @JvmStatic
         fun fromString(string: String?) = fromStringOrNull(string) ?: DEFAULT
diff --git a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmAbiStability.kt b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmAbiStability.kt
index e40ecfa..1d09408 100644
--- a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmAbiStability.kt
+++ b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmAbiStability.kt
@@ -12,6 +12,6 @@
 
     companion object {
         fun fromStringOrNull(string: String?): JvmAbiStability? =
-            values().find { it.description == string }
+            entries.find { it.description == string }
     }
 }
diff --git a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmClosureGenerationScheme.kt b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmClosureGenerationScheme.kt
index d8995c5..34ac2f2 100644
--- a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmClosureGenerationScheme.kt
+++ b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmClosureGenerationScheme.kt
@@ -19,7 +19,7 @@
         @JvmStatic
         fun fromString(string: String?): JvmClosureGenerationScheme? {
             val lowerStr = string?.toLowerCaseAsciiOnly() ?: return null
-            return values().find { it.description == lowerStr }
+            return entries.find { it.description == lowerStr }
         }
     }
 }
\ No newline at end of file
diff --git a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmSerializeIrMode.kt b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmSerializeIrMode.kt
index bc3b43a..86afacb 100644
--- a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmSerializeIrMode.kt
+++ b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmSerializeIrMode.kt
@@ -12,7 +12,7 @@
 
     companion object {
         @JvmStatic
-        fun fromStringOrNull(string: String) = values().find { it.description == string }
+        fun fromStringOrNull(string: String) = entries.find { it.description == string }
 
         @JvmStatic
         fun fromString(string: String) = fromStringOrNull(string) ?: NONE
diff --git a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmStringConcat.kt b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmStringConcat.kt
index cdefa0c..1ef3684 100644
--- a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmStringConcat.kt
+++ b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmStringConcat.kt
@@ -15,6 +15,6 @@
 
     companion object {
         @JvmStatic
-        fun fromString(string: String) = values().find { it.description == string }
+        fun fromString(string: String) = entries.find { it.description == string }
     }
 }
\ No newline at end of file
diff --git a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmTarget.kt b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmTarget.kt
index 5133cca..affb04a 100644
--- a/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmTarget.kt
+++ b/compiler/config.jvm/src/org/jetbrains/kotlin/config/JvmTarget.kt
@@ -46,10 +46,10 @@
         val DEFAULT = JVM_1_8
 
         @JvmStatic
-        fun fromString(string: String) = values().find { it.description == string }
+        fun fromString(string: String) = entries.find { it.description == string }
 
         fun getDescription(majorVersion: Int): String {
-            val platformDescription = values().find { it.majorVersion == majorVersion }?.description ?: when (majorVersion) {
+            val platformDescription = entries.find { it.majorVersion == majorVersion }?.description ?: when (majorVersion) {
                 Opcodes.V1_7 -> "1.7"
                 else -> null
             }
@@ -59,13 +59,13 @@
         }
 
         fun supportedValues(): List<JvmTarget> =
-            values().asList() - JVM_1_6
+            entries - JVM_1_6
 
         const val SUPPORTED_VERSIONS_DESCRIPTION =
             "1.8, 9, 10, ..., 20"
 
         init {
-            check(SUPPORTED_VERSIONS_DESCRIPTION == "1.8, 9, 10, ..., ${values().last().description}") {
+            check(SUPPORTED_VERSIONS_DESCRIPTION == "1.8, 9, 10, ..., ${entries.last().description}") {
                 "Please update the value of the constant JvmTarget.SUPPORTED_VERSIONS_DESCRIPTION."
             }
         }
diff --git a/compiler/config.jvm/src/org/jetbrains/kotlin/platform/jvm/JvmPlatform.kt b/compiler/config.jvm/src/org/jetbrains/kotlin/platform/jvm/JvmPlatform.kt
index 650521a..2199124 100644
--- a/compiler/config.jvm/src/org/jetbrains/kotlin/platform/jvm/JvmPlatform.kt
+++ b/compiler/config.jvm/src/org/jetbrains/kotlin/platform/jvm/JvmPlatform.kt
@@ -20,7 +20,7 @@
 object JvmPlatforms {
     private val UNSPECIFIED_SIMPLE_JVM_PLATFORM = JdkPlatform(JvmTarget.DEFAULT)
     private val jvmTargetToJdkPlatform: Map<JvmTarget, TargetPlatform> =
-        JvmTarget.values().map { it to JdkPlatform(it).toTargetPlatform() }.toMap()
+        JvmTarget.entries.map { it to JdkPlatform(it).toTargetPlatform() }.toMap()
 
     // This platform is needed mostly for compatibility and migration of code base,
     // as previously some clients used TargetPlatform just as platform-marker
diff --git a/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilerServicesFacadeBase.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilerServicesFacadeBase.kt
index c377792..9b0454c 100644
--- a/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilerServicesFacadeBase.kt
+++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilerServicesFacadeBase.kt
@@ -37,7 +37,7 @@
 
     companion object {
         fun fromCode(code: Int): ReportCategory? =
-                ReportCategory.values().firstOrNull { it.code == code }
+                entries.firstOrNull { it.code == code }
     }
 }
 
@@ -49,7 +49,7 @@
 
     companion object {
         fun fromCode(code: Int): ReportSeverity {
-            return values().firstOrNull { it.code == code } ?: error("Can't find a matching ReportSeverity with code = $code")
+            return entries.firstOrNull { it.code == code } ?: error("Can't find a matching ReportSeverity with code = $code")
         }
     }
 }
diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt
index 2e043d2..5edb971e 100644
--- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt
+++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt
@@ -230,7 +230,7 @@
 
     protected fun Int.toAlivenessName(): String =
         try {
-            Aliveness.values()[this].name
+            Aliveness.entries[this].name
         } catch (_: Throwable) {
             "invalid($this)"
         }
diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/getICReporter.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/getICReporter.kt
index fd5126b..573fc00 100644
--- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/getICReporter.kt
+++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/getICReporter.kt
@@ -45,7 +45,7 @@
     val requestedResults = compilationOptions
         .requestedCompilationResults
         .mapNotNullTo(HashSet()) { resultCode ->
-            CompilationResultCategory.values().getOrNull(resultCode)
+            CompilationResultCategory.entries.getOrNull(resultCode)
         }
     for (requestedResult in requestedResults) {
         when (requestedResult) {
diff --git a/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/js/checkers/FirJsHelpers.kt b/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/js/checkers/FirJsHelpers.kt
index f18a1a3..8a1b2b4 100644
--- a/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/js/checkers/FirJsHelpers.kt
+++ b/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/js/checkers/FirJsHelpers.kt
@@ -107,7 +107,7 @@
     if (fir is FirMemberDeclaration && isExpect) return true
     if (isEffectivelyExternalMember(session)) return true
 
-    for (annotation in PredefinedAnnotation.values()) {
+    for (annotation in PredefinedAnnotation.entries) {
         if (hasAnnotationOrInsideAnnotatedClass(annotation.classId, session)) {
             return true
         }
diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirAnnotationHelpers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirAnnotationHelpers.kt
index f8d32e1..274c10b 100644
--- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirAnnotationHelpers.kt
+++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirAnnotationHelpers.kt
@@ -44,13 +44,13 @@
         return null
     }
 
-    return AnnotationRetention.values().firstOrNull { it.name == callableId.callableName.asString() }
+    return AnnotationRetention.entries.firstOrNull { it.name == callableId.callableName.asString() }
 }
 
 private val defaultAnnotationTargets = KotlinTarget.DEFAULT_TARGET_SET
 
 fun FirAnnotation.getAllowedAnnotationTargets(session: FirSession): Set<KotlinTarget> {
-    if (annotationTypeRef is FirErrorTypeRef) return KotlinTarget.values().toSet()
+    if (annotationTypeRef is FirErrorTypeRef) return KotlinTarget.entries.toSet()
     val annotationClassSymbol = (this.annotationTypeRef.coneType as? ConeClassLikeType)
         ?.fullyExpandedType(session)?.lookupTag?.toSymbol(session) ?: return defaultAnnotationTargets
     annotationClassSymbol.lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE)
@@ -85,7 +85,7 @@
             //but `JvmStubBasedFirDeserializedSymbolProvider` which works in IDE over stubs, misses classes   
                 ?: (calleeReference as? FirFromMissingDependenciesNamedReference)?.name?.asString()
                 ?: return@mapNotNullTo null
-        KotlinTarget.values().firstOrNull { target -> target.name == targetName }
+        KotlinTarget.entries.firstOrNull { target -> target.name == targetName }
     }
 }
 
diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirOptInUsageBaseChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirOptInUsageBaseChecker.kt
index ed6dce9..ad1ad0b 100644
--- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirOptInUsageBaseChecker.kt
+++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirOptInUsageBaseChecker.kt
@@ -255,7 +255,7 @@
 
         val levelArgument = experimental.findArgumentByName(LEVEL) as? FirQualifiedAccessExpression
         val levelName = levelArgument?.calleeReference?.resolved?.name?.asString()
-        val level = OptInLevel.values().firstOrNull { it.name == levelName } ?: OptInLevel.DEFAULT
+        val level = OptInLevel.entries.firstOrNull { it.name == levelName } ?: OptInLevel.DEFAULT
         val message = (experimental.findArgumentByName(MESSAGE) as? FirConstExpression<*>)?.value as? String
         return Experimentality(symbol.classId, level.severity, message, annotatedOwnerClassName)
     }
diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/IrBuiltInsOverFir.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/IrBuiltInsOverFir.kt
index d859d57..1d5a490 100644
--- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/IrBuiltInsOverFir.kt
+++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/IrBuiltInsOverFir.kt
@@ -471,7 +471,7 @@
     }
 
     override val unsignedTypesToUnsignedArrays: Map<UnsignedType, IrClassSymbol> by lazy {
-        UnsignedType.values().mapNotNull { unsignedType ->
+        UnsignedType.entries.mapNotNull { unsignedType ->
             val array = referenceClassByClassId(unsignedType.arrayClassId)
             if (array == null) null else unsignedType to array
         }.toMap()
diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/deprecationUtils.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/deprecationUtils.kt
index f211d6d..82270aa 100644
--- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/deprecationUtils.kt
+++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/deprecationUtils.kt
@@ -175,7 +175,7 @@
     } ?: return null
     val targetExpression = argument as? FirQualifiedAccessExpression ?: return null
     val targetName = (targetExpression.calleeReference as? FirNamedReference)?.name?.asString() ?: return null
-    return DeprecationLevelValue.values().find { it.name == targetName }
+    return DeprecationLevelValue.entries.find { it.name == targetName }
 }
 
 val deprecationAnnotationSimpleNames: Set<String> = setOf(
diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/modifier/ModifierFlag.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/modifier/ModifierFlag.kt
index aae0720..6d1a0ac 100644
--- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/modifier/ModifierFlag.kt
+++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/modifier/ModifierFlag.kt
@@ -49,7 +49,7 @@
     REIFICATION_REIFIED(1L shl 36);
 
     companion object {
-        val Values = values()
+        val Values = entries.toTypedArray()
         val ElementTypeToModifierFlagMap: Map<IElementType, ModifierFlag> = mutableMapOf(
             // Class
             KtTokens.ENUM_KEYWORD to CLASS_ENUM,
diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolver.kt
index 537ee00..6face9e 100644
--- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolver.kt
+++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolver.kt
@@ -45,7 +45,7 @@
         )
 
         private val MODIFIERS_FROM_OVERRIDDEN: List<FirDeclarationStatusImpl.Modifier> =
-            FirDeclarationStatusImpl.Modifier.values().toList() - NOT_INHERITED_MODIFIERS
+            FirDeclarationStatusImpl.Modifier.entries - NOT_INHERITED_MODIFIERS
     }
 
     private val extensionStatusTransformers = session.extensionService.statusTransformerExtensions
diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTotalResolveProcessor.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTotalResolveProcessor.kt
index 5d18273..8827ed3 100644
--- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTotalResolveProcessor.kt
+++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTotalResolveProcessor.kt
@@ -63,7 +63,7 @@
 ): List<T> {
     @Suppress("NAME_SHADOWING")
     val scopeSession = scopeSession ?: ScopeSession()
-    val phases = FirResolvePhase.values().filter {
+    val phases = entries.filter {
         !it.noProcessor
     }
     return phases.map { it.creator(scopeSession) }
diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolvePhase.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolvePhase.kt
index 1ba9d4c..793925d 100644
--- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolvePhase.kt
+++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolvePhase.kt
@@ -27,11 +27,11 @@
             IMPORTS -> RAW_FIR
             STATUS -> TYPES
             IMPLICIT_TYPES_BODY_RESOLVE, BODY_RESOLVE -> STATUS
-            else -> values()[ordinal - 1]
+            else -> entries[ordinal - 1]
         }
 
-    val next: FirResolvePhase get() = values()[ordinal + 1]
-    val previous: FirResolvePhase get() = values()[ordinal - 1]
+    val next: FirResolvePhase get() = entries[ordinal + 1]
+    val previous: FirResolvePhase get() = entries[ordinal - 1]
 
     companion object {
         // Short-cut
diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolveState.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolveState.kt
index add4c55..66f978a 100644
--- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolveState.kt
+++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolveState.kt
@@ -38,7 +38,7 @@
     override val resolvePhase: FirResolvePhase
 ) : FirResolveState() {
     companion object {
-        private val phases: List<FirResolvedToPhaseState> = FirResolvePhase.values().map(::FirResolvedToPhaseState)
+        private val phases: List<FirResolvedToPhaseState> = FirResolvePhase.entries.map(::FirResolvedToPhaseState)
 
         operator fun invoke(phase: FirResolvePhase) = phases[phase.ordinal]
     }
@@ -75,7 +75,7 @@
     override val resolvingTo: FirResolvePhase
 ) : FirInProcessOfResolvingToPhaseState() {
     companion object {
-        private val phases: List<FirInProcessOfResolvingToPhaseState> = FirResolvePhase.values()
+        private val phases: List<FirInProcessOfResolvingToPhaseState> = FirResolvePhase.entries.toTypedArray()
             .drop(1) // drop FirResolvePhase.RAW_FIR phase
             .map(::FirInProcessOfResolvingToPhaseStateWithoutBarrier)
 
diff --git a/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/utils/metadataHelpers.kt b/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/utils/metadataHelpers.kt
index 29f01cb..22ee8da 100644
--- a/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/utils/metadataHelpers.kt
+++ b/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/utils/metadataHelpers.kt
@@ -28,7 +28,7 @@
     this[LanguageVersion.KOTLIN_2_0] = JvmMetadataVersion(2, 0, 0)
     this[LanguageVersion.KOTLIN_2_1] = JvmMetadataVersion(2, 1, 0)
 
-    check(size == LanguageVersion.values().size) {
+    check(size == LanguageVersion.entries.size) {
         "Please add mappings from the missing LanguageVersion instances to the corresponding JvmMetadataVersion " +
                 "in `LANGUAGE_TO_METADATA_VERSION`"
     }
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/checkers/diagnostics/TextDiagnostic.kt b/compiler/frontend/src/org/jetbrains/kotlin/checkers/diagnostics/TextDiagnostic.kt
index 10b44a4..dcaba1a 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/checkers/diagnostics/TextDiagnostic.kt
+++ b/compiler/frontend/src/org/jetbrains/kotlin/checkers/diagnostics/TextDiagnostic.kt
@@ -123,7 +123,7 @@
         }
 
         private fun computeInferenceCompatibility(abbreviation: String?): InferenceCompatibility {
-            return if (abbreviation == null) InferenceCompatibility.ALL else InferenceCompatibility.values().single { inference -> abbreviation == inference.abbreviation }
+            return if (abbreviation == null) InferenceCompatibility.ALL else InferenceCompatibility.entries.single { inference -> abbreviation == inference.abbreviation }
         }
 
         private fun extractDataBefore(prefix: String?, anchor: String): String? {
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 23a5911..0d6524d 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt
+++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt
@@ -856,7 +856,7 @@
 
             if (argumentsExpression != null) {
                 val specialFunctionName = requireNotNull(
-                    ControlStructureTypingUtils.ResolveConstruct.values().find { specialFunction ->
+                    ControlStructureTypingUtils.ResolveConstruct.entries.find { specialFunction ->
                         specialFunction.specialFunctionName == resolvedAtom.candidateDescriptor.name
                     }
                 ) { "Unsupported special construct: ${resolvedAtom.candidateDescriptor.name} not found in special construct names" }
@@ -913,7 +913,7 @@
         }
         if (atom !is ResolvedCallAtom) return false
 
-        return ControlStructureTypingUtils.ResolveConstruct.values().any { specialFunction ->
+        return ControlStructureTypingUtils.ResolveConstruct.entries.any { specialFunction ->
             specialFunction.specialFunctionName == atom.candidateDescriptor.name
         }
     }
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/GenericCandidateResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/GenericCandidateResolver.kt
index ae76f0c..75318b9 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/GenericCandidateResolver.kt
+++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/GenericCandidateResolver.kt
@@ -49,7 +49,7 @@
 import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils
 import org.jetbrains.kotlin.types.typeUtil.makeNullable
 
-val SPECIAL_FUNCTION_NAMES = ResolveConstruct.values().map { it.specialFunctionName }.toSet()
+val SPECIAL_FUNCTION_NAMES = ResolveConstruct.entries.map { it.specialFunctionName }.toSet()
 
 class GenericCandidateResolver(
     private val argumentTypeResolver: ArgumentTypeResolver,
diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt
index 3763a1e..61c4312 100644
--- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt
+++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt
@@ -48,7 +48,7 @@
     val charSequence = getClass(Name.identifier("CharSequence"), "kotlin")
     val string = getClass(Name.identifier("String"), "kotlin")
 
-    val primitiveIteratorsByType = PrimitiveType.values().associate { type ->
+    val primitiveIteratorsByType = PrimitiveType.entries.associate { type ->
         val iteratorClass = getClass(Name.identifier(type.typeName.asString() + "Iterator"), "kotlin", "collections")
         type to iteratorClass
     }
diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt
index 327026f..a27c88b 100644
--- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt
+++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt
@@ -256,7 +256,7 @@
     val jsArrayIteratorFunction = getInternalFunction("arrayIterator")
 
     val jsPrimitiveArrayIteratorFunctions =
-        PrimitiveType.values().associate { it to getInternalFunction("${it.typeName.asString().toLowerCaseAsciiOnly()}ArrayIterator") }
+        PrimitiveType.entries.associate { it to getInternalFunction("${it.typeName.asString().toLowerCaseAsciiOnly()}ArrayIterator") }
 
     val jsClass = getInternalFunction("jsClassIntrinsic")
     val arrayLiteral: IrSimpleFunctionSymbol = getInternalFunction("arrayLiteral")
@@ -296,14 +296,14 @@
     )
 
     val primitiveToSizeConstructor =
-        PrimitiveType.values().associate { type ->
+        PrimitiveType.entries.associate { type ->
             type to (primitiveToTypedArrayMap[type]?.let {
                 getInternalFunction("${it.toLowerCaseAsciiOnly()}Array")
             } ?: getInternalFunction("${type.typeName.asString().toLowerCaseAsciiOnly()}Array"))
         }
 
     val primitiveToLiteralConstructor =
-        PrimitiveType.values().associate { type ->
+        PrimitiveType.entries.associate { type ->
             type to (primitiveToTypedArrayMap[type]?.let {
                 getInternalFunction("${it.toLowerCaseAsciiOnly()}ArrayOf")
             } ?: getInternalFunction("${type.typeName.asString().toLowerCaseAsciiOnly()}ArrayOf"))
diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstDeserializer.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstDeserializer.kt
index 783968b..6a433f7 100644
--- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstDeserializer.kt
+++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstDeserializer.kt
@@ -265,10 +265,10 @@
         }
     }
 
-    private val sideEffectKindValues = SideEffectKind.values()
-    private val jsBinaryOperatorValues = JsBinaryOperator.values()
-    private val jsUnaryOperatorValues = JsUnaryOperator.values()
-    private val jsFunctionModifiersValues = JsFunction.Modifier.values()
+    private val sideEffectKindValues = SideEffectKind.entries.toTypedArray()
+    private val jsBinaryOperatorValues = JsBinaryOperator.entries.toTypedArray()
+    private val jsUnaryOperatorValues = JsUnaryOperator.entries.toTypedArray()
+    private val jsFunctionModifiersValues = JsFunction.Modifier.entries.toTypedArray()
 
     private fun readExpression(): JsExpression {
         return withComments {
@@ -436,7 +436,7 @@
         }
     }
 
-    private val specialFunctionValues = SpecialFunction.values()
+    private val specialFunctionValues = SpecialFunction.entries.toTypedArray()
 
     private fun readName(): JsName {
         val identifier = stringTable[readInt()]
diff --git a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/intrinsics/IrIntrinsicMethods.kt b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/intrinsics/IrIntrinsicMethods.kt
index 0364d4c..4abfe03 100644
--- a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/intrinsics/IrIntrinsicMethods.kt
+++ b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/intrinsics/IrIntrinsicMethods.kt
@@ -140,12 +140,12 @@
     fun getIntrinsic(symbol: IrFunctionSymbol): IntrinsicMethod? = intrinsicsMap[symbol.toKey()]
 
     private fun unaryFunForPrimitives(name: String, intrinsic: IntrinsicMethod): List<Pair<Key, IntrinsicMethod>> =
-        PrimitiveType.values().map { type ->
+        PrimitiveType.entries.map { type ->
             createKeyMapping(intrinsic, type.symbol, name)
         }
 
     private fun binaryFunForPrimitivesAcrossPrimitives(name: String, intrinsic: IntrinsicMethod): List<Pair<Key, IntrinsicMethod>> =
-        PrimitiveType.values().flatMap { parameter ->
+        PrimitiveType.entries.flatMap { parameter ->
             binaryFunForPrimitives(name, intrinsic, parameter.symbol)
         }
 
@@ -155,7 +155,7 @@
         intrinsic: IntrinsicMethod,
         parameter: IrClassifierSymbol
     ): List<Pair<Key, IntrinsicMethod>> =
-        PrimitiveType.values().map { type ->
+        PrimitiveType.entries.map { type ->
             createKeyMapping(intrinsic, type.symbol, name, parameter)
         }
 
@@ -186,7 +186,7 @@
         typeToIrFun: Map<IrClassifierSymbol, IrSimpleFunctionSymbol>,
         operator: KtSingleValueToken
     ): List<Pair<Key, PrimitiveComparison>> =
-        PrimitiveType.values().mapNotNull { primitiveType ->
+        PrimitiveType.entries.mapNotNull { primitiveType ->
             val irPrimitiveClassifier = irBuiltIns.primitiveTypeToIrType[primitiveType]!!.classifierOrFail
             val irFunSymbol = typeToIrFun[irPrimitiveClassifier] ?: return@mapNotNull null
             irFunSymbol.toKey()!! to PrimitiveComparison(primitiveType, operator)
diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/VarargLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/VarargLowering.kt
index 15891d9..54633b5 100644
--- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/VarargLowering.kt
+++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/VarargLowering.kt
@@ -94,7 +94,7 @@
 }
 
 internal val PRIMITIVE_ARRAY_OF_NAMES: Set<String> =
-    (PrimitiveType.values().map { type -> type.name } + UnsignedType.values().map { type -> type.typeName.asString() })
+    (PrimitiveType.entries.map { type -> type.name } + UnsignedType.entries.map { type -> type.typeName.asString() })
         .map { name -> name.toLowerCaseAsciiOnly() + "ArrayOf" }.toSet()
 
 internal const val ARRAY_OF_NAME = "arrayOf"
diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/descriptors/IrBuiltInsOverDescriptors.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/descriptors/IrBuiltInsOverDescriptors.kt
index 478a859..808e59f 100644
--- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/descriptors/IrBuiltInsOverDescriptors.kt
+++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/descriptors/IrBuiltInsOverDescriptors.kt
@@ -388,13 +388,13 @@
     override val booleanArray = builtIns.getPrimitiveArrayClassDescriptor(PrimitiveType.BOOLEAN).toIrSymbol()
 
     override val primitiveArraysToPrimitiveTypes =
-        PrimitiveType.values().associate { builtIns.getPrimitiveArrayClassDescriptor(it).toIrSymbol() to it }
+        PrimitiveType.entries.associate { builtIns.getPrimitiveArrayClassDescriptor(it).toIrSymbol() to it }
     override val primitiveTypesToPrimitiveArrays = primitiveArraysToPrimitiveTypes.map { (k, v) -> v to k }.toMap()
     override val primitiveArrayElementTypes = primitiveArraysToPrimitiveTypes.mapValues { primitiveTypeToIrType[it.value] }
     override val primitiveArrayForType = primitiveArrayElementTypes.asSequence().associate { it.value to it.key }
 
     override val unsignedTypesToUnsignedArrays: Map<UnsignedType, IrClassSymbol> =
-        UnsignedType.values().mapNotNull { unsignedType ->
+        UnsignedType.entries.mapNotNull { unsignedType ->
             val array = builtIns.builtInsModule.findClassAcrossModuleDependencies(unsignedType.arrayClassId)?.toIrSymbol()
             if (array == null) null else unsignedType to array
         }.toMap()
diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/linkage/partial/PartialLinkageConfig.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/linkage/partial/PartialLinkageConfig.kt
index 3cc355a..3eb12a0 100644
--- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/linkage/partial/PartialLinkageConfig.kt
+++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/linkage/partial/PartialLinkageConfig.kt
@@ -26,7 +26,7 @@
         val DEFAULT = ENABLE
 
         fun resolveMode(key: String): PartialLinkageMode? =
-            values().firstOrNull { entry -> key == entry.name.lowercase() }
+            entries.firstOrNull { entry -> key == entry.name.lowercase() }
     }
 }
 
@@ -37,7 +37,7 @@
         val DEFAULT = WARNING
 
         fun resolveLogLevel(key: String): PartialLinkageLogLevel? =
-            values().firstOrNull { entry -> entry.name.equals(key, ignoreCase = true) }
+            entries.firstOrNull { entry -> entry.name.equals(key, ignoreCase = true) }
     }
 }
 
diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/irTypePredicates.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/irTypePredicates.kt
index 7088e6a..5992165 100644
--- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/irTypePredicates.kt
+++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/irTypePredicates.kt
@@ -74,23 +74,23 @@
 }
 
 private val idSignatureToPrimitiveType: Map<IdSignature.CommonSignature, PrimitiveType> =
-    PrimitiveType.values().associateBy {
+    PrimitiveType.entries.associateBy {
         getPublicSignature(StandardNames.BUILT_INS_PACKAGE_FQ_NAME, it.typeName.asString())
     }
 
 private val shortNameToPrimitiveType: Map<Name, PrimitiveType> =
-    PrimitiveType.values().associateBy(PrimitiveType::typeName)
+    PrimitiveType.entries.associateBy(PrimitiveType::typeName)
 
 private val idSignatureToUnsignedType: Map<IdSignature.CommonSignature, UnsignedType> =
-    UnsignedType.values().associateBy {
+    UnsignedType.entries.associateBy {
         getPublicSignature(StandardNames.BUILT_INS_PACKAGE_FQ_NAME, it.typeName.asString())
     }
 
 private val shortNameToUnsignedType: Map<Name, UnsignedType> =
-    UnsignedType.values().associateBy(UnsignedType::typeName)
+    UnsignedType.entries.associateBy(UnsignedType::typeName)
 
 val primitiveArrayTypesSignatures: Map<PrimitiveType, IdSignature.CommonSignature> =
-    PrimitiveType.values().associateWith {
+    PrimitiveType.entries.associateWith {
         getPublicSignature(StandardNames.BUILT_INS_PACKAGE_FQ_NAME, "${it.typeName.asString()}Array")
     }
 
diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IdSignature.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IdSignature.kt
index 1519f27..19e7600 100644
--- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IdSignature.kt
+++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IdSignature.kt
@@ -279,7 +279,7 @@
         val nameSegments: List<String> get() = declarationFqName.split('.')
 
         private fun adaptMask(old: Long): Long =
-            old xor Flags.values().fold(0L) { a, f ->
+            old xor Flags.entries.toTypedArray().fold(0L) { a, f ->
                 if (!f.recursive) a or (old and (1L shl f.ordinal))
                 else a
             }
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/linkage/partial/ClassifierExplorer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/linkage/partial/ClassifierExplorer.kt
index 4c61f75..c32baf3 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/linkage/partial/ClassifierExplorer.kt
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/linkage/partial/ClassifierExplorer.kt
@@ -48,12 +48,12 @@
         buildSet {
             this += permittedAnnotationArrayParameterSymbols
 
-            PrimitiveType.values().forEach {
+            PrimitiveType.entries.forEach {
                 addIfNotNull(builtIns.findClass(it.typeName, BUILT_INS_PACKAGE_FQ_NAME)) // kotlin.<primitive>
                 addIfNotNull(builtIns.findClass(it.arrayTypeName, BUILT_INS_PACKAGE_FQ_NAME)) // kotlin.<primitive>Array
             }
 
-            UnsignedType.values().forEach {
+            UnsignedType.entries.forEach {
                 addIfNotNull(builtIns.findClass(it.typeName, BUILT_INS_PACKAGE_FQ_NAME)) // kotlin.U<signed>
                 addIfNotNull(builtIns.findClass(it.arrayClassId.shortClassName, BUILT_INS_PACKAGE_FQ_NAME)) // kotlin.U<signed>Array
             }
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/encodings/BinarySymbolData.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/encodings/BinarySymbolData.kt
index 45284d5..8c87f24 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/encodings/BinarySymbolData.kt
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/encodings/BinarySymbolData.kt
@@ -30,7 +30,7 @@
 
     val signatureId: Int get() = (code ushr 8).toInt()
     val kind: SymbolKind
-        get() = SymbolKind.values()[symbolKindId()]
+        get() = SymbolKind.entries[symbolKindId()]
 
     companion object {
         fun encode(kind: SymbolKind, signatureId: Int): Long {
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/encodings/BinaryTypeProjection.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/encodings/BinaryTypeProjection.kt
index 32daa0e..ae65be9 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/encodings/BinaryTypeProjection.kt
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/encodings/BinaryTypeProjection.kt
@@ -17,7 +17,7 @@
     val variance: Variance
         get() {
             assert(!isStarProjection)
-            return Variance.values()[varianceId()]
+            return Variance.entries[varianceId()]
         }
 
     val typeIndex: Int get() = (code ushr 2).toInt()
diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtToJvmAnnotationsConverter.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtToJvmAnnotationsConverter.kt
index c29b7f4..3638825 100644
--- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtToJvmAnnotationsConverter.kt
+++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtToJvmAnnotationsConverter.kt
@@ -73,7 +73,7 @@
         put("kotlin.annotation.AnnotationTarget.TYPE_PARAMETER", EnumValue(javaAnnotationElementTypeId, Name.identifier("TYPE_PARAMETER")))
         put("kotlin.annotation.AnnotationTarget.TYPE", EnumValue(javaAnnotationElementTypeId, Name.identifier("TYPE_USE")))
     }
-    for (target in JvmTarget.values()) {
+    for (target in JvmTarget.entries) {
         result[target] = if (target >= JvmTarget.JVM_1_8) jdk8AndLater else jdk6
     }
 }
diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtConstantExpressionElementType.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtConstantExpressionElementType.kt
index d9e50b0..6dcc0a6 100644
--- a/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtConstantExpressionElementType.kt
+++ b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtConstantExpressionElementType.kt
@@ -53,7 +53,7 @@
         val kindOrdinal = dataStream.readInt()
         val value = dataStream.readName() ?: StringRef.fromString("")
 
-        val valueKind = ConstantValueKind.values()[kindOrdinal]
+        val valueKind = ConstantValueKind.entries[kindOrdinal]
 
         return KotlinConstantExpressionStubImpl(
             parentStub,
diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinConstantValue.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinConstantValue.kt
index 2540180..d133d2c 100644
--- a/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinConstantValue.kt
+++ b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinConstantValue.kt
@@ -24,7 +24,7 @@
 fun createConstantValue(dataStream: StubInputStream): ConstantValue<*>? {
     val kind = dataStream.readInt()
     if (kind == -1) return null
-    return when (KotlinConstantValueKind.values()[kind]) {
+    return when (KotlinConstantValueKind.entries[kind]) {
         KotlinConstantValueKind.NULL -> NullValue
         KotlinConstantValueKind.BOOLEAN -> BooleanValue(dataStream.readBoolean())
         KotlinConstantValueKind.CHAR -> CharValue(dataStream.readChar())
diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinContractEffectStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinContractEffectStubImpl.kt
index b113412..ad71760 100644
--- a/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinContractEffectStubImpl.kt
+++ b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinContractEffectStubImpl.kt
@@ -25,7 +25,7 @@
     CALLS {
         override fun deserialize(dataStream: StubInputStream): KtCallsEffectDeclaration<KotlinTypeBean, Nothing?> {
             val declaration = PARAMETER_REFERENCE.deserialize(dataStream)
-            val range = EventOccurrencesRange.values()[dataStream.readInt()]
+            val range = EventOccurrencesRange.entries[dataStream.readInt()]
             return KtCallsEffectDeclaration(declaration as KtValueParameterReference, range)
         }
     },
@@ -36,8 +36,8 @@
     },
     CONDITIONAL {
         override fun deserialize(dataStream: StubInputStream): KtContractDescriptionElement<KotlinTypeBean, Nothing?> {
-            val descriptionElement = values()[dataStream.readInt()].deserialize(dataStream)
-            val condition = values()[dataStream.readInt()].deserialize(dataStream)
+            val descriptionElement = entries[dataStream.readInt()].deserialize(dataStream)
+            val condition = entries[dataStream.readInt()].deserialize(dataStream)
             return KtConditionalEffectDeclaration(
                 descriptionElement as KtEffectDeclaration,
                 condition as KtBooleanExpression
@@ -63,14 +63,14 @@
     },
     NOT {
         override fun deserialize(dataStream: StubInputStream): KtContractDescriptionElement<KotlinTypeBean, Nothing?> {
-            return KtLogicalNot(values()[dataStream.readInt()].deserialize(dataStream) as KtBooleanExpression)
+            return KtLogicalNot(entries[dataStream.readInt()].deserialize(dataStream) as KtBooleanExpression)
         }
     },
     BOOLEAN_LOGIC {
         override fun deserialize(dataStream: StubInputStream): KtContractDescriptionElement<KotlinTypeBean, Nothing?> {
             val kind = if (dataStream.readBoolean()) LogicOperationKind.AND else LogicOperationKind.OR
-            val left = values()[dataStream.readInt()].deserialize(dataStream) as KtBooleanExpression
-            val right = values()[dataStream.readInt()].deserialize(dataStream) as KtBooleanExpression
+            val left = entries[dataStream.readInt()].deserialize(dataStream) as KtBooleanExpression
+            val right = entries[dataStream.readInt()].deserialize(dataStream) as KtBooleanExpression
             return KtBinaryLogicExpression(left, right, kind)
         }
     },
diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFunctionStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFunctionStubImpl.kt
index 92bb794..e482db0 100644
--- a/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFunctionStubImpl.kt
+++ b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFunctionStubImpl.kt
@@ -69,7 +69,7 @@
             val effects = mutableListOf<KtContractDescriptionElement<KotlinTypeBean, Nothing?>>()
             val count: Int = dataStream.readInt()
             for (i in 0..<count) {
-                val effectType: KotlinContractEffectType = KotlinContractEffectType.values()[dataStream.readInt()]
+                val effectType: KotlinContractEffectType = KotlinContractEffectType.entries[dataStream.readInt()]
                 effects.add(effectType.deserialize(dataStream))
             }
             return effects
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 bc9bd9b..b6ede1a 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
@@ -34,8 +34,8 @@
         val target = when {
             platformString == JVM -> JvmTarget.DEFAULT
             !platformString.startsWith(JDK) -> return null
-            else -> JvmTarget.values().find { it.name == platformString }
-                ?: error("JvmTarget \"$platformString\" not found.\nAvailable targets: ${JvmTarget.values().joinToArrayString()}")
+            else -> JvmTarget.entries.find { it.name == platformString }
+                ?: error("JvmTarget \"$platformString\" not found.\nAvailable targets: ${JvmTarget.entries.toTypedArray().joinToArrayString()}")
         }
         return JdkPlatform(target)
     }
diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/TestExceptionsComparator.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/TestExceptionsComparator.kt
index 8909fd7..521d1c6 100644
--- a/compiler/tests-common/tests/org/jetbrains/kotlin/TestExceptionsComparator.kt
+++ b/compiler/tests-common/tests/org/jetbrains/kotlin/TestExceptionsComparator.kt
@@ -61,7 +61,7 @@
     }
 
     private fun validateExistingExceptionFiles(e: TestsError?) {
-        val postfixesOfFilesToCheck = TestsExceptionType.values().toMutableSet().filter { it != e?.type }
+        val postfixesOfFilesToCheck = TestsExceptionType.entries.toTypedArray().toMutableSet().filter { it != e?.type }
 
         postfixesOfFilesToCheck.forEach {
             if (File("$filePathPrefix.${it.postfix}.txt").exists())
diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CompilerTestLanguageVersionSettings.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CompilerTestLanguageVersionSettings.kt
index 7e0d8fc..b6887fa 100644
--- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CompilerTestLanguageVersionSettings.kt
+++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CompilerTestLanguageVersionSettings.kt
@@ -138,7 +138,7 @@
         val name = matcher.group(2)
         val feature = LanguageFeature.fromString(name) ?: throw AssertionError(
                 "Language feature not found, please check spelling: $name\n" +
-                "Known features:\n    ${LanguageFeature.values().joinToString("\n    ")}"
+                "Known features:\n    ${LanguageFeature.entries.joinToString("\n    ")}"
         )
         if (values.put(feature, mode) != null) {
             Assert.fail("Duplicate entry for the language feature: $name")
diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractLazyBodyIsNotTouchedTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractLazyBodyIsNotTouchedTest.kt
index 92dbcc2..259e08f 100644
--- a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractLazyBodyIsNotTouchedTest.kt
+++ b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractLazyBodyIsNotTouchedTest.kt
@@ -15,7 +15,7 @@
     override val useLazyBodiesModeForRawFir: Boolean get() = true
 
     override fun runAnalysis(testDataFile: File, testFiles: List<TestFile>, firFilesPerSession: Map<FirSession, List<FirFile>>) {
-        val phases = FirResolvePhase.values()
+        val phases = FirResolvePhase.entries.toTypedArray()
             .dropWhile { it <= FirResolvePhase.RAW_FIR }
             .filterNot { it == FirResolvePhase.COMPILER_REQUIRED_ANNOTATIONS }
             .takeWhile { it < FirResolvePhase.ARGUMENTS_OF_ANNOTATIONS }
diff --git a/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/TestsError.kt b/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/TestsError.kt
index b4041a6..9dee80e 100644
--- a/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/TestsError.kt
+++ b/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/TestsError.kt
@@ -15,7 +15,7 @@
     INFRASTRUCTURE_ERROR("infrastructure");
 
     companion object {
-        private val map = values().associateBy(TestsExceptionType::postfix)
+        private val map = entries.associateBy(TestsExceptionType::postfix)
 
         fun fromValue(type: String) = map[type]
     }
diff --git a/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/TestModel.kt b/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/TestModel.kt
index ff51895..b49f898 100644
--- a/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/TestModel.kt
+++ b/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/TestModel.kt
@@ -251,7 +251,7 @@
 
             fun getOpArgs() = line.substring(opIndex + 1).splitAndTrim()
 
-            val expectedState = DirtyFileState.values().find { it.str == op }
+            val expectedState = DirtyFileState.entries.find { it.str == op }
             if (expectedState != null) {
                 expectedFileStats[expectedState.str] = getOpArgs().toSet()
             } else {
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 6c94f84..9a42cb2 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
@@ -26,7 +26,7 @@
         fun getTestFiles(): Stream<String> {
             val testFiles = mutableListOf<String>()
 
-            TestArea.values().forEach { testArea ->
+            TestArea.entries.forEach { testArea ->
                 val testDataPath =
                     "${GeneralConfiguration.SPEC_TESTDATA_PATH}/${testArea.testDataPath}/${SpecTestLinkedType.LINKED.testDataPath}"
 
diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/Common.kt b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/Common.kt
index 2ad8f2a..5ec5f92 100644
--- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/Common.kt
+++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/Common.kt
@@ -27,8 +27,8 @@
     NEGATIVE("neg");
 
     companion object {
-        private val map = values().associateBy(TestType::type)
-        val joinedValues = values().joinToString("|").withSpaces()
+        private val map = entries.associateBy(TestType::type)
+        val joinedValues = entries.joinToString("|").withSpaces()
 
         fun fromValue(type: String) = map[type]
     }
@@ -51,7 +51,7 @@
     CODEGEN_BOX("codegen/box");
 
     companion object {
-        val joinedValues = values().joinToString("|").withSpaces()
+        val joinedValues = entries.joinToString("|").withSpaces()
     }
 }
 
@@ -63,12 +63,12 @@
     LINKED(
         "linked",
         lazy { LinkedSpecTestPatterns },
-        lazy { LinkedSpecTestFileInfoElementType.values() }
+        lazy { LinkedSpecTestFileInfoElementType.entries.toTypedArray() }
     ),
     NOT_LINKED(
         "notLinked",
         lazy { NotLinkedSpecTestPatterns },
-        lazy { NotLinkedSpecTestFileInfoElementType.values() }
+        lazy { NotLinkedSpecTestFileInfoElementType.entries.toTypedArray() }
     )
 }
 
diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/SectionsJsonMapGenerator.kt b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/SectionsJsonMapGenerator.kt
index 03789cd..2526e4f 100644
--- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/SectionsJsonMapGenerator.kt
+++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/SectionsJsonMapGenerator.kt
@@ -56,7 +56,7 @@
     ) {
         companion object {
             private fun identifyTestArea(path: String): TestArea {
-                TestArea.values().forEach {
+                TestArea.entries.forEach {
                     if (path.startsWith(it.testDataPath)) return it
                 }
                 throw IllegalArgumentException("testsMap path doesn't contain test area path")
diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/TestsJsonMapGenerator.kt b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/TestsJsonMapGenerator.kt
index dda6f1c..dda1f5e 100644
--- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/TestsJsonMapGenerator.kt
+++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/TestsJsonMapGenerator.kt
@@ -66,7 +66,7 @@
         testOrigin: TestOrigin,
     ) {
         val isImplementationTest = testOrigin == TestOrigin.IMPLEMENTATION
-        TestArea.values().forEach { testArea ->
+        TestArea.entries.forEach { testArea ->
             File(testOrigin.getFilePath(testArea)).walkTopDown()
                 .forEach testFiles@{ file ->
                     if (!file.isFile || file.extension != "kt" || file.isCustomTestData) return@testFiles
diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/TestsStatisticCollector.kt b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/TestsStatisticCollector.kt
index 53b294c..1c6c502 100644
--- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/TestsStatisticCollector.kt
+++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/TestsStatisticCollector.kt
@@ -42,7 +42,7 @@
     fun collect(testLinkedType: SpecTestLinkedType): Map<TestArea, SpecTestsStatElement> {
         val statistic = mutableMapOf<TestArea, SpecTestsStatElement>()
 
-        for (specTestArea in TestArea.values()) {
+        for (specTestArea in TestArea.entries) {
             val specTestsPath = "$SPEC_TESTDATA_PATH/${specTestArea.name.lowercase().replace("_", "/")}/${testLinkedType.testDataPath}"
 
             statistic[specTestArea] =
diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/parsers/TestCasesParser.kt b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/parsers/TestCasesParser.kt
index 217d6a1..d37578e 100644
--- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/parsers/TestCasesParser.kt
+++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/parsers/TestCasesParser.kt
@@ -72,7 +72,7 @@
 
         while (matcher.find(startFind)) {
             val caseInfoElements = CommonParser.parseTestInfoElements(
-                arrayOf(*CommonInfoElementType.values(), *SpecTestCaseInfoElementType.values()),
+                arrayOf(*CommonInfoElementType.entries.toTypedArray(), *SpecTestCaseInfoElementType.entries.toTypedArray()),
                 matcher.group("infoElementsSL") ?: matcher.group("infoElementsML")
             )
             val nextDirective = matcher.group("nextDirectiveSL") ?: matcher.group("nextDirectiveML")
diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/parsers/TestInfoParser.kt b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/parsers/TestInfoParser.kt
index 4563fda..4ce2c22 100644
--- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/parsers/TestInfoParser.kt
+++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/utils/parsers/TestInfoParser.kt
@@ -43,7 +43,7 @@
         throw SpecTestValidationException(SpecTestValidationFailedReason.TESTINFO_NOT_VALID)
 
     val testInfoElements = CommonParser.parseTestInfoElements(
-        arrayOf(*CommonInfoElementType.values(), *CommonSpecTestFileInfoElementType.values(), *linkedTestType.infoElements.value),
+        arrayOf(*CommonInfoElementType.entries.toTypedArray(), *CommonSpecTestFileInfoElementType.entries.toTypedArray(), *linkedTestType.infoElements.value),
         testInfoByContentMatcher.group("infoElements")
     )
     val helpers = testInfoElements[CommonSpecTestFileInfoElementType.HELPERS]?.content?.splitByComma()?.toSet()
@@ -73,7 +73,7 @@
 
     val testInfoElements = CommonParser.parseTestInfoElements(
         arrayOf(
-            *CommonInfoElementType.values(),
+            *CommonInfoElementType.entries.toTypedArray(),
             *linkedTestType.infoElements.value
         ),
         testInfoByContentMatcher.group("infoElements")
diff --git a/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateInRangeExpressionTestData.kt b/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateInRangeExpressionTestData.kt
index cd49ba8..e1ca07dc 100644
--- a/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateInRangeExpressionTestData.kt
+++ b/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateInRangeExpressionTestData.kt
@@ -147,7 +147,7 @@
 
         val unsignedNumbers = numbers.drop(1).map { it + "u" }
 
-        val allFunctions = Function.values().toList()
+        val allFunctions = entries
         val rangeFunctions = allFunctions - DOWN_TO
 
         generateRangeOperatorTestCases("char", allFunctions, "'1'" to "'3'", charLiterals)
diff --git a/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateSteppedRangesCodegenTestData.kt b/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateSteppedRangesCodegenTestData.kt
index b3266c1..12efac4 100644
--- a/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateSteppedRangesCodegenTestData.kt
+++ b/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateSteppedRangesCodegenTestData.kt
@@ -150,7 +150,7 @@
         function: Function,
         extraCode: String? = null,
         subdir: String? = null
-    ) = generateTestsForFunction(fileName, Type.values().associate { it to builder }, function, extraCode, subdir)
+    ) = generateTestsForFunction(fileName, Type.entries.associate { it to builder }, function, extraCode, subdir)
 
     private fun generateTestsForFunction(
         fileName: String,
diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.kt b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.kt
index 155b023..ccfc230 100644
--- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.kt
+++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.kt
@@ -120,7 +120,7 @@
     ) {
         // Compiles the library with some non-stable language version, then compiles a usage of this library with stable LV.
         // If there's no non-stable language version yet, the test does nothing.
-        val someNonStableVersion = LanguageVersion.values().firstOrNull { it > LanguageVersion.LATEST_STABLE } ?: return
+        val someNonStableVersion = LanguageVersion.entries.firstOrNull { it > LanguageVersion.LATEST_STABLE } ?: return
 
         val libraryOptions = listOf(
             "-language-version", someNonStableVersion.versionString,
@@ -401,7 +401,7 @@
     }
 
     fun testMetadataVersionDerivedFromLanguage() {
-        for (languageVersion in LanguageVersion.values()) {
+        for (languageVersion in LanguageVersion.entries) {
             if (languageVersion.isUnsupported) continue
 
             compileKotlin(
diff --git a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibMetadataDeserializedPackageFragmentsFactoryImpl.kt b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibMetadataDeserializedPackageFragmentsFactoryImpl.kt
index df7d840..143dcc3 100644
--- a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibMetadataDeserializedPackageFragmentsFactoryImpl.kt
+++ b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibMetadataDeserializedPackageFragmentsFactoryImpl.kt
@@ -84,7 +84,7 @@
         val aliasedPackageFragments = deserializedPackageFragments.filter { it.fqName == mainPackageFqName }
 
         val result = mutableListOf<PackageFragmentDescriptor>()
-        ExportedForwardDeclarationChecker.values().mapTo(result) { checker ->
+        ExportedForwardDeclarationChecker.entries.mapTo(result) { checker ->
             ClassifierAliasingPackageFragmentDescriptor(aliasedPackageFragments, moduleDescriptor, checker)
         }
 
diff --git a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibResolvedModuleDescriptorsFactoryImpl.kt b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibResolvedModuleDescriptorsFactoryImpl.kt
index b5cc8c4..7d1530d 100644
--- a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibResolvedModuleDescriptorsFactoryImpl.kt
+++ b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibResolvedModuleDescriptorsFactoryImpl.kt
@@ -132,7 +132,7 @@
             )
 
         val packageFragmentProvider = PackageFragmentProviderImpl(
-            ForwardDeclarationKind.values().map { createPackage(it) }
+            ForwardDeclarationKind.entries.map { createPackage(it) }
         )
 
         module.initialize(packageFragmentProvider)
@@ -243,6 +243,6 @@
     val superClassId = ClassId.topLevel(ForwardDeclarationsFqNames.cInterop.child(Name.identifier(superClassName)))
 
     companion object {
-        val packageFqNameToKind: Map<FqName, ForwardDeclarationKind> = ForwardDeclarationKind.values().associateBy { it.packageFqName }
+        val packageFqNameToKind: Map<FqName, ForwardDeclarationKind> = entries.associateBy { it.packageFqName }
     }
 }
\ No newline at end of file
diff --git a/compiler/util/src/org/jetbrains/kotlin/config/ApiVersion.kt b/compiler/util/src/org/jetbrains/kotlin/config/ApiVersion.kt
index cdd15a3..ba71666 100644
--- a/compiler/util/src/org/jetbrains/kotlin/config/ApiVersion.kt
+++ b/compiler/util/src/org/jetbrains/kotlin/config/ApiVersion.kt
@@ -70,7 +70,7 @@
         val KOTLIN_2_1 = createByLanguageVersion(LanguageVersion.KOTLIN_2_1)
 
         @JvmField
-        val LATEST: ApiVersion = createByLanguageVersion(LanguageVersion.values().last())
+        val LATEST: ApiVersion = createByLanguageVersion(LanguageVersion.entries.last())
 
         @JvmField
         val LATEST_STABLE: ApiVersion = createByLanguageVersion(LanguageVersion.LATEST_STABLE)
diff --git a/compiler/util/src/org/jetbrains/kotlin/config/ExplicitApiMode.kt b/compiler/util/src/org/jetbrains/kotlin/config/ExplicitApiMode.kt
index 0abd538..cd8e37a 100644
--- a/compiler/util/src/org/jetbrains/kotlin/config/ExplicitApiMode.kt
+++ b/compiler/util/src/org/jetbrains/kotlin/config/ExplicitApiMode.kt
@@ -11,8 +11,8 @@
     WARNING("warning");
 
     companion object {
-        fun fromString(string: String): ExplicitApiMode? = values().find { it.state == string }
+        fun fromString(string: String): ExplicitApiMode? = entries.find { it.state == string }
 
-        fun availableValues() = values().joinToString(prefix = "{", postfix = "}") { it.state }
+        fun availableValues() = entries.joinToString(prefix = "{", postfix = "}") { it.state }
     }
 }
diff --git a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt
index e83a7b7..95294ff 100644
--- a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt
+++ b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt
@@ -426,7 +426,7 @@
 
     companion object {
         @JvmStatic
-        fun fromString(str: String) = values().find { it.name == str }
+        fun fromString(str: String) = entries.find { it.name == str }
     }
 }
 
@@ -464,7 +464,7 @@
 
     companion object {
         @JvmStatic
-        fun fromVersionString(str: String?) = values().find { it.versionString == str }
+        fun fromVersionString(str: String?) = entries.find { it.versionString == str }
 
         @JvmStatic
         fun fromFullVersionString(str: String) =
diff --git a/core/compiler.common.jvm/src/org/jetbrains/kotlin/builtins/jvm/JavaToKotlinClassMap.kt b/core/compiler.common.jvm/src/org/jetbrains/kotlin/builtins/jvm/JavaToKotlinClassMap.kt
index 42ad66c..c7a3fd4 100644
--- a/core/compiler.common.jvm/src/org/jetbrains/kotlin/builtins/jvm/JavaToKotlinClassMap.kt
+++ b/core/compiler.common.jvm/src/org/jetbrains/kotlin/builtins/jvm/JavaToKotlinClassMap.kt
@@ -78,7 +78,7 @@
             addMapping(platformCollection)
         }
 
-        for (jvmType in JvmPrimitiveType.values()) {
+        for (jvmType in JvmPrimitiveType.entries) {
             add(
                 ClassId.topLevel(jvmType.wrapperFqName),
                 ClassId.topLevel(StandardNames.getPrimitiveFqName(jvmType.primitiveType))
diff --git a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/AbstractAnnotationTypeQualifierResolver.kt b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/AbstractAnnotationTypeQualifierResolver.kt
index 56766be..8d686ca 100644
--- a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/AbstractAnnotationTypeQualifierResolver.kt
+++ b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/AbstractAnnotationTypeQualifierResolver.kt
@@ -69,7 +69,7 @@
     // They are not applicable for type parameter bounds because it would be a breaking change otherwise.
     private fun Set<AnnotationQualifierApplicabilityType>.allIfTypeUse(): Set<AnnotationQualifierApplicabilityType> =
         if (AnnotationQualifierApplicabilityType.TYPE_USE in this)
-            AnnotationQualifierApplicabilityType.values().toSet() - AnnotationQualifierApplicabilityType.TYPE_PARAMETER_BOUNDS + this
+            AnnotationQualifierApplicabilityType.entries.toSet() - AnnotationQualifierApplicabilityType.TYPE_PARAMETER_BOUNDS + this
         else
             this
 
@@ -204,7 +204,7 @@
 
     private companion object {
         val JAVA_APPLICABILITY_TYPES = mutableMapOf<String, AnnotationQualifierApplicabilityType>().apply {
-            for (type in AnnotationQualifierApplicabilityType.values()) {
+            for (type in AnnotationQualifierApplicabilityType.entries) {
                 getOrPut(type.javaTarget) { type }
             }
         }
diff --git a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/ReportLevel.kt b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/ReportLevel.kt
index 072581a..9c04fa6 100644
--- a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/ReportLevel.kt
+++ b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/ReportLevel.kt
@@ -12,7 +12,7 @@
     ;
 
     companion object {
-        fun findByDescription(description: String?): ReportLevel? = values().firstOrNull { it.description == description }
+        fun findByDescription(description: String?): ReportLevel? = entries.firstOrNull { it.description == description }
     }
 
     val isWarning: Boolean get() = this == WARN
diff --git a/core/compiler.common/src/org/jetbrains/kotlin/builtins/StandardNames.kt b/core/compiler.common/src/org/jetbrains/kotlin/builtins/StandardNames.kt
index 5e7fe39..b05ee98 100644
--- a/core/compiler.common/src/org/jetbrains/kotlin/builtins/StandardNames.kt
+++ b/core/compiler.common/src/org/jetbrains/kotlin/builtins/StandardNames.kt
@@ -189,24 +189,24 @@
         @JvmField val uIntArrayFqName: FqName = fqName("UIntArray")
         @JvmField val uLongArrayFqName: FqName = fqName("ULongArray")
 
-        @JvmField val primitiveTypeShortNames: Set<Name> = newHashSetWithExpectedSize<Name>(PrimitiveType.values().size).apply {
-            PrimitiveType.values().mapTo(this) { it.typeName }
+        @JvmField val primitiveTypeShortNames: Set<Name> = newHashSetWithExpectedSize<Name>(PrimitiveType.entries.size).apply {
+            PrimitiveType.entries.mapTo(this) { it.typeName }
         }
 
-        @JvmField val primitiveArrayTypeShortNames: Set<Name> = newHashSetWithExpectedSize<Name>(PrimitiveType.values().size).apply {
-            PrimitiveType.values().mapTo(this) { it.arrayTypeName }
+        @JvmField val primitiveArrayTypeShortNames: Set<Name> = newHashSetWithExpectedSize<Name>(PrimitiveType.entries.size).apply {
+            PrimitiveType.entries.mapTo(this) { it.arrayTypeName }
         }
 
         @JvmField val fqNameToPrimitiveType: Map<FqNameUnsafe, PrimitiveType> =
-            newHashMapWithExpectedSize<FqNameUnsafe, PrimitiveType>(PrimitiveType.values().size).apply {
-                for (primitiveType in PrimitiveType.values()) {
+            newHashMapWithExpectedSize<FqNameUnsafe, PrimitiveType>(PrimitiveType.entries.size).apply {
+                for (primitiveType in PrimitiveType.entries) {
                     this[fqNameUnsafe(primitiveType.typeName.asString())] = primitiveType
                 }
             }
 
         @JvmField val arrayClassFqNameToPrimitiveType: MutableMap<FqNameUnsafe, PrimitiveType> =
-            newHashMapWithExpectedSize<FqNameUnsafe, PrimitiveType>(PrimitiveType.values().size).apply {
-                for (primitiveType in PrimitiveType.values()) {
+            newHashMapWithExpectedSize<FqNameUnsafe, PrimitiveType>(PrimitiveType.entries.size).apply {
+                for (primitiveType in PrimitiveType.entries) {
                     this[fqNameUnsafe(primitiveType.arrayTypeName.asString())] = primitiveType
                 }
             }
diff --git a/core/compiler.common/src/org/jetbrains/kotlin/descriptors/annotations/KotlinTarget.kt b/core/compiler.common/src/org/jetbrains/kotlin/descriptors/annotations/KotlinTarget.kt
index 61bf33b..7dcd267 100644
--- a/core/compiler.common/src/org/jetbrains/kotlin/descriptors/annotations/KotlinTarget.kt
+++ b/core/compiler.common/src/org/jetbrains/kotlin/descriptors/annotations/KotlinTarget.kt
@@ -71,15 +71,15 @@
         private val map = HashMap<String, KotlinTarget>()
 
         init {
-            for (target in values()) {
+            for (target in entries) {
                 map[target.name] = target
             }
         }
 
         fun valueOrNull(name: String): KotlinTarget? = map[name]
 
-        val DEFAULT_TARGET_SET: Set<KotlinTarget> = values().filter { it.isDefault }.toSet()
-        val ALL_TARGET_SET: Set<KotlinTarget> = values().toSet()
+        val DEFAULT_TARGET_SET: Set<KotlinTarget> = entries.filter { it.isDefault }.toSet()
+        val ALL_TARGET_SET: Set<KotlinTarget> = entries.toSet()
 
         val ANNOTATION_CLASS_LIST = listOf(ANNOTATION_CLASS, CLASS)
         val LOCAL_CLASS_LIST = listOf(LOCAL_CLASS, CLASS)
diff --git a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/kotlin/methodSignatureMapping.kt b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/kotlin/methodSignatureMapping.kt
index bd64253..abdfcc3 100644
--- a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/kotlin/methodSignatureMapping.kt
+++ b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/kotlin/methodSignatureMapping.kt
@@ -141,7 +141,7 @@
         assert(representation.isNotEmpty()) { "empty string as JvmType" }
         val firstChar = representation[0]
 
-        JvmPrimitiveType.values().firstOrNull { it.desc[0] == firstChar }?.let {
+        JvmPrimitiveType.entries.firstOrNull { it.desc[0] == firstChar }?.let {
             return JvmType.Primitive(it)
         }
 
diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/UnsignedType.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/UnsignedType.kt
index 1d2c41e..8df6d86 100644
--- a/core/descriptors/src/org/jetbrains/kotlin/builtins/UnsignedType.kt
+++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/UnsignedType.kt
@@ -44,10 +44,10 @@
         UnsignedArrayType.ULONGARRAY to Name.identifier("ulongArrayOf"),
     )
 
-    private val arrayClassesShortNames: Set<Name> = UnsignedType.values().mapTo(mutableSetOf()) { it.arrayClassId.shortClassName }
+    private val arrayClassesShortNames: Set<Name> = UnsignedType.entries.mapTo(mutableSetOf()) { it.arrayClassId.shortClassName }
 
     init {
-        for (unsignedType in UnsignedType.values()) {
+        for (unsignedType in UnsignedType.entries) {
             arrayClassIdToUnsignedClassId[unsignedType.arrayClassId] = unsignedType.classId
             unsignedClassIdToArrayClassId[unsignedType.classId] = unsignedType.arrayClassId
         }
diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRenderer.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRenderer.kt
index 9acc99c..149c5f3 100644
--- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRenderer.kt
+++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRenderer.kt
@@ -311,9 +311,9 @@
 
     companion object {
         @JvmField
-        val ALL_EXCEPT_ANNOTATIONS = values().filter { it.includeByDefault }.toSet()
+        val ALL_EXCEPT_ANNOTATIONS = entries.filter { it.includeByDefault }.toSet()
 
         @JvmField
-        val ALL = values().toSet()
+        val ALL = entries.toSet()
     }
 }
diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt
index ce0bb9c..a98bfa2 100644
--- a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt
+++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt
@@ -226,7 +226,7 @@
     val retentionArgumentValue = allValueArguments[RETENTION_PARAMETER_NAME] as? EnumValue ?: return null
 
     val retentionArgumentValueName = retentionArgumentValue.enumEntryName.asString()
-    return KotlinRetention.values().firstOrNull { it.name == retentionArgumentValueName }
+    return KotlinRetention.entries.firstOrNull { it.name == retentionArgumentValueName }
 }
 
 val Annotated.nonSourceAnnotations: List<AnnotationDescriptor>
diff --git a/core/deserialization.common.jvm/src/org/jetbrains/kotlin/load/kotlin/header/KotlinClassHeader.kt b/core/deserialization.common.jvm/src/org/jetbrains/kotlin/load/kotlin/header/KotlinClassHeader.kt
index f0cf70f..ff64cad 100644
--- a/core/deserialization.common.jvm/src/org/jetbrains/kotlin/load/kotlin/header/KotlinClassHeader.kt
+++ b/core/deserialization.common.jvm/src/org/jetbrains/kotlin/load/kotlin/header/KotlinClassHeader.kt
@@ -31,7 +31,7 @@
         MULTIFILE_CLASS_PART(5);
 
         companion object {
-            private val entryById = values().associateBy(Kind::id)
+            private val entryById = entries.associateBy(Kind::id)
 
             @JvmStatic
             fun getById(id: Int) = entryById[id] ?: UNKNOWN
diff --git a/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/dsl/AnalysisApiConfiguratorFactoryProvider.kt b/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/dsl/AnalysisApiConfiguratorFactoryProvider.kt
index 63e5421..e217d60 100644
--- a/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/dsl/AnalysisApiConfiguratorFactoryProvider.kt
+++ b/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/dsl/AnalysisApiConfiguratorFactoryProvider.kt
@@ -40,10 +40,10 @@
     }
 
     val allPossibleFactoryDataList: List<AnalysisApiTestConfiguratorFactoryData> = buildList {
-        FrontendKind.values().forEach { frontend ->
-            TestModuleKind.values().forEach { moduleKind ->
-                AnalysisSessionMode.values().forEach { analysisSessionMode ->
-                    AnalysisApiMode.values().forEach { analysisApiMode ->
+        FrontendKind.entries.forEach { frontend ->
+            TestModuleKind.entries.forEach { moduleKind ->
+                AnalysisSessionMode.entries.forEach { analysisSessionMode ->
+                    AnalysisApiMode.entries.forEach { analysisApiMode ->
                         add(AnalysisApiTestConfiguratorFactoryData(frontend, moduleKind, analysisSessionMode, analysisApiMode))
                     }
                 }
diff --git a/generators/interpreter/GenerateInterpreterMap.kt b/generators/interpreter/GenerateInterpreterMap.kt
index 625261f..1fdc1c6 100644
--- a/generators/interpreter/GenerateInterpreterMap.kt
+++ b/generators/interpreter/GenerateInterpreterMap.kt
@@ -196,8 +196,8 @@
 private fun getOperationMap(argumentsCount: Int): MutableList<Operation> {
     val builtIns = DefaultBuiltIns.Instance
     val operationMap = mutableListOf<Operation>()
-    val allPrimitiveTypes = PrimitiveType.values().map { builtIns.getBuiltInClassByFqName(it.typeFqName) }
-    val arrays = PrimitiveType.values().map { builtIns.getPrimitiveArrayClassDescriptor(it) } + builtIns.array
+    val allPrimitiveTypes = PrimitiveType.entries.map { builtIns.getBuiltInClassByFqName(it.typeFqName) }
+    val arrays = PrimitiveType.entries.map { builtIns.getPrimitiveArrayClassDescriptor(it) } + builtIns.array
     val additionalBuiltIns = listOf(
         builtIns.string, builtIns.any, builtIns.charSequence, builtIns.number, builtIns.comparable, builtIns.throwable
     )
@@ -282,7 +282,7 @@
 // Probably can be dropped after KT-57344 fix
 private fun getAdditionalEqualsOperationMap(): List<Operation> {
     val builtIns = DefaultBuiltIns.Instance
-    return PrimitiveType.values().map { builtIns.getBuiltInClassByFqName(it.typeFqName) }.map {
+    return PrimitiveType.entries.map { builtIns.getBuiltInClassByFqName(it.typeFqName) }.map {
         val type = it.defaultType.constructor.toString()
         Operation("equals", listOf(type, type), isFunction = true)
     }
diff --git a/generators/nativeInteropRuntime/NativeInteropRuntimeGenerator.kt b/generators/nativeInteropRuntime/NativeInteropRuntimeGenerator.kt
index cc86faa..78ba200 100644
--- a/generators/nativeInteropRuntime/NativeInteropRuntimeGenerator.kt
+++ b/generators/nativeInteropRuntime/NativeInteropRuntimeGenerator.kt
@@ -42,7 +42,7 @@
     FileWriter(targetDir.resolve("_UtilsGenerated.kt")).use { writer ->
         writer.generateHeader()
 
-        for (type in PrimitiveInteropType.values()) {
+        for (type in PrimitiveInteropType.entries) {
             writer.generateAllocWithValue(type)
             writer.appendLine()
         }
diff --git a/generators/tests/org/jetbrains/kotlin/generators/arguments/DefaultValues.kt b/generators/tests/org/jetbrains/kotlin/generators/arguments/DefaultValues.kt
index 961ff1a..5d2aed4 100644
--- a/generators/tests/org/jetbrains/kotlin/generators/arguments/DefaultValues.kt
+++ b/generators/tests/org/jetbrains/kotlin/generators/arguments/DefaultValues.kt
@@ -50,7 +50,7 @@
         "null",
         typeOf<KotlinVersionDsl?>(),
         typeOf<String?>(),
-        possibleValues = LanguageVersion.values()
+        possibleValues = LanguageVersion.entries
             .filterNot { it.isUnsupported }
             .map { "\"${it.description}\"" },
         fromKotlinOptionConverterProp = """
@@ -65,7 +65,7 @@
         "null",
         typeOf<KotlinVersionDsl?>(),
         typeOf<String?>(),
-        possibleValues = LanguageVersion.values()
+        possibleValues = LanguageVersion.entries
             .map(ApiVersion.Companion::createByLanguageVersion)
             .filterNot { it.isUnsupported }
             .map { "\"${it.description}\"" },
diff --git a/generators/tests/org/jetbrains/kotlin/generators/arguments/kotlinVersionGenerator.kt b/generators/tests/org/jetbrains/kotlin/generators/arguments/kotlinVersionGenerator.kt
index e7659bf..43f4923 100644
--- a/generators/tests/org/jetbrains/kotlin/generators/arguments/kotlinVersionGenerator.kt
+++ b/generators/tests/org/jetbrains/kotlin/generators/arguments/kotlinVersionGenerator.kt
@@ -21,7 +21,7 @@
     val kotlinVersionFqName = FqName("org.jetbrains.kotlin.gradle.dsl.KotlinVersion")
     filePrinter(fileFromFqName(apiDir, kotlinVersionFqName)) {
         generateDeclaration("enum class", kotlinVersionFqName, afterType = "(val version: String)") {
-            for (languageVersion in LanguageVersion.values()) {
+            for (languageVersion in LanguageVersion.entries) {
                 val prefix = when {
                     languageVersion.isUnsupported -> "@Deprecated(\"Unsupported\", level = DeprecationLevel.ERROR) "
                     languageVersion.isDeprecated -> "@Deprecated(\"Will be removed soon\") "
diff --git a/generators/wasm/WasmIntrinsicGenerator.kt b/generators/wasm/WasmIntrinsicGenerator.kt
index a13b6f7..74a1f82 100644
--- a/generators/wasm/WasmIntrinsicGenerator.kt
+++ b/generators/wasm/WasmIntrinsicGenerator.kt
@@ -39,7 +39,7 @@
                 companion object {
             """.trimIndent()
         )
-        WasmOp.values().forEach { op ->
+        WasmOp.entries.forEach { op ->
             writer.appendLine("        const val $op = \"$op\"")
         }
         writer.appendLine(
diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/converters/JsIrBackendFacade.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/converters/JsIrBackendFacade.kt
index 5d1d0f2..7ec948e 100644
--- a/js/js.tests/test/org/jetbrains/kotlin/js/test/converters/JsIrBackendFacade.kt
+++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/converters/JsIrBackendFacade.kt
@@ -188,7 +188,7 @@
         // If runIrDce then include DCE results
         // If perModuleOnly then skip whole program
         // (it.dce => runIrDce) && (perModuleOnly => it.perModule)
-        val translationModes = TranslationMode.values()
+        val translationModes = TranslationMode.entries
             .filter { (it.production || !onlyIrDce) && (!it.production || runIrDce) && (!perModuleOnly || it.perModule) }
             .filter { it.production == it.minimizedMemberNames }
             .toSet()
diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/ArrayFIF.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/ArrayFIF.kt
index cad1849..b74e6e0 100644
--- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/ArrayFIF.kt
+++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/ArrayFIF.kt
@@ -144,14 +144,14 @@
         val arrayName = StandardNames.FqNames.array.shortName()
 
         val arrayTypeNames = mutableListOf(arrayName)
-        PrimitiveType.values().mapTo(arrayTypeNames) { it.arrayTypeName }
+        entries.mapTo(arrayTypeNames) { it.arrayTypeName }
 
         val arrays = NamePredicate(arrayTypeNames)
         add(pattern(arrays, "get"), GET_INTRINSIC)
         add(pattern(arrays, "set"), SET_INTRINSIC)
         add(pattern(arrays, "<get-size>"), LENGTH_PROPERTY_INTRINSIC)
 
-        for (type in PrimitiveType.values()) {
+        for (type in entries) {
             add(pattern(NamePredicate(type.arrayTypeName), "<init>(Int)"), intrinsify { _, arguments, context ->
                 assert(arguments.size == 1) { "Array <init>(Int) expression must have one argument." }
                 val (size) = arguments
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalStructureOptOutIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalStructureOptOutIT.kt
index 50e06f9..cd35f08 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalStructureOptOutIT.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalStructureOptOutIT.kt
@@ -22,7 +22,7 @@
     companion object {
         @Parameterized.Parameters(name = "{0}")
         @JvmStatic
-        fun params() = Mode.values().map { arrayOf(it) }
+        fun params() = entries.map { arrayOf(it) }
     }
 
     @Parameterized.Parameter(0)
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidMppIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidMppIT.kt
index 428edee..d9cf346 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidMppIT.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidMppIT.kt
@@ -895,7 +895,7 @@
             .map { it.toString() }
 
         checkedConsumerAGPVersions.forEach { consumerAgpVersion ->
-            val agpTestVersion = TestVersions.AgpCompatibilityMatrix.values().find { it.version == consumerAgpVersion }
+            val agpTestVersion = TestVersions.AgpCompatibilityMatrix.entries.find { it.version == consumerAgpVersion }
                 ?: fail("AGP version $consumerAgpVersion is not defined in TestVersions.AGP!")
             val consumerGradleVersion = when {
                 gradleVersion < agpTestVersion.minSupportedGradleVersion -> agpTestVersion.minSupportedGradleVersion
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/argumentProviders.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/argumentProviders.kt
index 644147d..7184f82 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/argumentProviders.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/argumentProviders.kt
@@ -166,7 +166,7 @@
 
         return agpVersions
             .flatMap { version ->
-                val agpVersion = TestVersions.AgpCompatibilityMatrix.values().find { it.version == version }
+                val agpVersion = TestVersions.AgpCompatibilityMatrix.entries.find { it.version == version }
                     ?: throw IllegalArgumentException("AGP version $version is not defined in TestVersions.AGP!")
 
                 val providedJdk = JdkVersions.ProvidedJdk(
diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/CliLoggerAdapter.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/CliLoggerAdapter.kt
index 9035d53..4237d84 100644
--- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/CliLoggerAdapter.kt
+++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/CliLoggerAdapter.kt
@@ -18,12 +18,12 @@
 
     override fun log(message: String) = printlnIndented(message, CommonizerLogLevel.Info)
 
-    override fun warning(message: String) = printlnIndented("Warning: $message", *CommonizerLogLevel.values())
+    override fun warning(message: String) = printlnIndented("Warning: $message", *CommonizerLogLevel.entries.toTypedArray())
 
     override fun error(message: String) = fatal(message)
 
     override fun fatal(message: String): Nothing {
-        printlnIndented("Error: $message\n", *CommonizerLogLevel.values())
+        printlnIndented("Error: $message\n", *CommonizerLogLevel.entries.toTypedArray())
         exitProcess(1)
     }
 
diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/StatsTypeOptionType.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/StatsTypeOptionType.kt
index 438a8cc..4048a87e 100644
--- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/StatsTypeOptionType.kt
+++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/StatsTypeOptionType.kt
@@ -9,14 +9,14 @@
 
 internal object StatsTypeOptionType : OptionType<StatsType>(STATS_TYPE_ALIAS, DESCRIPTION, mandatory = false) {
     override fun parse(rawValue: String, onError: (reason: String) -> Nothing): Option<StatsType> {
-        val value = StatsType.values().firstOrNull { it.name.equals(rawValue, ignoreCase = true) }
+        val value = StatsType.entries.firstOrNull { it.name.equals(rawValue, ignoreCase = true) }
             ?: onError("Invalid stats type: $rawValue")
         return Option(this, value)
     }
 }
 
 private val DESCRIPTION = buildString {
-    StatsType.values().joinTo(this) {
+    StatsType.entries.toTypedArray().joinTo(this) {
         val item = "\"${it.name.lowercase()}\""
         if (it == StatsType.NONE) "$item (default)" else item
     }
diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/TaskType.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/TaskType.kt
index 0aa7925..e1b7501 100644
--- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/TaskType.kt
+++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/TaskType.kt
@@ -60,6 +60,6 @@
     ;
 
     companion object {
-        fun getByAlias(alias: String) = values().firstOrNull { it.alias == alias }
+        fun getByAlias(alias: String) = entries.firstOrNull { it.alias == alias }
     }
 }
diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/cli.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/cli.kt
index 2e2b235..199545a 100644
--- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/cli.kt
+++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cli/cli.kt
@@ -24,7 +24,7 @@
     // execute tasks in a specific order:
     // - first, execute all informational tasks
     // - then, all commonization tasks
-    Category.values().forEach { category ->
+    Category.entries.forEach { category ->
         val sortedTasks = tasks.filter { it.category == category }.sorted()
         if (sortedTasks.isNotEmpty()) {
             category.prologue?.let(::println)
@@ -112,7 +112,7 @@
     println("Usage: ${::printUsageAndExit.javaClass.`package`.name}.CommonizerCLI <task> <options> [<task> <options>...]")
     println()
     println("Tasks:")
-    for (taskType in TaskType.values()) {
+    for (taskType in TaskType.entries) {
         println(formatBoth(1, taskType.alias, taskType.description))
         println(formatLeft(1, if (taskType.optionTypes.isNotEmpty()) "Options:" else "No options."))
         for (optionType in taskType.optionTypes) {
diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/AnnotationsCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/AnnotationsCommonizer.kt
index 20ffad0..660462b 100644
--- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/AnnotationsCommonizer.kt
+++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/AnnotationsCommonizer.kt
@@ -187,7 +187,7 @@
         private val DEPRECATION_LEVEL_CLASS_ID = CirEntityId.create("kotlin/DeprecationLevel")
 
         // Optimization: Keep DeprecationLevel enum constants.
-        private val DEPRECATION_LEVEL_ENUM_ENTRY_VALUES: Map<String, EnumValue> = DeprecationLevel.values().associate {
+        private val DEPRECATION_LEVEL_ENUM_ENTRY_VALUES: Map<String, EnumValue> = DeprecationLevel.entries.associate {
             it.name to EnumValue(DEPRECATION_LEVEL_CLASS_ID, CirName.create(it.name))
         }
 
@@ -208,7 +208,7 @@
 
         private fun CirAnnotation.getDeprecationLevel(): DeprecationLevel? {
             val enumEntryName = constantValueArguments.getEnumEntryName(PROPERTY_NAME_LEVEL) ?: return null
-            return DeprecationLevel.values().firstOrNull { it.name == enumEntryName }
+            return DeprecationLevel.entries.firstOrNull { it.name == enumEntryName }
         }
 
         private fun DeprecationLevel.toDeprecationLevelValue(): EnumValue =
diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/CompilerOutputTest.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/CompilerOutputTest.kt
index ec7d6d9..0bf75cc 100644
--- a/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/CompilerOutputTest.kt
+++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/CompilerOutputTest.kt
@@ -43,7 +43,7 @@
     }
 
     private fun doTestPreReleaseKotlinLibrary(rootDir: File, additionalOptions: List<String>) {
-        val someNonStableVersion = LanguageVersion.values().firstOrNull { it > LanguageVersion.LATEST_STABLE } ?: return
+        val someNonStableVersion = LanguageVersion.entries.firstOrNull { it > LanguageVersion.LATEST_STABLE } ?: return
 
         val libraryOptions = listOf(
             "-language-version", someNonStableVersion.versionString,
diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/InfrastructureCompressedNamesTest.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/InfrastructureCompressedNamesTest.kt
index 1dca9c8..67ce37e 100644
--- a/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/InfrastructureCompressedNamesTest.kt
+++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/InfrastructureCompressedNamesTest.kt
@@ -39,7 +39,7 @@
 
     @Test
     fun familyNameCompression() {
-        val knownFamilies: Set<Family> = Family.values().toSet()
+        val knownFamilies: Set<Family> = Family.entries.toSet()
 
         val compressedNameToFamily: Map<Char, Family> = knownFamilies.associateBy { it.compressedName }
         val missingFamilies: Set<Family> = compressedNameToFamily.values.toSet() - knownFamilies
@@ -50,7 +50,7 @@
 
     @Test
     fun architectureNameCompression() {
-        val knownArchitectures: Set<Architecture> = Architecture.values().toSet()
+        val knownArchitectures: Set<Architecture> = Architecture.entries.toSet()
 
         val compressedNameToArchitecture: Map<String, Architecture> = knownArchitectures.associateBy { it.compressedName }
         val missingArchitecture: Set<Architecture> = compressedNameToArchitecture.values.toSet() - knownArchitectures
diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/support/NativeTestSupport.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/support/NativeTestSupport.kt
index cd935b4..b73e0e0 100644
--- a/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/support/NativeTestSupport.kt
+++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/support/NativeTestSupport.kt
@@ -215,12 +215,12 @@
     private fun computeOptimizationMode(enforcedProperties: EnforcedProperties): OptimizationMode =
         ClassLevelProperty.OPTIMIZATION_MODE.readValue(
             enforcedProperties,
-            OptimizationMode.values(),
+            OptimizationMode.entries.toTypedArray(),
             default = OptimizationMode.DEBUG
         )
 
     private fun computeMemoryModel(enforcedProperties: EnforcedProperties): MemoryModel =
-        ClassLevelProperty.MEMORY_MODEL.readValue(enforcedProperties, MemoryModel.values(), default = MemoryModel.EXPERIMENTAL)
+        ClassLevelProperty.MEMORY_MODEL.readValue(enforcedProperties, MemoryModel.entries.toTypedArray(), default = MemoryModel.EXPERIMENTAL)
 
     private fun computeThreadStateChecker(enforcedProperties: EnforcedProperties): ThreadStateChecker {
         val useThreadStateChecker =
@@ -229,20 +229,20 @@
     }
 
     private fun computeSanitizer(enforcedProperties: EnforcedProperties): Sanitizer =
-        ClassLevelProperty.SANITIZER.readValue(enforcedProperties, Sanitizer.values(), default = Sanitizer.NONE)
+        ClassLevelProperty.SANITIZER.readValue(enforcedProperties, Sanitizer.entries.toTypedArray(), default = Sanitizer.NONE)
 
     private fun computeCompilerOutputInterceptor(enforcedProperties: EnforcedProperties): CompilerOutputInterceptor =
         ClassLevelProperty.COMPILER_OUTPUT_INTERCEPTOR.readValue(
             enforcedProperties,
-            CompilerOutputInterceptor.values(),
+            CompilerOutputInterceptor.entries.toTypedArray(),
             default = CompilerOutputInterceptor.DEFAULT
         )
 
     private fun computeGCType(enforcedProperties: EnforcedProperties): GCType =
-        ClassLevelProperty.GC_TYPE.readValue(enforcedProperties, GCType.values(), default = GCType.UNSPECIFIED)
+        ClassLevelProperty.GC_TYPE.readValue(enforcedProperties, GCType.entries.toTypedArray(), default = GCType.UNSPECIFIED)
 
     private fun computeGCScheduler(enforcedProperties: EnforcedProperties): GCScheduler =
-        ClassLevelProperty.GC_SCHEDULER.readValue(enforcedProperties, GCScheduler.values(), default = GCScheduler.UNSPECIFIED)
+        ClassLevelProperty.GC_SCHEDULER.readValue(enforcedProperties, GCScheduler.entries.toTypedArray(), default = GCScheduler.UNSPECIFIED)
 
     private fun computeNativeTargets(enforcedProperties: EnforcedProperties, hostManager: HostManager): KotlinNativeTargets {
         val hostTarget = HostManager.host
@@ -264,7 +264,7 @@
     ): CacheMode {
         val cacheMode = ClassLevelProperty.CACHE_MODE.readValue(
             enforcedProperties,
-            CacheMode.Alias.values(),
+            CacheMode.Alias.entries.toTypedArray(),
             default = CacheMode.defaultForTestTarget(distribution, kotlinNativeTargets)
         )
         val useStaticCacheForUserLibraries = when (cacheMode) {
@@ -285,7 +285,7 @@
     }
 
     private fun computeTestMode(enforcedProperties: EnforcedProperties): TestMode =
-        ClassLevelProperty.TEST_MODE.readValue(enforcedProperties, TestMode.values(), default = TestMode.TWO_STAGE_MULTI_MODULE)
+        ClassLevelProperty.TEST_MODE.readValue(enforcedProperties, TestMode.entries.toTypedArray(), default = TestMode.TWO_STAGE_MULTI_MODULE)
 
     private fun computeCustomKlibs(enforcedProperties: EnforcedProperties): CustomKlibs =
         CustomKlibs(
diff --git a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidComponentRegistrar.kt b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidComponentRegistrar.kt
index ffff231..48ee7c7 100644
--- a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidComponentRegistrar.kt
+++ b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidComponentRegistrar.kt
@@ -72,7 +72,7 @@
                 "defaultCacheImplementation", "hashMap/sparseArray/none", "Default cache implementation for module", required = false)
 
         val FEATURES_OPTION = CliOption(
-                "features", AndroidExtensionsFeature.values().joinToString(" | "), "Enabled features", required = false)
+            "features", AndroidExtensionsFeature.entries.joinToString(" | "), "Enabled features", required = false)
 
         /* This option is just for saving Android Extensions status in Kotlin facet. It should not be supported from CLI. */
         val ENABLED_OPTION: CliOption = CliOption("enabled", "true/false", "Enable Android Extensions", required = false)
@@ -92,7 +92,7 @@
             CONFIGURATION -> configuration.applyOptionsFrom(decodePluginOptions(value), pluginOptions)
             FEATURES_OPTION -> {
                 val features = value.split(',').mapNotNullTo(mutableSetOf()) {
-                    name -> AndroidExtensionsFeature.values().firstOrNull { it.featureName == name }
+                    name -> AndroidExtensionsFeature.entries.firstOrNull { it.featureName == name }
                 }
                 configuration.put(AndroidConfigurationKeys.FEATURES, features)
             }
@@ -171,7 +171,7 @@
     override fun registerProjectComponents(project: MockProject, configuration: CompilerConfiguration) {
         reportRemovedError(configuration)
 
-        val features = configuration.get(AndroidConfigurationKeys.FEATURES) ?: AndroidExtensionsFeature.values().toSet()
+        val features = configuration.get(AndroidConfigurationKeys.FEATURES) ?: AndroidExtensionsFeature.entries.toSet()
         val isExperimental = configuration.get(AndroidConfigurationKeys.EXPERIMENTAL) == "true"
 
         if (AndroidExtensionsFeature.PARCELIZE in features) {
diff --git a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/Kapt.kt b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/Kapt.kt
index 35642c8..bdaa629 100644
--- a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/Kapt.kt
+++ b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/Kapt.kt
@@ -19,7 +19,7 @@
     @JvmStatic
     @Suppress("unused")
     fun kaptFlags(rawFlags: Set<String>): KaptFlags {
-        return KaptFlags.fromSet(KaptFlag.values().filterTo(mutableSetOf()) { it.name in rawFlags })
+        return KaptFlags.fromSet(KaptFlag.entries.toTypedArray().filterTo(mutableSetOf()) { it.name in rawFlags })
     }
 
     @JvmStatic
diff --git a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptOptions.kt b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptOptions.kt
index 3e59bb3..1d2ad54 100644
--- a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptOptions.kt
+++ b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptOptions.kt
@@ -69,7 +69,7 @@
         val javacOptions: MutableMap<String, String> = mutableMapOf()
 
         // Initialize this set with the flags that are enabled by default. This set may be changed later (with flags added or removed).
-        val flags: MutableSet<KaptFlag> = KaptFlag.values().filter { it.defaultValue }.toMutableSet()
+        val flags: MutableSet<KaptFlag> = KaptFlag.entries.filter { it.defaultValue }.toMutableSet()
 
         var mode: AptMode = AptMode.WITH_COMPILATION
         var detectMemoryLeaks: DetectMemoryLeaksMode = DetectMemoryLeaksMode.DEFAULT
@@ -195,7 +195,7 @@
 
     appendLine("Annotation processing mode: ${mode.stringValue}")
     appendLine("Memory leak detection mode: ${detectMemoryLeaks.stringValue}")
-    KaptFlag.values().forEach { appendLine(it.description + ": " + this@logString[it]) }
+    KaptFlag.entries.forEach { appendLine(it.description + ": " + this@logString[it]) }
 
     appendLine("Project base dir: $projectBaseDir")
     appendLine("Compile classpath: " + compileClasspath.joinToString())
diff --git a/plugins/kapt3/kapt3-cli/src/KaptCli.kt b/plugins/kapt3/kapt3-cli/src/KaptCli.kt
index 82800b2..b9e1f93 100644
--- a/plugins/kapt3/kapt3-cli/src/KaptCli.kt
+++ b/plugins/kapt3/kapt3-cli/src/KaptCli.kt
@@ -73,7 +73,7 @@
 
     data class Option(val cliToolOption: CliToolOption, val pluginOption: KaptCliOption)
 
-    val cliOptions = KaptCliOption.values().mapNotNull { Option(it.cliToolOption ?: return@mapNotNull null, it) }
+    val cliOptions = KaptCliOption.entries.mapNotNull { Option(it.cliToolOption ?: return@mapNotNull null, it) }
 
     val iterator = args.asIterable().iterator()
     loop@ while (iterator.hasNext()) {
diff --git a/plugins/kapt3/kapt3-cli/src/help.kt b/plugins/kapt3/kapt3-cli/src/help.kt
index 6c1e6c3a..63f7e3c 100644
--- a/plugins/kapt3/kapt3-cli/src/help.kt
+++ b/plugins/kapt3/kapt3-cli/src/help.kt
@@ -13,7 +13,7 @@
         fun render(width: Int) = "  " + nameArgs + " ".repeat(width - nameArgs.length) + description
     }
 
-    val options = KaptCliOption.values()
+    val options = KaptCliOption.entries
         .filter { it.cliToolOption != null }
         .map { OptionToRender(it.nameArgs(), it.description) }
 
diff --git a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt
index b78fc36..ca5bb98 100644
--- a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt
+++ b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt
@@ -61,7 +61,7 @@
 class Kapt3CommandLineProcessor : CommandLineProcessor {
     override val pluginId: String = ANNOTATION_PROCESSING_COMPILER_PLUGIN_ID
 
-    override val pluginOptions: Collection<AbstractCliOption> = values().asList()
+    override val pluginOptions: Collection<AbstractCliOption> = entries
 
     override fun processOption(option: AbstractCliOption, value: String, configuration: CompilerConfiguration) {
         doOpenInternalPackagesIfRequired()
diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt
index 77d3f49..91aaa23 100644
--- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt
+++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt
@@ -281,7 +281,7 @@
 
         val definedTarget = scriptCompilationConfiguration[ScriptCompilationConfiguration.jvm.jvmTarget]
         if (definedTarget != null) {
-            val target = JvmTarget.values().find { it.description == definedTarget }
+            val target = JvmTarget.entries.find { it.description == definedTarget }
             if (target == null) {
                 messageCollector.report(
                     CompilerMessageSeverity.STRONG_WARNING, "Unknown JVM target \"$definedTarget\", using default"