fix(deps): update kotlin monorepo to v2 (major)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| org.jetbrains.kotlin:kotlin-stdlib-jdk8 (source) | 1.9.23 -> 2.0.0 |
||||
| org.jetbrains.kotlin:kotlin-gradle-plugin (source) | 1.9.23 -> 2.0.0 |
Release Notes
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-stdlib-jdk8)
v2.0.0: Kotlin 2.0.0
Changelog
Analysis. API
New Features
-
KT-65327Support reading klib contents in Analysis API
Performance Improvements
-
KT-65560K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elements -
KT-64987Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOf -
KT-61789K2: optimize getFirForNonKtFileElement for references inside super type reference -
KT-59498K2: getOnAirGetTowerContextProvider took too much time due to on air resolve -
KT-61728Analysis API: optimize AllCandidatesResolver.getAllCandidates
Fixes
-
KT-65561Analysis API: dummy.kt is not a physical file -
KT-65616K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUS -
KT-65600Analysis Api: FirFile for KtCodeFragments are created and not updated on changes -
KT-64919K2 IDE: Implement KMP support for sealed class inheritors -
KT-64241K2: Unresolved calls to functions in scripts depending on included projects -
KT-65813Analysis API Standalone:FirDeclarationForCompiledElementSearcherdoes not find compiled elements -
KT-66052AA: render expect/actual modifier -
KT-66795KtCodeFragment.clone() is broken -
KT-66532K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target file -
KT-64833Analysis API: Members implemented by delegation have no overridden symbols -
KT-62405Analysis API: SymbolsSUBSTITUTION_OVERRIDEhave no overridden symbols -
KT-66749K2: "Collection contains no element matching the predicate" on an unresolved call -
KT-62832K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus -
KT-66719AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilation -
KT-66603Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiType -
KT-64505Analysis API Standalone: Remove test-specific calculation of sealed class inheritors -
KT-66013Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classes -
KT-62880K2 IDE: Unresolved java annotation methods in KDoc -
KT-66530K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use site -
KT-65571Support VirtualFile inputs to Analysis API modules -
KT-66485Substituted types are not provided for callable references -
KT-66498Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itself -
KT-64579K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found" -
KT-65978Analysis API: Use soft references inFileStructureCache -
KT-64051K2 IDE: Analysis API: Unresolved links to typealias in KDoc -
KT-66189K2 / IDE: KtFirExpressionTypeProvider bugs -
KT-61422K2 IDE: "No array element type for vararg value parameter: org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl" -
KT-66276K2: Analysis API:TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEMfalse positive for script parameter -
KT-66232K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR tests -
KT-60996K2: Stub Based Deserializer: Set versionRequirements to enable VERSION_REQUIREMENT_DEPRECATION diagnostics -
KT-66306K2: Analysis API: drop ability to enable global phase resolve lock -
KT-55750LL FIR: Implement multi-threaded resolve -
KT-65563Analysis API: Missing session componentFirExpectActualMatchingContextFactoryinLLFirLibrarySession -
KT-66173K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySession -
KT-66238Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin master -
KT-65099K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols() -
KT-65265Analysis API: Add library session invalidation tests -
KT-56288Analysis API: Add tests for session invalidation on the Analysis API side -
KT-64000K2: make AnnotationArgumentsStateKeepers more accurate -
KT-63606K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformations -
KT-65191KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken code -
KT-62136Analysis API: Add concurrent tests forCleanableSoftValueCache -
KT-61222K2: Add lifecycle management forKtResolveExtension -
KT-65960Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode tests -
KT-65240K2: CodeGen API fails to resolve Annotation parameter type when it runs FIR2IR for a class with a parent class from other module if the parent class has an annotation from another module -
KT-65344K2: make FirScript statements (declarations) independent -
KT-65930AA: receiver type forInt?::foomisses nullability -
KT-65914AA: receiver type forthis::fooreturns return type of the target callable -
KT-62071Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is null -
KT-65780K2: polish FileStructure implementation for FirFile -
KT-62840K2 Script: everything around destructuring declaration on top level of scripts are broken -
KT-64528K2 IDE: MPP: unregistered component 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' -
KT-64921K2 IDE: references in platform code resolve to expect classifier instead of actual -
KT-61296K2: do not resolve the entire file on lazyResolve call if FirFile is passed -
KT-65683Analysis API: Dangling file session creation causes acomputeIfAbsentcontract violation -
KT-64884K2 IDE. FP [NAMED_PARAMETER_NOT_FOUND] for copy method of library data class when class has not parameter-properties -
KT-65763K2: value parameter from library data class copy have RAW_FIR phase -
KT-65665Analysis API: supportKtDelegatedSuperTypeEntryinKtFirExpressionInfoProvider.isUsedAsExpression -
KT-62899K2 IDE. IDE ignores@Suppressannotation for errors -
KT-65655Analysis API:KtCodeCompilationExceptionshould not strongly reference FIR sessions -
KT-62302Support PsiType -> KtType conversion -
KT-64604K2: IDE K2: "Modules are inconsistent during performance tests" -
KT-65345K2: unify FirDesignation and LLFirResolveTarget -
KT-61757K2 IDE: resolution to buitlins does not work for from common module -
KT-65268K2: Checking the presence of the delegated constructor call forces AST loading -
KT-63330Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation arguments -
KT-65418Analysis API:LLFirAbstractSessionFactoryloads anchor module sessions eagerly -
KT-64718Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE Plugin -
KT-65075K2: getContainingDeclaration() is broken for declarations inside code fragments -
KT-61332SupportKtTypeCodeFragmentinPsiRawFirBuilder -
KT-65150AA: incorrect result fromKtTypeProvider#getReceiverTypeForDoubleColonExpressionfor Java static method -
KT-56551LL FIR: implement parallel resolve for jumping phases -
KT-65223Psi: avoid KtFile usages -
KT-65307Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModule -
KT-62695K2 IDE: Unresolved extension functions in KDoc -
KT-65152Analysis API: KDoc references to packages are not fully resolved -
KT-64988K2 IDE: Navigation from the named argument in safe call does not work -
KT-63195AA: incorrect results fromKtTypeProvider#getReceiverTypeForDoubleColonExpression -
KT-64074K2: Investigate LL divergence for Script.testTopLevelPropertyInitialization -
KT-62441K2: IDE K2: "No dangling modifier found" -
KT-62895K2 IDE. FP'when' expression must be exhaustivewith sealed interface from library -
KT-64993Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe calls -
KT-64883Allow direct creation of KtCommonFile -
KT-64646K2: properly forbid ast loading during raw fir phase in tests -
KT-64862Psi: missed parenthesis in type reference presentation -
KT-62893K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from library -
KT-63795K2:lazyResolveToPhase(BODY_RESOLVE)cannot be called from a transformer with a phase BODY_RESOLVE from SealedClassInheritorsProviderIdeImpl -
KT-64805Analysis API: introduce common entry point for multi-file test cases -
KT-64714K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repo -
KT-64647K2: Allow to calculate decompiled inheritors for sealed classes in tests -
KT-64595AA: stackoverflow while simplifying a type with a recursive type parameter -
KT-64825Analysis API. Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor' exception on getContainingSymbol call for default setter parameter -
KT-64080K2: Analysis API: On-air resolve does not trigger resolution of delegated super call arguments -
KT-64243K2: proper lazy resolution for fake overrides -
KT-62891K2 IDE. FP [EXPOSED_FUNCTION_RETURN_TYPE] on overriding library method which returns protected type -
KT-62667K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports) -
KT-61890Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolve -
KT-64197K2: Code fragments are only supported in JVM -
KT-62357K2 IDE. False positive on generated component methods and false negative on getter of@JvmRecordclasses in Java -
KT-62892K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type position -
KT-62888K2 IDE. IDE infers reference toKMutablePropertyas reference to justKProperty -
KT-64584K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarations -
KT-60324K2 IDE: "NoSuchElementException: List is empty at JavaOverrideChecker#buildErasure" -
KT-62896K2 IDE. FP ABSTRACT_MEMBER_NOT_IMPLEMENTED on inheriting class from library which implements interface by delegation -
KT-62947Analysis API: Error while resolving FirPropertyImpl -
KT-64468Analysis API: Implement mixed multi-module tests which support different kinds ofKtModules -
KT-56541Symbol Light Classes: No@NotNullannotations are generated for accessors of lateinit properties of unresolved types -
KT-63547K2 IDE. False Positive AMBIGUOUS_ANNOTATION_ARGUMENT -
KT-64205Analysis API: Do not import non-top-level callables by default -
KT-63056K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysis -
KT-64108K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overrides -
KT-63752K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializer -
KT-63718Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name sets -
KT-64225K2: IDE K2: "FirLazyBlock should be calculated before accessing" in evaluate debuger completion -
KT-64186Analysis API: ContextCollector provides incorrect scopes for anonymous objects -
KT-63979K2 IDE: presentation of types in completion is too verbose -
KT-63681K2: LL FIR: Improve isResolved check coverage of after lazy resolution -
KT-62982K2: Cannot get a PSI element for 'Enum.values' -
KT-59732FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)cannot be called from a transformer with a phase IMPORTS from serialisation plugin -
KT-62676K2 IDE: Reference shortener does not recoginize redundant this references -
KT-63627K2 IDE: shorten reference shortens required qualifier -
KT-62675K2 IDE: Reference shortener does not recoginize redundant labels -
KT-60957K2: Analysis API: Reference shortener does not work correctly with invoke function calls on properties -
KT-63771fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classes -
KT-60327K2 IDE. "IllegalArgumentException: source must not be null" during delegation declaration -
KT-62421K2: IDE K2: "lazyResolveToPhase(BODY_RESOLVE)cannot be called from a transformer with a phase BODY_RESOLVE." -
KT-62587K2 IDE. FP unresolved reference on accessing nested class in annotation argument -
KT-63700K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructor -
KT-61383K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependencies -
KT-62111K2 IDE. IllegalArgumentException on for loop with iterator declaration attempt -
KT-63538Analysis API: Removing a contract statement viaPsiElement.delete()does not trigger an out-of-block modification -
KT-63694K1/K2 IDE. "RuntimeException: Broken stub format, most likely version of kotlin.FILE (kotlin.FILE) was not updated after serialization changes" exception on incorrect class name -
KT-63660K2: expect-actual gutter icons must be shown when declarations are matched but incompatible -
KT-63560Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write access -
KT-62980ImplementKtFirSimpleNameReference#getImportAlias -
KT-63130Analysis API: No receiver found for broken code during commit document -
KT-62705K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classes -
KT-60170K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invoke -
KT-61783K2: Analyze 'KtCodeFragment' in a separate session -
KT-62010K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type" -
KT-62957Analysis API: NullPointerException on call resolution when builtins are not available -
KT-61252K2: IDE K2: "By now the annotations argument mapping should have been resolved" -
KT-62935Analysis API:kotlin.Cloneableshould not be available in Kotlin/Native sources -
KT-62910Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIR -
KT-63096K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scope -
KT-62310K2 IDE. False positives errors with external annotations -
KT-63282K2 Script: annotation arguments phase should resolve propagated annotations -
KT-62397K2 IDE. FP Error in the editor onRequiresOptInannotation from the lib despite the warning level -
KT-63223Analysis API: reference to declarations with kotlin* package are not resolved -
KT-62626IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializer -
KT-62693K2: IDE K2: "PSI should present for declaration built by Kotlin code" -
KT-62674K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependencies -
KT-61889Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollector -
KT-62772Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common code -
KT-60319K2 IDE: "Stability for initialized variable always should be computable" -
KT-62859K2 IDE: "Evaluate expression" throws exception when calling "Any?.toString()" -
KT-63058K2 IDE: Code completion unexpectedly imports static/companion object method -
KT-62588getExpectedType should not calculate type of the expression -
KT-61990K2: Unexpected returnTypeRef for FirSyntheticProperty -
KT-62625K2: 'FirLazyExpression should be calculated before accessing' for unresolved super type -
KT-62691K2: optimize getFirForNonKtFileElement for references inside 'where' -
KT-62834K2: missing file node level in control flow builder -
KT-62768Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common code -
KT-62874K2: FirLazyExpression should be calculated before accessing -
KT-62407Analysis API: resolve[this]in KDoc to extension receiver -
KT-61204K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication" -
KT-61901Analysis API: Declared member scopes for Java classes are missing static members -
KT-61800Analysis API: Provide separate declared member scopes for non-static and static callables -
KT-61255Analysis API: Get rid ofvalueOf,valuesandentriesfrom a declared member scope -
KT-62466Expected type for functional expression should include inferred types -
KT-61203IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found" -
KT-61791Analysis API: Implement combinedgetPackagefor combined Kotlin symbol providers -
KT-62437K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypes -
KT-62244K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates application -
KT-62897K2 IDE. Unresolved declarations from libraries which are doubled inintellijproject libraries -
KT-61615K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSession -
KT-59334K2: LLFirImplicitTypesLazyResolver problems -
KT-62038K2: Nested classes are missing in symbol light class structure tests for libraries -
KT-61788Analysis API: Symbol forFirAnonymousInitializercannot be null -
KT-62139Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity check -
KT-62090Analysis API: introduce an API to get a substitution formed by class inheritance -
KT-62268K2 IDE. No autocompletion and IllegalStateException for Pair -
KT-60325K2 IDE. "IllegalArgumentException: source must not be null" onthrowusage attempt -
KT-61431K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script property -
KT-58490K2: LLFirTypeLazyResolver problems -
KT-58494K2: LLFirAnnotationArgumentsLazyResolver problems -
KT-58492K2: LLFirBodyLazyResolver problems -
KT-58769K2: LL FIR: implement platform-dependent session factories -
KT-60343K2 IDE. IllegalArgumentException on passing incorrect type parameter to function -
KT-61842K2: reduce number of "in-block modification" events -
KT-62012K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method" -
KT-61371K2: Analysis API standalone: register compiler symbol provider for libraries in standalone mode -
KT-60611K2: reduce number of "in-block modification" events -
KT-61425Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous object -
KT-61405Analysis API: An enum entry should not be aKtSymbolWithMembers -
KT-55504AA: remove dependency on :compiler:cli from standalone AA -
KT-60904K2: IDE K2: "For DESTRUCTURING_DECLARATION_ENTRY with text_, one of element types expected, but FirValueParameterSymbol found" -
KT-61260K2 Scripts: Containing function should be not null for KtParameter -
KT-61568FIR Analysis API:collectCallCandidatesgives presence to the top level functions in the presence of more suitable overrides -
KT-60610K2 IDE: move "out of block" processing logic into LL FIR -
KT-61597Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum oneexpectfor the actual on errorneous code with multiple expects -
KT-59793K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImport -
KT-61599K2: ContextCollector: Support smart cast collection -
KT-61689Analysis API: ContextCollector provides incorrect context in scripts -
KT-61683Analysis API: resolve ambiguities in kotlin project -
KT-61245Analysis API: ContextCollector provides incorrect context for supertype constructor calls -
KT-60384K2: Opening@JvmNamesource in IDEA: NPE at PsiRawFirBuilder$Visitor.toFirConstructor() -
KT-60918K2 IDE: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry, fir is null" -
KT-61013K2 Scripts: LLFirReturnTypeCalculatorWithJump: No designation of local declaration -
KT-59517K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent -
KT-61331K2: add cache restoring in case of existing context -
KT-61408K2: IDE K2: "Inconsistency in the cache. Someone without context put a null value in the cache"
Analysis. Light Classes
Performance Improvements
-
KT-63486SLC: a lot of RAM is allocated inorg.jetbrains.kotlin.asJava.LightClassUtil.isMangled
Fixes
-
KT-66692SLC:findAttributeValuefor attribute w/ default value in Java returnsnull -
KT-61734SLC: wildcard suppression not honored -
KT-65112Symbol Light Classes don't support annotations on type parameters -
KT-65843K2: Light method returnskotlin.Unittype forTestResultreturn type -
KT-65653SLC: wrong binary resolution to function with value class -
KT-65393SLC: missing deprecated-hidden property -
KT-64772SLC: presence of source PSI for compiler-generated declaration -
KT-65425K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classes -
KT-64937SLC: internal setters are not mangled -
KT-63949K2 IDE. Analyze hang on@Autowiredconstructor analysis -
KT-63087K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolved -
KT-64605K2 IDE: usage of@Repeatableannotation in Java: false positive "Duplicate annotation" -
KT-64795SLC: distinguish last v.s. non-lastvarargvalue parameter type during binary resolution -
KT-61605K2 IDE: Light elements do not obey platform contracts -
KT-57536SLC: no need to populate members withexpectmodifier -
KT-64320Decouple kotlin psi from java PSI -
KT-64282Decouple KotlinIconProviderService from java PSI -
KT-63552Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter values
Apple Ecosystem
-
KT-63821Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign task -
KT-67892KotlinNativeLink task instantiates with a fixed list of apiFiles -
KT-64096Diagnostic when embedAndSign used for framework with cocoapods-dependencies -
KT-66446Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamic -
KT-66445Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is static -
KT-62373"Xcode higher than tested" diagnostic -
KT-63212podInstall task fails without a proper diagnostic when xcodeproj gem is outdated
Backend. Native. Debug
-
KT-65553K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2 -
KT-57365[Native] Incorrect debug info on inline function call site
Backend. Wasm
New Features
-
KT-65009Generate TypeScript definitions for the@JsExportdeclarations in K/Wasm -
KT-58088[PL] Support & enable partial linkage for Wasm -
KT-66327Include information about particular Wasm target into KLib manifest
Fixes
-
KT-66465WASM support doesn't appear to be able to see some common declarations -
KT-66905K/Wasm: support new version of exception handling proposal -
KT-66515Wasm: "call param types must match" during the build -
KT-67435K/Wasm: import.meta.url transforming into absolute local path in webpack -
KT-65777Implement named export for Kotlin/Wasm -
KT-65660[WasmJs] Support catching JS exceptions -
KT-65824Wasm: Allow unsigned primitives to be used inside functions annotated with@JsExport -
KT-66103Wasm: companion object is not initialized in test initializers1.kt -
KT-66471Null method reference with Kotlin/Wasm on 2.0.0-Beta4 -
KT-65210K/Wasm::classoperator produces Number KClass for Short expression -
KT-66065[Wasm] Make specialisations for closured primitive values -
KT-64890K/Wasm compiler crash with external class and Kodein -
KT-66104Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicate -
KT-65778Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JS -
KT-65411Kotlin/Wasm: Boolean boxed instances are not the same -
KT-65713Kotlin/Wasm generates a wrapper that cannot run in Deno -
KT-63939Kotlin/Wasm Support lazy associated object initialisation -
KT-61888[Kotlin/wasm] in kotlin.test support for@AfterTestfor async tests -
KT-64803K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvm -
KT-64449K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2 -
KT-64829K/Wasm: division remainder has a wrong sign -
KT-58852WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature [register(kotlin.Array<T of kotlin.Array>) -
KT-61263K/Wasm: add a way to turn on k2 in wasm examples using Compose -
KT-62863Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QG -
KT-62657K/Wasm: switch to json repots for Kotlin Wasm Benchmarks -
KT-62147[Kotlin/Wasm] Nothing typed when expression cause a backend error -
KT-61958Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposals -
KT-60828K/Wasm: return br_on_cast_fail usages -
KT-59084WASM: "RuntimeError: illegal cast" caused by inline class and JsAny -
KT-60700[WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259
Compiler
New Features
-
KT-45375Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by default -
KT-24664No smartcast on stable property if receiver had non-null assertion -
KT-23915Add smart cast to non-nullable type after elvis operator -
KT-61077Support provideDelegate inference from var property type -
KT-59688K2: consider removing smartcasts only from the only visibile property with specific name, not from all of them -
KT-7389Intersection type for type parameter with multiple upper bounds in star projection -
KT-63477Consider supporting builder-style type inference from Unit coercion of last statements in lambdas -
KT-61907K2: builder inference works with assignments to member properties -
KT-61909K2: builder inference infers correct types from assignments to extension properties -
KT-59551K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variable -
KT-65443[K/N] Implement header caches -
KT-4113Smart casts for properties to not-null functional types atinvokecalls -
KT-65681K2: Improve error message of UPPER_BOUND_VIOLATED when upper bound is a captured type or other non-denotable type -
KT-32754Choose existing extensions over additional built-ins members from JDK except overrides -
KT-57800Support synthetic properties onsuperreceiver -
KT-64350K2: deprecate using typealias as a callable qualifier in imports -
KT-26565Choose existing extensions over additional built-ins members from JDK -
KT-65478JVM: Change inlined variable naming format -
KT-64702Upper bound of type parameter is ignored when capturing of in-projection appears in out position -
KT-60274K2: builder inference works through a delegated local variable inside builder argument -
KT-65859Calls refinement extension point -
KT-15220Reuse resolution results of common code for platform modules in multiplatform projects -
KT-60476K2: False positive NO_VALUE_FOR_PARAMETER in platform code for value class with default parameter in common declaration -
KT-65153K/N: extract liveness analysis to a separate phase -
KT-59098Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8 -
KT-63670Implement platform specific declaration clash diagnostics across all backends -
KT-62547Introduce a language feature flag for smartcasts based on "memory" variables -
KT-60820K1: Empty vararg value is inserted in serialized annotation call with expect default vararg value -
KT-58172Forbidexpect class A actual constructor -
KT-54443Smart cast to non-null after safe-call in require -
KT-25747DFA variables: propagate smart cast results from local variables -
KT-22997Smart-cast should merge is-check for non-nullable type and a null check to a nullable type -
KT-22996Smart casts should observe nullability after is-check with a nullable subject type -
KT-22004Allow to resolve CONFLICTING_OVERLOADS with Deprecated(HIDDEN) -
KT-61955Support more wider actual member visibility, if the expect member is effectively final -
KT-59504K2 compiler does not require resolved 'componentX' functions for the placeholder ('_') variables in the destructuring declarations -
KT-62239Allow enum entries without parentheses uniformly -
KT-11712Smart cast is not applied for invisible setter
Performance Improvements
-
KT-47545NI: Slow type inference involving large when-expression (ConstraintInjector.processConstraints) -
KT-62714Do not add nullability annotations to the methods of inner classes in enum entries -
KT-62903Unoptimziedwhencompilation -
KT-67388FP intellij: performance degradation in build 611 -
KT-67507K2: Slow compilation times when a class has a lot of possibly conflicting declarations -
KT-65005K2: Investigate testCommonSuperTypeContravariant performance -
KT-65996Compiler enters endless loop -
KT-66341K2: Don't build IdSignatures in FIR2IR with IR f/o builder -
KT-66172K2: Improve memory consumption ofKtPsiSourceElement -
KT-50860Combination of array set convention and plusAssign works exponentially -
KT-62798'in' range checks are not intrinsified in kotlin-stdlib -
KT-65579K2: performance regression in FP Space -
KT-61635K2:getConstructorKeywordcall inPsiRawFirBuilder.toFirConstructorforces AST load -
KT-62619FIR: Checker performance regression due to MISSING_DEPENDENCY checkers -
KT-62044Do not add nullability annotations to the methods of anonymous class -
KT-62706Optimize KtSourceElement.findChild() -
KT-62513Do not add nullability annotations to the methods of local classes -
KT-61991K2: avoid redundant full body resolution for properties during implicit type phase -
KT-61604[K/N] Bitcode dependency linking is slow for large compilations -
KT-61121[K/N] Kotlin Native compiler performance is slow when generating large frameworks -
KT-57616K2: Consider optimizing reversed versions of persistent lists in FirTowerDataContext
Fixes
-
KT-67993K2: PCLA Inference throws exception with local objects -
KT-61768Wrong bytecode index in LineNumberTable when there is an incremental operation -
KT-63580"AssertionError: access of const val: GET_FIELD" caused by const value and variable with delegation -
KT-63567"NoSuchMethodError" on getting value of lazily initialized property by companion's const value -
KT-56078K2: build kotlinx.coroutines -
KT-67609K2: False negative INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR -
KT-57750Report ambiguity error when resolving types and having the same-named classes star imported -
KT-65603K2: No approximation is done on public, but effectively private property -
KT-59932K2: Disappeared AMBIGUOUS_ANONYMOUS_TYPE_INFERRED -
KT-59906K2: Disappeared CAPTURED_VAL_INITIALIZATION -
KT-53886NoSuchMethodError exception in Kotlin/Native compiler -
KT-57678K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closures -
KT-57871K1/K2 inconsistency on if-conditional without else-branch in parenthesis -
KT-56384K2: build IntelliJ monorepo master branch -
KT-49191Leaked integer literals from lambda with flexible return type -
KT-65812K2: "OutOfMemoryError: Java heap space" in kotlin.utils.SmartList.add -
KT-67224K2/Native: Member overrides different '@Throws' filter from separate module -
KT-65623K2: Unresolved reference in connection with casts -
KT-64136K2: NSME with Anvil compiler plugin -
KT-51241Provide a error when override method has different set of context receivers -
KT-52920Confusing "Multiple arguments applicable for context receiver" error message -
KT-67912K2: Cannot inference type properly from inline function with Type parameter -
KT-68056Prohibit referencing java field in case of conflict with property from companion object of the derived class -
KT-61129K2: Implement error suppression warning -
KT-67367K2: Incorrect resolution to top-level function with less specific signature in presence of SAM constructor on the same tower level -
KT-50179Fix DUPLICATE_LABEL_IN_WHEN warning with new rules of complex boolean constants -
KT-45334Prohibit referencing constructors of sealed classes by its inner members -
KT-59943K2: Disappeared OPERATOR_MODIFIER_REQUIRED -
KT-67875K2: Resolution ambiguity between Iterable and varargs -
KT-67699Not enough information to infer type argument for 'Error' using Arrow's Raise context receiver since Kotlin 2.0.0-Beta3 -
KT-67486K2: Calling method from a Java (implementing a Kotlin class) with named parameters is no longer possible if Java method has different parameter names -
KT-66527K2: type mismatch on override fortype -
KT-59897K2: Disappeared PACKAGE_OR_CLASSIFIER_REDECLARATION -
KT-50020K2: False-negative USAGE_IS_NOT_INLINEABLE when lambda in receiver position -
KT-44557Implement main function detection to FIR -
KT-67810K2: public-API inline function cannot access non-public-API annotation enum -
KT-66447Implement KT-59138 under a language feature -
KT-54862Anonymous type can be exposed from private inline function from type argument -
KT-37592Property invoke of a functional type with receiver is preferred over extension function invoke -
KT-51194False negative CONFLICTING_INHERITED_MEMBERS when dependency class contained in two different versions of the same dependency -
KT-67221K2: "new inference error [NewConstraintError at Incorporate TypeVariable" for captured type -
KT-66701K2: Java interface method override via Kotlin class rejected -
KT-60604K2: introduced NON_PUBLIC_CALL_FROM_PUBLIC_INLINE,@PublishedApineeded for constants in annotations -
KT-64309Generate a variable mapping for continuation parameter in suspend methods just from the start -
KT-65438K2: Introduce WEAKLY_HIDDEN concept to built-in-JDK content mapping -
KT-65235JDK 21 might lead to change in overloads resolution -
KT-66768K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call -
KT-67106Platforms libs-dependant autotests for ObjC checkers -
KT-65440K2: Mark all potential implementations of List.getFirst()/getLast() as deprecated independently of JDK -
KT-65594K2: Type inference fails on NullMarked object with star type -
KT-62849Unoptimised bytecode for Java synthetic property references -
KT-60174JVM IR inline: accidental reification in various cases -
KT-57609K2: Stop relying on the presence of@UnsafeVarianceusing for contravariant parameters -
KT-54316Out-of-call reference to companion object's member has invalid signature -
KT-66976Some value class diagnostics are missed -
KT-57426Incorrect error message on inapplicable smartcast from alien property -
KT-55111OptIn: forbid constructor calls with default arguments under marker -
KT-49856Incorrect smartcast on var assigned in try-catch block -
KT-41237ReturnsImplies contract for receiver of member function does not work (no smartcast) -
KT-37878No Smart cast for class literal reference of nullable generic type -
KT-35846Smart cast with unchecked cast leads to unresolved call that was resolved before (both old and new inference) -
KT-30867Unsound smartcast if smartcast source and break is placed in for-in header as function arguments - [
KT-30267](https://you
Configuration
📅 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 these updates again.
- [ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
SpotBugs
| Category | Base | New |
|---|---|---|
| Bad practice | 35 | 35 |
| Correctness | 34 | 34 |
| Dodgy code | 26 | 26 |
| Internationalization | 6 | 6 |
| Malicious code vulnerability | 49 | 49 |
| Multithreaded correctness | 3 | 3 |
| Performance | 8 | 8 |
| Total | 161 | 161 |
SpotBugs
| Category | Base | New |
|---|---|---|
| Bad practice | 35 | 35 |
| Correctness | 34 | 34 |
| Dodgy code | 26 | 26 |
| Internationalization | 6 | 6 |
| Malicious code vulnerability | 49 | 49 |
| Multithreaded correctness | 3 | 3 |
| Performance | 8 | 8 |
| Total | 161 | 161 |
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 49.02%. Comparing base (
e701b94) to head (28624b0). Report is 2 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #1461 +/- ##
============================================
- Coverage 49.18% 49.02% -0.17%
+ Complexity 1001 999 -2
============================================
Files 208 208
Lines 7819 7827 +8
Branches 1017 1015 -2
============================================
- Hits 3846 3837 -9
- Misses 3420 3437 +17
Partials 553 553