chore(deps): update plugin org.jetbrains.kotlin.jvm to v2.0.21 (main) #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.0.10->2.0.21Release Notes
JetBrains/kotlin (org.jetbrains.kotlin.jvm)
v2.0.21: Kotlin 2.0.21Changelog
Apple Ecosystem
KT-69093Xcode 16 support in KotlinBackend. Native. Debug
KT-71374lldb: step out breaks breaking in Xcode 16Compiler
Fixes
KT-69735K2: Static fields are missing from the declaration list of corresponding IrClass for java classKT-71122Regression in Kotlin Compiler 2.0 causing NPE in the runtimeKT-70931K2 / Scripts: "cannot convert IrExpression to ConstantValue" when using function annotationKT-70584K2: "IllegalStateException: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?"KT-70808K2: "node has already been visited" with anonymous object in dead codeKT-69985K2: Classifier declarations from root package are resolved without imports in non-root packagesKT-70683K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwnerKT-70901False positive Public-API inline function cannot access non-public-API property accessorKT-70930K2: Java annotations not present on ENUM_ENTRY IR elementsKT-70194K2 IDE: exception on a very red fileKT-69399Native: IllegalStateException: "Failed to build cache"Compose compiler
Fixes
b/329477544Force open / overridden Composable functions to be non-restartable.b/361652128Disable live literal transform if the corresponding flag is disabledIR. Actualizer
KT-70894IR crash. UnprocessedIrFunctionFakeOverrideSymbolwhen actualize to JavaIR. Tree
KT-71191SymbolTable: Check if the provided signature is public before adding a symbol to the SymbolTableNative. Build Infrastructure
KT-71485K/N runtime parts don't build due to _Float16 issues on x86_64 macOSNative. C Export
KT-69507LLVM 11 clang with Xcode 16 headers: standard c++ headersNative. C and ObjC Import
KT-71029Investigate why stdarg.h declarations leak into testModuleANative. Platform Libraries
KT-70566LLVM 11 clang with Xcode 16 headers: 'sys/cdefs.h' file not foundKT-71624Eliminate remaining UIKit/AppKit removed signaturesKT-70031Rebuild platform libraries in 2.0.21 with Xcode 16Native. Testing
KT-70603C++ with -fmodules: cyclic dependency in module 'std': std -> _wctype -> __wctype -> std in dev llvm toolchainsTools. CLI. Native
KT-71262KotlinNativeLink tasks fetching from network despite -Xoverride-konan-properties=dependenciesUrl= being setTools. Compiler Plugins
KT-71038PowerAssert: Constant on RHS of elvis operator leads to compiler crashTools. Daemon
KT-35381Get rid of the native-platform usage in kotlin compilerTools. Gradle. Multiplatform
KT-71444Certain POMs produced by Kotlin 2.0.20 cannot be consumed by KMP projects with Android targetsKT-70700Gradle 8.10: The value for task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' cannot be changed any furtherKT-71396Gradle client side JVM explodes with OOM due to xcodebuild logsTools. Gradle. Native
KT-71419Light bundle KGP IT run against a stable K/N versionTools. JPS
KT-71450Constant build failure: com.intellij.util.io.ClosedStorageException: storage is already closedv2.0.20Analysis. API
New Features
KT-68143Analysis API: support KtWhenConditionInRange call resolutionPerformance Improvements
KT-67195K2: do not call redundant resolve on body resolution phase for classesFixes
KT-67360Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbolKT-67748K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCallKT-68198Analysis API: Support application service registration in plugin XMLsKT-62936Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/NativeKT-68689LL API: support analysis from builtins moduleKT-69630KAPT User project builds with KAPT4 enabled fail with Metaspace overflowKT-65417K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source setsKT-68882Analysis API: RefactorKaSymbolsKT-65413K2 IDE: KTOR unresolved serializer() call for@Serializableclass in common codeKT-67996Analysis API: rename Kt prefix to KaKT-67775Analysis API: expose only interfaces/abstract classes for the user surfaceKT-68009K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exceptionKT-68918collectCallCandidates works incorrectly for parenthesis invokeKT-68462Analysis API: Integrateproject-structuremodule intoanalysis-apiandanalysis-api-platform-interfaceKT-69131AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementationKT-69055Analysis API: StabilizeKaScopesKT-66216K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string templateKT-68959Introduce KaSeverityKT-53669Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarationsKT-68846Mark KaFirReference and all implementations with internal modifierKT-68845Move KaSymbolBasedReference to resolution packageKT-68844Move KaTypeProjection to types packageKT-65849K2: Rename 'high-level-api' family of JARs to 'analysis-api'KT-62540Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin pluginKT-62889K2 IDE. FPMISSING_DEPENDENCY_CLASSon not available type alias with available underlying typeKT-68155Analysis API: Add PSI validity check toanalyzeKT-62343Analysis API: fix binary incopatibility problems cause byKtAnalysisSessionProvider.analyzebeing inlineKT-68498To get reference symbol the one should be KtSymbolBasedReferenceKT-68393Analysis API: RenameKaClassLikeSymbol. classIdIfNonLocaltoclassIdKT-62924Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableIdKT-66712K2 IDE. SOE on settings string template for string variable with the same nameKT-65892K2: "We should be able to find a symbol" for findNonLocalFunctionKT-68273AA: supportKtFirKDocReference#isReferenceToImportAliasKT-68272AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructorKT-66996Analysis API: Expose the abbreviated type of an expandedKtTypeKT-66646K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObjectKT-68203K2: Analysis API: wrong type of receiver value in case of imported object memberKT-68031LL resolve crash in case of PCLA inference with local objectKT-67851K2:PsiReference#isReferenceToalways returns false for references to Java gettersKT-68076AA: use type code fragments for import alias detectionKT-65915K2: Analysis API: extract services registration into xml fileKT-68049Analysis API: do not expose imported symbolsKT-68075K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supportedKT-65190AA: reference to the super type is not resolvedKT-68070AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegateKT-67743K2: Stubs & AbbreviatedTypeAttributeKT-67706K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedCheckerKT-68021Analysis API: do not break the diagnostic collection in a case of exception from some collectorKT-67973AA FIR: wrong KtCall modeling for == from type boundKT-67949AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizerKT-67988AA: functional type at receiver position should be wrapped in parenthesisKT-66536Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtensionKT-67321AA: Type arguments of Java methods' calls are not resolvedKT-64158K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter"KT-60344K2 IDE. "KotlinExceptionWithAttachments: expectcreateKtCallto succeed for resolvable case with callable symbol" on attempt to assign value to param named getParamKT-64599K2: "expectcreateKtCallto succeed for resolvable case with callable" for unfinished if statementKT-60330K2 IDE. ".KotlinExceptionWithAttachments: expectcreateKtCallto succeed for resolvable case with callable symbol" on attempt to assign or compare true with somethingKT-66672K2 IDE. False positive INVISIBLE_REFERENCE on accessing private subclass as type argument in parent class declarationKT-67750Analysis API: Removeinfixmodifiers from type equality and subtyping functionsKT-67655Analysis API: declare a rule how to deal with parameters in KtLifetimeOwnerKT-61775Analysis API: KtKClassAnnotationValue lacks complete type informationKT-67168K2: Analysis API: Rendering is broken for JSR-305 enhanced Java typesKT-66689Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone modeKT-60483Analysis API: add isTailrec property to KtFunctionSymbolKT-67472K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressionsKT-65759Analysis API: Avoid hard references toLLFirSessionin session validity trackersKT-60272K2: Implement active invalidation ofKtAnalysisSessionsKT-66765K2: Analysis API: support classpath substitution with library dependencies in super type transformerKT-67265K2: status phase should resolve original declarations in the case of classpath subsitutionKT-67244K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitutionKT-67080K2: clearer contract for lazyResolveToPhaseWithCallableMembersKT-66713K2 FIR: Expose a way to get the module name used for name manglingKT-61892KtType#asPsiType could provide nullability annotationsKT-66122Analysis API: PassKtTestModuleinstead ofTestModuleto tests based onAbstractAnalysisApiBasedTestAnalysis. Light Classes
KT-65714K2: IDE K2: "org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed"KT-65835SymbolLightClassForClassLike.getNamereturnsnullfor a companion object instead ofCompanionKT-68261SLC: Constructors of sealed classes should be privateKT-68696DropDecompiledPsiDeclarationProvider-related stuffKT-68404SLC: wrong binary resolution to declaration with@JvmNameKT-68275LC: no arg constructor is not visible in light classesKT-66687Symbol Light Classes: Duplicate field names for classes with companion objectsKT-66804Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImplsApple Ecosystem
KT-65542Cinterop tasks fails if Xcode 15.3 is usedBackend. Native. Debug
KT-67567Native: after updating to LLVM 16 lldb hangs when smooth steppingBackend. Wasm
KT-70591To much sources that don't exist inside SourceMap fileKT-69529compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1)KT-68088Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on WindowsKT-65798K/Wasm: make an error on default export usageKT-68828Wasm test failure. expect-actual. private constructor in expectKT-68453K/Wasm: "Supported JS engine not detected" in Web WorkerKT-64565Kotlin/wasm removeEventListener function did not remove the event listenerKT-65322[Wasm] Clean-up bootstrap codeKT-66099Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @+237036KT-63230[WASM]println(null)prints 'ul'Compiler
New Features
KT-58310Consider non-functional type constraints for type variable which is an expected type for lambda argumentKT-68969Consider implementing general "redundant interpolation prefix" warningKT-57872Improve "Public-API inline function cannot access non-public-API" checkKT-68165Native: type checks on generic types boundaryKT-67611Implement improved handling of $ in literalsKT-67787Implement guard conditions for when-with-subjectKT-39868Allow access to protected consts and fields from a super companion objectKT-66169useContentslacks acontractKT-67767Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API modeKT-65841Allow to actualize expect types in kotlin stdlib to builtins in JVMKT-53834Support for JSpecify@NullUnmarkedPerformance Improvements
KT-69995K2: Slow compilation when star projecting mutually recursive bounds from javaKT-69723K2: code analysis taking too longKT-69898K2: Performance degradation in fir2ir caused by changes around intersection typesKT-68034Devirtualization analysis fails to devirtualize string.getFixes
KT-67102IR Evaluator: NoSuchFieldException when accessing a private delegated propertyKT-35305"Overload resolution ambiguity" on function for unsigned types (UByte, UShort, UInt, ULong)KT-69211K2: java.lang.IllegalArgumentException: Failed requirementKT-68874Types with different captured types as type arguments are rendered incorrectlyKT-66086K/N: Unchecked illegal cast is not thrownKT-70186Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0KT-68889K2: type variable should not be fixedKT-69835K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't errorKT-70417DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE leads to NPE in BEKT-69964K2: Returning from an in-place lambda doesn't compileKT-69773K2: "Overload resolution ambiguity between candidate" with arraysKT-60261K2: No origin is set for composite assignment operatorsKT-15388Forbid delegated property to have external getter/setterKT-70238K2: false negative VOLATILE_ON_VALUE for constructor propertiesKT-68669K2: Generate inherited delegated members after actualizationKT-63828K2: Missingsignaturemetadata for accessors of properties inherited from delegateKT-63871K2: different value ofisNotDefaultflag for property inherited from delegateKT-67119Migration warning from context receivers to context parametersKT-68997K2: "No accessor found" for an inline value class when query the value of a delegated class by reflectionKT-64106Native: the compiler allows using-optand-gat the same timeKT-69766K2: False negative: Internal setter of generic class is accessible from another moduleKT-68364JVM: ISE "Bad exception handler end" on a non-local break/continue inside try with finallyKT-69494StackOverflowError in CfgTraverserKt.getPreviousCfgNodesKT-56880K2. Conflicting overloads for main() isn't shown when language version is set to 2.0KT-69282K2: equality of unsigned types with nullability works incorrectlyKT-68492JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic functionKT-70039K2: inconsistent stability of vals of captured receiversKT-44139Don't report overload resolution ambiguities if arguments contain an error typeKT-68996K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argumentKT-55851K2: reference to a field from package private class crashes in runtimeKT-65038K2: Type alias from indirect dependency causesMISSING_DEPENDENCY_CLASSerrorKT-61875Native: remove support for bitcode embeddingKT-67693Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compilerKT-68556K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without typeKT-60445K2/Java: investigate possible symbol clash while enhancing Java class type parameter boundsKT-64193K2: No smartcast with two boolean expressions in a rowKT-65546K2. implement extended checker for unused anonymous parameter in lambdaKT-68358@EnhancedNullabilityis missing on value parameter type after inheritance by delegation with strict JSpecify enabledKT-67791False negative "Synchronizing by Meters is forbidden" with inline value classesKT-69495k2: inconsistent output of unsigned number in string templatesKT-69619K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in JavaKT-69563trying to call.sourceonFirPackageFragmentDescriptorresults in exceptionKT-69611Internal annotation FlexibleArrayElementVariance is written to output jarKT-69463K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS with expect/actual declarationsKT-68724K2: "ABSTRACT_MEMBER_NOT_IMPLEMENTED" caused by open modifier on interfaceKT-69182K2: OptIn on enum companion blocks enum constantsKT-69191K2: "Unresolved reference" caused by nested data objectsKT-69569Wrong paths when one type has multiple annotated argumentsKT-55128Wrong type path in type annotations when type arguments are compiled to wildcardsKT-67692Native: support LLVM opaque pointers in the compilerKT-69402FirSupertypeResolverVisitor: ConcurrentModificationExceptionKT-69062K1: false-negative "unsupported feature" error on multi-dollar interpolationKT-68967Consider demoting warnings about multi-dollar interpolation to IJ inspectionsKT-68957False-negative diagnostics about multi-dollar interpolation on string literals without interpolationKT-69476False negative NO_ELSE_IN_WHEN on when over intersection type with expect enum/sealed classKT-67069K2: Delegated member calls interface method instead of fake overrideKT-63864K2: Missing abbreviated type in metadataKT-59833K2: Stop modifying values of enum entriesKT-69421K2: Resolve changed from delegated function to java default functionKT-69392K2: "UNSAFE_CALL": when with some variable subjects does not smartcast the variableKT-69053K2: Unsupported intersection overrides for fieldsKT-69227K2: "Argument type mismatch" caused by generic typealias and upper boundKT-31371NOT_YET_SUPPORTED_IN_INLINE: incorrect error message for local inline functionKT-49473PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-49474NON_PUBLIC_CALL_FROM_PUBLIC_INLINE: specialize error message for 'inline' propertyKT-49503SUPER_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-11302On inapplicable '@JvmStatic' annotation, highlight only the annotation, not the function signatureKT-59510K2: do not render annotations in the deprecation diagnosticKT-68532"This code uses error suppression for 'INAPPLICABLE_JVM_NAME'. While it might compile and work, the compiler behavior is UNSPECIFIED and WON'T BE PRESERVED"KT-68859K2: unable to suppress only "JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE"KT-68469[K2] MISSING_DEPENDENCY_CLASS caused by redundant@file:JvmNameKT-68999K2: Unify the style of FIR generator with IR and SIR tree-generatorsKT-66061Kotlin/Native - building shared module for iOS - Argument list too longKT-49420Suspicious behaviour of frontend in case of DefinitelyNotNull type overloadKT-59752K2: "Conflicting overloads" if function with same signature added to different contextsKT-68618K1: Unresolved reference for qualified this in implicit typeKT-25341NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object borderKT-69215K2: IllegalArgumentException for delegated function in anonymous object with captured type parametersKT-69044Destructuring declaration shouldn't be possible in declaration in whenKT-69028K2:FirJvmActualizingBuiltinSymbolProviderreturnsnullon builtins declarations if common source-set is not presentedKT-15704Rethink usage of term "type annotation" in error messagesKT-68970K2. Argument type mismatch caused by out projection in inferred type from if - elseKT-68800K2: DeleteConeAttributes.plusmethodKT-59389K2: Missing AMBIGUOUS_LABELKT-68803K2: Smart cast fails with "Unresolved reference" when@Suppress("UNCHECKED_CAST") used in statementKT-68968K2: Missing ILLEGAL_SUSPEND_FUNCTION_CALL diagnostic in initialization code of a local class inside suspend functionKT-68336K2 does not seem to pass the right constructor arguments to custom scriptsKT-68517"IrSimpleFunctionSymbolImpl is unbound" for actual class containing non-actual functionsKT-59678K2: InvestigateConeKotlinType.unCapture()KT-69027K2: InitializeFirStdlibBuiltinSyntheticFunctionInterfaceProviderin library sessionKT-62818K2: improve VAR_OVERRIDDEN_BY_VAL diagnostic messageKT-68214Rename TypeApproximatorConfiguration properties for clarityKT-68093Implement deprecation of smartcasts on class-delegated propertiesKT-67270Native: report more performance metrics from the compilerKT-68621DATA_CLASS_INVISIBLE_COPY_USAGE false negative for inline funKT-68568K2: False-positive ACCIDENTAL_OVERRIDE caused by missing dependency classKT-66723K2: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default methodKT-69000Can't render constructor of intersection typeKT-68849K2: "ClassCastException: cannot be cast to kotlin.jvm.functions.Function2" caused by passing lambda to SAM constructor resultsKT-61744Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFileKT-67103Support AbbreviatedTypeAttribute for aliased types from the source codeKT-63921K2: different representation of recursive type aliasesKT-68679K2: "Override has incorrect nullability in its signature compared to the overridden declaration" caused by subclass of Android HashMapKT-64335K2: improve rendering of captured types in diagnostic messagesKT-68820K2: "Unresolved reference" on calling function with "contract" nameKT-67933K2: no conversion between fun interfaces if target hassuspendKT-68230K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleTypeKT-68531K2: False-negative error on assignment to enum entryKT-68446K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with rangeKT-68678K2: Drop usingFirBuiltinSymbolProviderwhile compiling JVM stdlibKT-68382Get rid of context receivers in FirScript implementationKT-68585Implement new rules for CFA about enum entriesKT-68110K2: "Java type mismatch" caused by spring.NullableKT-68613K2: False positiveCONFLICTING_PROJECTIONafter fixing KT-67764KT-67764K2: False negative: Projection problem is not reported inisexpressionKT-67887Expection on assigning to private field of value typeKT-67801NSME on evaluating private member function with value class parameterKT-67800NSME on evaluating private top-level function with value class parameterKT-68542K2: Fix referecing to@ExtensionFunctionTypeif it's declared in sourceKT-68188K2: Properly support FunctionN creation for stdlib compilationKT-67946K2: Crash on red code:Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter TKT-68526K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy functionKT-68528K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return typeKT-68525K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy functionKT-68617K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IRKT-63920K2: Private secondary sealed class constructor is private in metadata, but protected in K1KT-57996Usages ofFoo@Nullable[]produce only warnings even with-Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strictKT-68207K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issuesKT-64990K2: Remove usages of SymbolTable from FIR2IRKT-67798NSME on assigning to private delegated property of value classKT-68264K2: confusing INVISIBLE_* error when typealias is involvedKT-68529K2: false-negative redundant annotation warning on@ExposedCopyVisibilityon data class with public constructorKT-67943Approximation should not generate types with UPPER_BOUND_VIOLATION errorsKT-67503K2: False negative "Type Expected" when attempting to annotate a wildcard type argumentKT-68187K2: Create IrBuiltins in fir2ir only after IR actualizationKT-66443K2: ArrayIterationHandler doesn't work if UIntArray declared in sourcesKT-68291K2 / Contracts: Non-existent invocation kind is suggested as a fixKT-68209K2: Strange import suggestion when lambda body contains invalid codeKT-67368"NullPointerException: Parameter specified as non-null is null" local lambda creates new not-null checks with 2.0.0-Beta5KT-51433FE 1.0: implement warnings about label resolve changesKT-66554K2. Drop FIR based fake-override generator from fir2irKT-64202K2: Drop old methods for calculation of overridden symbols for lazy declarationsKT-67895K2: Properly implement generation of fake-overrides for fieldsKT-54496K2:REDUNDANT_MODALITY_MODIFIERdiagnostic disregards compiler pluginsKT-63745K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-nullKT-63362AbstractTypeApproximator fixes only first local type in hierarchyKT-67769K2: "variable must be initialized" on unreachable access in constructorKT-51195FIR IC: Incremental compilation fails with@PublishedApipropertyKT-67966No JVM type annotation is generated on a class supertypeKT-46640Generate JVM type annotations on wildcard boundsKT-67952Annotations on type parameters are not generated for parameters other than the firstKT-68012K2. No'operator' modifier is required on 'component'error in K2KT-61835K2: FirStubTypeTransformer receives unresolved expressions in builder inference sessionKT-63596K1/K2: Different behavior for lambda with different return typeKT-67688K2: False positive CANNOT_INFER_PARAMETER_TYPE for Unit constraint type variableKT-62080False positive UNUSED_VARIABLE for variable that is used in lambda and in further code with several conditionsKT-60726K2: Missed TYPE_MISMATCH error: inferred type non-suspend function but suspend function was expectedKT-41835[FIR] Green code turns to red in presence of smartcasts and redundant type argumentsKT-67579K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methodsKT-67493K2: argument type mismatch: actual type is 'T', but 'T' was expectedKT-64900K2:getConstructorKeywordcall inPsiRawFirBuilder.toFirConstructorforces AST loadKT-67648K2: wrong exposed visibility errors with WRONG_MODIFIER_CONTAINING_DECLARATION on top-level enum classKT-58686FIR2IR: Don't use global countersKT-67592K2: Success execution of:kotlin-stdlib:compileKotlinMetadataKT-60398K2: consider forbidding FirBasedSymbol rebindKT-54918Refactor transformAnonymousFunctionWithExpectedTypeKT-63360K2: Malformed type mismatch error with functional typeKT-67266K2: disappeared INLINE_CLASS_DEPRECATEDKT-67569K2: Fix default value parameters of Enum's constructor if it's declared in source codeKT-67378K2: Don't usewrapScopeWithJvmMappedfor common source setsKT-67738K2: Introducekotlin.internal.ActualizeByJvmBuiltinProviderannotationKT-64456K2: Port *VersionRequirementTest to K2KT-67136Put $this parameter to LVT for suspend lambdasKT-62538K2: Declarations inside external classes should be implicitly externalKT-67627K2: External interface companion isn't external in IRKT-60290K2: origin is not set for !in operatorKT-67512K2: false positive WRONG_GETTER_RETURN_TYPE when getter return type is annotatedKT-67635K2: No warning TYPE_MISMATCH_WHEN_FLEXIBILITY_CHANGES for SAM constructor with inferred typeKT-60501K2 Scripting: investigate metadata difference between K1 and K2KT-67598K2: Fix incorrect castingUBytetoNumberinFirToConstantValueTransformerKT-56564False positive "non-exhaustive when" in case of intersection typeKT-63969K2: extra property in metadataKT-63968K2: extra property in metadata for anonymous variable in scriptKT-67547K/N can't build caches, fails with "clang++: error=2, No such file or directory"KT-67469K2: Failing module in FP-intellijKT-64033K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBoundKT-64457K2: Fix DecompiledKnmStubConsistencyK2TestGeneratedKT-66377IR Evaluator: "no container found for type parameter" when evaluating nested genericsKT-66378IR Evaluator: Symbol is unboundKT-64506IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static propertiesKT-67380K2: Don't check forequalsoverriding for classAnyKT-67038K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolutionKT-59813K2: Fix the TODO aboutfirEffect.sourceinFirReturnsImpliesAnalyzerKT-59834K2: Fix the TODO aboutmerge(other)inUnusedCheckerKT-59188K2: Change positioning strategy forWRONG_NUMBER_OF_TYPE_ARGUMENTSerrorKT-59108K2. SMARTCAST_IMPOSSIBLE instead of UNSAFE_IMPLICIT_INVOKE_CALLKT-65503The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another moduleKT-30696NoSuchMethodError if nested anonymous objects are used with propagation reified type parameterKT-58966Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiverKT-67458Use@PhaseDescriptionfor JVM backend lowering phasesKT-65647K2 ignores diagnostics on sourcelessFirTypeRefsKT-64489K2: Rename FirAugmentedArraySetKT-67394FIR: Make FIR repr of For from PSI and LightTree the sameKT-66724K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type argumentsKT-40248Confusing error message NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODYKT-66947K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower boundsKT-66974K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-positionKT-66946K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-positionKT-66442K2: No visibility error on importing private aliasesKT-66598K2: Allow comparisons,is-checks and casts between Kotlin and platform typesKT-55966K2: Not enough information to infer type variable K if smartcast is usedKT-64894OPT_IN_ARGUMENT_IS_NOT_MARKER diagnostic message is unclearKT-67019K2: IR has incorrect EQ origins for some inplace updating operatorsKT-59810K2: Support other ConstraintPosition-sKT-55383K1/K2: isClassTypeConstructor behaves differently for stub typesKT-60089K2: Introduced ERROR_IN_CONTRACT_DESCRIPTIONKT-60382K2: Refactor ExpectActualCollectorKT-62929K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loaderKT-65642K2: IR: Array access desugaring doesn't have originsKT-24807No smartcast to Boolean in subject of when-expression when subject type is non-nullableKT-66057K2: incorrect supertype leads to class declaration being highlighted redKT-63958K2: drop support of UseBuilderInferenceOnlyIfNeeded=falseKT-63959K2: treat stub types as non-nullable for isReceiverNullable checkKT-65100IrFakeOverrideBuilder: support custom 'remove(Int)' handling logic in MutableCollection subclassesCompose compiler
New features
cdfe659Changed how compiler features being rolled out are enabled and disabled in compiler plugin CLI. Features, such as strong skipping and non-skipping group optimizations are now enabled through the "featureFlag" option instead of their own option.192e556Strong skipping is now enabled by default842a9e8Add support for default parameters in abstract and open @Composable functionsb/165812010Fixes
e207b05Fixes group generation for if statements when nonSkippingGroupOptimization is enabledb/346821372f64fc3aFixesendToMarkergeneration in early return from inline lambdas that caused start/end imbalanceb/346808602d6ac8a5Stop memoizing lambdas with captured property delegatesb/342557697f38d5a3Stop capturing parameter meta across crossinline boundaryb/343801379770fe8dPropagate annotations from inferred function types when serializingb/3452610773c67cdaFix memoization of captureless lambdas when K2 compiler is usedb/3405821803281e53Allow memoizing lambdas in composable inline functionsb/340606661b/351858979Fix stability inferencing of interfaces on incremental compilationb/346821372[Compose] Fix code generation for group optimizationb/357878245Disallow open @Composable functions with default params to fix binary compatibility issues.IR. Actualizer
KT-68830Compiler crash on missing actual classKT-69024K2: Children of expect annotation with@OptionalExpectationshould be actualizedKT-68742Allow expect protected to Java protected actualizationKT-66436K2. Actualizing modCount property with a field in AbstractMutableListKT-68741Support actualization of AbstractMutableList.modCountKT-68801Crash on access of fake override of function actualized by fake overrideKT-66307K2: property fake override isn't generated for protected fieldIR. Inlining
KT-67208KJS: put ReplaceSuspendIntrinsicLowering after IR inlinerKT-68100Run IR validation in the beginning and the end of the common prefixKT-69171Introduce a temporary-XCLI parameter that enables double-inliningKT-69006Enable IR visibility checks after IR inliningKT-69183IR inlining: properly handle defaults that depends on previous value parametersKT-67660Suspicious package part FQN calculation in InventNamesForLocalClassesKT-68558MoveInlineCallableReferenceToLambdaPhaseintoir.inlinemoduleKT-56466Support non-local break/continue in IR inlinerKT-64958KJS: Put as many as possible lowerings after the inlinerKT-67297Implement IR deserializer with unbound symbolsIR. Interpreter
KT-66938Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir'IR. Tree
Performance Improvements
KT-67695ForLoopsLowering fails to handle a loop over an imprecise typed iterableFixes
KT-68784Support validating visibility of referenced declarations in IrValidatConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.