Update kotlin to v2 (major) - autoclosed #784
Closed
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:
1.8.21->2.0.201.8.21->2.0.20Release Notes
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-maven-plugin)
v2.0.20Compare Source
v2.0.10: Kotlin 2.0.10Compare Source
2.0.10
Apple Ecosystem
KT-68257Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0Compiler
Fixes
KT-69876K2 Compile exception: Only IrBlockBody together with kotlinx serializationKT-68521K2: Property's private setters can be bypassed when using plusAssign and minusAssign operatorsKT-68667K2: Compiler hangs on mapNotNull and elvis inside lambdaKT-68747K2: Long compilation time because of constraint solving when using typealias in different modulesKT-68940K2: "IllegalArgumentException: All variables should be fixed to something"KT-68797K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled cachingKT-68362False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.MapKT-68449K2: "when" expression returns UnitKT-67072K2: inconsistent stability of open vals on receivers of final typeKT-68570K2: "Unresolved reference" in call with lambda argument and nested lambda argumentKT-69159K2: KotlinNothingValueException in ExposedKT-68623K2: "Only safe or null-asserted calls are allowed" on safe callKT-68193JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null typesKT-67804removeFirst and removeLast return type with Java 21KT-68727K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different moduleKT-68383K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection typesKT-68546K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloadsKT-68626K2: "Conflicting Overloads" for function if inherited from generic typeKT-68351K2: "Suspension functions can only be called within coroutine body"KT-68489K2: WRONG_ANNOTATION_TARGET with Java and Kotlin@Targetannotation positionsKT-69058K2: Java-defined property annotations not persistedKT-64515K2 IDE: [NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suitesKT-68016K2: Gradle repo testshould compile correctly with Kotlin explicit api modefails on K2KT-68575K2:@ParameterNameannotation is not erased when inferring the type ofitin lambdasKT-67999K2: lost flexibility on parameters of Java SAMKT-59679K2: Investigate extracting uncompleted candidates from blocksKT-68401K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVMKT-68806K/Wasm RuntimeError: unreachable on Sequence::toListKT-68455K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONSKT-68538KJS/K2: usingwhilewithbreakinside inline lambdas leads to an endless cycleKT-68798JVM compiler crashes on calling private expect constructor with a default parameterKT-68734K2: enum class in KMP: Expect declarationMMKVLogLevelis incompatible with actualMMKVLogLevelbecause modality is differentKT-68674False positive ACTUAL_WITHOUT_EXPECT in K2KT-68350K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from functionKT-68571K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statementKT-68523K2: FileAnalysisException when using Definitely non-nullable typesKT-68339K2: "Enum entry * is uninitialized here" caused by lazy property with enum inwhenexpressionKT-66688K2: false-negative "upper bound violated" error in extension receiverKT-68630DiagnosticsSuppressor is not invoked with Kotlin 2.0KT-68222K2. KMP. False negativeExpected declaration must not have a bodyfor expected top-level property with getter/setterKT-64103FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElementKT-68191K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClassKT-68024K2: Gradle repo testaccessors to kotlin internal task types...fails on K2KT-64957K1: drop ModuleAnnotationResolverCompose compiler
0c5a858Fix memoization of captureless lambdas when K2 compiler is used b/340582180a8249d6Allow memoizing lambdas in composable inline functions b/340606661Native
KT-68094K2/Native: Member inherits different '@Throws' when inheriting from generic typeTools. Compiler Plugins
KT-69187Compose compiler for web doesn't support rememberComposableLambdaKT-68557K2. Supertypes resolution of KJK hierarchy fails in presence of allopen pluginTools. Compiler plugins. Serialization
KT-68850Compose lambda type not transformed with KGP 2 + new Compose pluginTools. Daemon
KT-68297KGP 2.0 regression: JAVA_TOOL_OPTIONS is not considered in Kotlin daemon creationTools. Gradle
KT-69330KotlinCompile friendPathsSet property is racy due causing build cache invalidationKT-69026Mark AGP 8.5.0 as compatible with KGPKT-68447ill-added intentionally-broken dependency source configurationsKT-69078Gradle: Add option to disable FUS ServiceKT-68278Spring resource loading in combination withjava-test-fixturesplugin brokenKT-66452Gradle produces false positive configuration cache problem for Project usage at execution timeKT-68242Run tests against AGP 8.4.0Tools. Gradle. Multiplatform
KT-68805KMP project (re-)import took a long time for downloading platform libsKT-68248kotlin multiplatform project fail to build on Fedora with correttoTools. Gradle. Native
KT-68638KGP 2.0 breaks native test with api dependencies and configuration cacheKT-65761Missing JDK Platform ClassLoader when compiling Kotlin native in daemonTools. JPS
KT-69204Generate lookups in dumb mode for compatibility with ref indexTools. Kapt
KT-68171K2KAPT: boxed return types in overridden methods changed to primitivesTools. Scripts
KT-68681K2 / CLI / Script: "NullPointerException: getService(...) must not be null" caused by@DependsOnKT-67747K2: regression in Spring unit tests usingjavax.script.ScriptEnginev2.0.0Compare Source
Analysis. API
New Features
KT-65327Support reading klib contents in Analysis APIPerformance Improvements
KT-65560K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elementsKT-64987Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOfKT-61789K2: optimize getFirForNonKtFileElement for references inside super type referenceKT-59498K2: getOnAirGetTowerContextProvider took too much time due to on air resolveKT-61728Analysis API: optimize AllCandidatesResolver.getAllCandidatesFixes
KT-65561Analysis API: dummy.kt is not a physical fileKT-65616K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUSKT-65600Analysis Api: FirFile for KtCodeFragments are created and not updated on changesKT-64919K2 IDE: Implement KMP support for sealed class inheritorsKT-64241K2: Unresolved calls to functions in scripts depending on included projectsKT-65813Analysis API Standalone:FirDeclarationForCompiledElementSearcherdoes not find compiled elementsKT-66052AA: render expect/actual modifierKT-66795KtCodeFragment.clone() is brokenKT-66532K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target fileKT-64833Analysis API: Members implemented by delegation have no overridden symbolsKT-62405Analysis API: SymbolsSUBSTITUTION_OVERRIDEhave no overridden symbolsKT-66749K2: "Collection contains no element matching the predicate" on an unresolved callKT-62832K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatusKT-66719AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilationKT-66603Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiTypeKT-64505Analysis API Standalone: Remove test-specific calculation of sealed class inheritorsKT-66013Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classesKT-62880K2 IDE: Unresolved java annotation methods in KDocKT-66530K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use siteKT-65571Support VirtualFile inputs to Analysis API modulesKT-66485Substituted types are not provided for callable referencesKT-66498Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itselfKT-64579K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found"KT-65978Analysis API: Use soft references inFileStructureCacheKT-64051K2 IDE: Analysis API: Unresolved links to typealias in KDocKT-66189K2 / IDE: KtFirExpressionTypeProvider bugsKT-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 parameterKT-66232K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR testsKT-60996K2: Stub Based Deserializer: Set versionRequirements to enable VERSION_REQUIREMENT_DEPRECATION diagnosticsKT-66306K2: Analysis API: drop ability to enable global phase resolve lockKT-55750LL FIR: Implement multi-threaded resolveKT-65563Analysis API: Missing session componentFirExpectActualMatchingContextFactoryinLLFirLibrarySessionKT-66173K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySessionKT-66238Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin masterKT-65099K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols()KT-65265Analysis API: Add library session invalidation testsKT-56288Analysis API: Add tests for session invalidation on the Analysis API sideKT-64000K2: make AnnotationArgumentsStateKeepers more accurateKT-63606K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformationsKT-65191KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken codeKT-62136Analysis API: Add concurrent tests forCleanableSoftValueCacheKT-61222K2: Add lifecycle management forKtResolveExtensionKT-65960Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode testsKT-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 moduleKT-65344K2: make FirScript statements (declarations) independentKT-65930AA: receiver type forInt?::foomisses nullabilityKT-65914AA: receiver type forthis::fooreturns return type of the target callableKT-62071Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is nullKT-65780K2: polish FileStructure implementation for FirFileKT-62840K2 Script: everything around destructuring declaration on top level of scripts are brokenKT-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 actualKT-61296K2: do not resolve the entire file on lazyResolve call if FirFile is passedKT-65683Analysis API: Dangling file session creation causes acomputeIfAbsentcontract violationKT-64884K2 IDE. FP [NAMED_PARAMETER_NOT_FOUND] for copy method of library data class when class has not parameter-propertiesKT-65763K2: value parameter from library data class copy have RAW_FIR phaseKT-65665Analysis API: supportKtDelegatedSuperTypeEntryinKtFirExpressionInfoProvider.isUsedAsExpressionKT-62899K2 IDE. IDE ignores@Suppressannotation for errorsKT-65655Analysis API:KtCodeCompilationExceptionshould not strongly reference FIR sessionsKT-62302Support PsiType -> KtType conversionKT-64604K2: IDE K2: "Modules are inconsistent during performance tests"KT-65345K2: unify FirDesignation and LLFirResolveTargetKT-61757K2 IDE: resolution to buitlins does not work for from common moduleKT-65268K2: Checking the presence of the delegated constructor call forces AST loadingKT-63330Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation argumentsKT-65418Analysis API:LLFirAbstractSessionFactoryloads anchor module sessions eagerlyKT-64718Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE PluginKT-65075K2: getContainingDeclaration() is broken for declarations inside code fragmentsKT-61332SupportKtTypeCodeFragmentinPsiRawFirBuilderKT-65150AA: incorrect result fromKtTypeProvider#getReceiverTypeForDoubleColonExpressionfor Java static methodKT-56551LL FIR: implement parallel resolve for jumping phasesKT-65223Psi: avoid KtFile usagesKT-65307Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModuleKT-62695K2 IDE: Unresolved extension functions in KDocKT-65152Analysis API: KDoc references to packages are not fully resolvedKT-64988K2 IDE: Navigation from the named argument in safe call does not workKT-63195AA: incorrect results fromKtTypeProvider#getReceiverTypeForDoubleColonExpressionKT-64074K2: Investigate LL divergence for Script.testTopLevelPropertyInitializationKT-62441K2: IDE K2: "No dangling modifier found"KT-62895K2 IDE. FP'when' expression must be exhaustivewith sealed interface from libraryKT-64993Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe callsKT-64883Allow direct creation of KtCommonFileKT-64646K2: properly forbid ast loading during raw fir phase in testsKT-64862Psi: missed parenthesis in type reference presentationKT-62893K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from libraryKT-63795K2:lazyResolveToPhase(BODY_RESOLVE)cannot be called from a transformer with a phase BODY_RESOLVE from SealedClassInheritorsProviderIdeImplKT-64805Analysis API: introduce common entry point for multi-file test casesKT-64714K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repoKT-64647K2: Allow to calculate decompiled inheritors for sealed classes in testsKT-64595AA: stackoverflow while simplifying a type with a recursive type parameterKT-64825Analysis API. Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor' exception on getContainingSymbol call for default setter parameterKT-64080K2: Analysis API: On-air resolve does not trigger resolution of delegated super call argumentsKT-64243K2: proper lazy resolution for fake overridesKT-62891K2 IDE. FP [EXPOSED_FUNCTION_RETURN_TYPE] on overriding library method which returns protected typeKT-62667K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports)KT-61890Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolveKT-64197K2: Code fragments are only supported in JVMKT-62357K2 IDE. False positive on generated component methods and false negative on getter of@JvmRecordclasses in JavaKT-62892K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type positionKT-62888K2 IDE. IDE infers reference toKMutablePropertyas reference to justKPropertyKT-64584K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarationsKT-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 delegationKT-62947Analysis API: Error while resolving FirPropertyImplKT-64468Analysis API: Implement mixed multi-module tests which support different kinds ofKtModulesKT-56541Symbol Light Classes: No@NotNullannotations are generated for accessors of lateinit properties of unresolved typesKT-63547K2 IDE. False Positive AMBIGUOUS_ANNOTATION_ARGUMENTKT-64205Analysis API: Do not import non-top-level callables by defaultKT-63056K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysisKT-64108K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overridesKT-63752K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializerKT-63718Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name setsKT-64225K2: IDE K2: "FirLazyBlock should be calculated before accessing" in evaluate debuger completionKT-64186Analysis API: ContextCollector provides incorrect scopes for anonymous objectsKT-63979K2 IDE: presentation of types in completion is too verboseKT-63681K2: LL FIR: Improve isResolved check coverage of after lazy resolutionKT-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 pluginKT-62676K2 IDE: Reference shortener does not recoginize redundant this referencesKT-63627K2 IDE: shorten reference shortens required qualifierKT-62675K2 IDE: Reference shortener does not recoginize redundant labelsKT-60957K2: Analysis API: Reference shortener does not work correctly with invoke function calls on propertiesKT-63771fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classesKT-60327K2 IDE. "IllegalArgumentException: source must not be null" during delegation declarationKT-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 argumentKT-63700K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructorKT-61383K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependenciesKT-62111K2 IDE. IllegalArgumentException on for loop with iterator declaration attemptKT-63538Analysis API: Removing a contract statement viaPsiElement.delete()does not trigger an out-of-block modificationKT-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 nameKT-63660K2: expect-actual gutter icons must be shown when declarations are matched but incompatibleKT-63560Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write accessKT-62980ImplementKtFirSimpleNameReference#getImportAliasKT-63130Analysis API: No receiver found for broken code during commit documentKT-62705K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classesKT-60170K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invokeKT-61783K2: Analyze 'KtCodeFragment' in a separate sessionKT-62010K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type"KT-62957Analysis API: NullPointerException on call resolution when builtins are not availableKT-61252K2: IDE K2: "By now the annotations argument mapping should have been resolved"KT-62935Analysis API:kotlin.Cloneableshould not be available in Kotlin/Native sourcesKT-62910Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIRKT-63096K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scopeKT-62310K2 IDE. False positives errors with external annotationsKT-63282K2 Script: annotation arguments phase should resolve propagated annotationsKT-62397K2 IDE. FP Error in the editor onRequiresOptInannotation from the lib despite the warning levelKT-63223Analysis API: reference to declarations with kotlin* package are not resolvedKT-62626IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializerKT-62693K2: IDE K2: "PSI should present for declaration built by Kotlin code"KT-62674K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependenciesKT-61889Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollectorKT-62772Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common codeKT-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 methodKT-62588getExpectedType should not calculate type of the expressionKT-61990K2: Unexpected returnTypeRef for FirSyntheticPropertyKT-62625K2: 'FirLazyExpression should be calculated before accessing' for unresolved super typeKT-62691K2: optimize getFirForNonKtFileElement for references inside 'where'KT-62834K2: missing file node level in control flow builderKT-62768Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common codeKT-62874K2: FirLazyExpression should be calculated before accessingKT-62407Analysis API: resolve[this]in KDoc to extension receiverKT-61204K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication"KT-61901Analysis API: Declared member scopes for Java classes are missing static membersKT-61800Analysis API: Provide separate declared member scopes for non-static and static callablesKT-61255Analysis API: Get rid ofvalueOf,valuesandentriesfrom a declared member scopeKT-62466Expected type for functional expression should include inferred typesKT-61203IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found"KT-61791Analysis API: Implement combinedgetPackagefor combined Kotlin symbol providersKT-62437K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypesKT-62244K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates applicationKT-62897K2 IDE. Unresolved declarations from libraries which are doubled inintellijproject librariesKT-61615K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSessionKT-59334K2: LLFirImplicitTypesLazyResolver problemsKT-62038K2: Nested classes are missing in symbol light class structure tests for librariesKT-61788Analysis API: Symbol forFirAnonymousInitializercannot be nullKT-62139Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity checkKT-62090Analysis API: introduce an API to get a substitution formed by class inheritanceKT-62268K2 IDE. No autocompletion and IllegalStateException for PairKT-60325K2 IDE. "IllegalArgumentException: source must not be null" onthrowusage attemptKT-61431K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script propertyKT-58490K2: LLFirTypeLazyResolver problemsKT-58494K2: LLFirAnnotationArgumentsLazyResolver problemsKT-58492K2: LLFirBodyLazyResolver problemsKT-58769K2: LL FIR: implement platform-dependent session factoriesKT-60343K2 IDE. IllegalArgumentException on passing incorrect type parameter to functionKT-61842K2: reduce number of "in-block modification" eventsKT-62012K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method"KT-61371K2: Analysis API standalone: register compiler symbol provider for libraries in standalone modeKT-60611K2: reduce number of "in-block modification" eventsKT-61425Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous objectKT-61405Analysis API: An enum entry should not be aKtSymbolWithMembersKT-55504AA: remove dependency on :compiler:cli from standalone AAKT-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 KtParameterKT-61568FIR Analysis API:collectCallCandidatesgives presence to the top level functions in the presence of more suitable overridesKT-60610K2 IDE: move "out of block" processing logic into LL FIRKT-61597Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum oneexpectfor the actual on errorneous code with multiple expectsKT-59793K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImportKT-61599K2: ContextCollector: Support smart cast collectionKT-61689Analysis API: ContextCollector provides incorrect context in scriptsKT-61683Analysis API: resolve ambiguities in kotlin projectKT-61245Analysis API: ContextCollector provides incorrect context for supertype constructor callsKT-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 declarationKT-59517K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistentKT-61331K2: add cache restoring in case of existing contextKT-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.isMangledFixes
KT-66692SLC:findAttributeValuefor attribute w/ default value in Java returnsnullKT-61734SLC: wildcard suppression not honoredKT-65112Symbol Light Classes don't support annotations on type parametersKT-65843K2: Light method returnskotlin.Unittype forTestResultreturn typeKT-65653SLC: wrong binary resolution to function with value classKT-65393SLC: missing deprecated-hidden propertyKT-64772SLC: presence of source PSI for compiler-generated declarationKT-65425K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classesKT-64937SLC: internal setters are not mangledKT-63949K2 IDE. Analyze hang on@Autowiredconstructor analysisKT-63087K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolvedKT-64605K2 IDE: usage of@Repeatableannotation in Java: false positive "Duplicate annotation"KT-64795SLC: distinguish last v.s. non-lastvarargvalue parameter type during binary resolutionKT-61605K2 IDE: Light elements do not obey platform contractsKT-57536SLC: no need to populate members withexpectmodifierKT-64320Decouple kotlin psi from java PSIKT-64282Decouple KotlinIconProviderService from java PSIKT-63552Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter valuesApple Ecosystem
KT-64096Diagnostic when embedAndSign used for framework with cocoapods-dependenciesKT-63821Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign taskKT-67892KotlinNativeLink task instantiates with a fixed list of apiFilesKT-66446Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamicKT-66445Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is staticKT-62373"Xcode higher than tested" diagnosticKT-63212podInstall task fails without a proper diagnostic when xcodeproj gem is outdatedBackend. Native. Debug
KT-65553K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2KT-57365[Native] Incorrect debug info on inline function call siteBackend. Wasm
New Features
KT-65009Generate TypeScript definitions for the@JsExportdeclarations in K/WasmKT-58088[PL] Support & enable partial linkage for WasmKT-66327Include information about particular Wasm target into KLib manifestFixes
KT-66465WASM support doesn't appear to be able to see some common declarationsKT-66905K/Wasm: support new version of exception handling proposalKT-66515Wasm: "call param types must match" during the buildKT-67435K/Wasm: import.meta.url transforming into absolute local path in webpackKT-65777Implement named export for Kotlin/WasmKT-65660[WasmJs] Support catching JS exceptionsKT-65824Wasm: Allow unsigned primitives to be used inside functions annotated with@JsExportKT-66103Wasm: companion object is not initialized in test initializers1.ktKT-66471Null method reference with Kotlin/Wasm on 2.0.0-Beta4KT-65210K/Wasm::classoperator produces Number KClass for Short expressionKT-66065[Wasm] Make specialisations for closured primitive valuesKT-64890K/Wasm compiler crash with external class and KodeinKT-66104Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicateKT-65778Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JSKT-65411Kotlin/Wasm: Boolean boxed instances are not the sameKT-65713Kotlin/Wasm generates a wrapper that cannot run in DenoKT-63939Kotlin/Wasm Support lazy associated object initialisationKT-61888[Kotlin/wasm] in kotlin.test support for@AfterTestfor async testsKT-64803K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvmKT-64449K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2KT-64829K/Wasm: division remainder has a wrong signKT-58852WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature [register(kotlin.Array)KT-61263K/Wasm: add a way to turn on k2 in wasm examples using ComposeKT-62863Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QGKT-62657K/Wasm: switch to json repots for Kotlin Wasm BenchmarksKT-62147[Kotlin/Wasm] Nothing typed when expression cause a backend errorKT-61958Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposalsKT-60828K/Wasm: return br_on_cast_fail usagesKT-59084WASM: "RuntimeError: illegal cast" caused by inline class and JsAnyKT-60700[WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259Compiler
New Features
KT-24664No smartcast on stable property if receiver had non-null assertionKT-45375Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by defaultKT-23915Add smart cast to non-nullable type after elvis operatorKT-61077Support provideDelegate inference from var property typeKT-59688K2: consider removing smartcasts only from the only visibile property with specific name, not from all of themKT-7389Intersection type for type parameter with multiple upper bounds in star projectionKT-63477Consider supporting builder-style type inference from Unit coercion of last statements in lambdasKT-61907K2: builder inference works with assignments to member propertiesKT-61909K2: builder inference infers correct types from assignments to extension propertiesKT-59551K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variableKT-65443[K/N] Implement header cachesKT-4113Smart casts for properties to not-null functional types atinvokecallsKT-65681K2: Improve error message of UPPER_BOUND_VIOLATED when upper bound is a captured type or other non-denotable typeKT-32754Choose existing extensions over additional built-ins members from JDK except overridesKT-57800Support synthetic properties onsuperreceiverKT-64350K2: deprecate using typealias as a callable qualifier in importsKT-26565Choose existing extensions over additional built-ins members from JDKKT-65478JVM: Change inlined variable naming formatKT-64702Upper bound of type parameter is ignored when capturing of in-projection appears in out positionKT-60274K2: builder inference works through a delegated local variable inside builder argumentKT-65859Calls refinement extension pointKT-15220Reuse resolution results of common code for platform modules in multiplatform projectsKT-60476K2: False positive NO_VALUE_FOR_PARAMETER in platform code for value class with default parameter in common declarationKT-65153K/N: extract liveness analysis to a separate phaseKT-59098Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8KT-63670Implement platform specific declaration clash diagnostics across all backendsKT-62547Introduce a language feature flag for smartcasts based on "memory" variablesKT-60820K1: Empty vararg value is inserted in serialized annotation call with expect default vararg valueKT-58172Forbidexpect class A actual constructorKT-54443Smart cast to non-null after safe-call in requireKT-25747DFA variables: propagate smart cast results from local variablesKT-22997Smart-cast should merge is-check for non-nullable type and a null check to a nullable typeKT-22996Smart casts should observe nullability after is-check with a nullable subject typeKT-22004Allow to resolve CONFLICTING_OVERLOADS with Deprecated(HIDDEN)KT-61955Support more wider actual member visibility, if the expect member is effectively finalKT-59504K2 compiler does not require resolved 'componentX' functions for the placeholder ('_') variables in the destructuring declarationsKT-62239Allow enum entries without parentheses uniformlyKT-11712Smart cast is not applied for invisible setterPerformance 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 entriesKT-62903UnoptimziedwhencompilationKT-67388FP intellij: performance degradation in build 611KT-67507K2: Slow compilation times when a class has a lot of possibly conflicting declarationsKT-65005K2: Investigate testCommonSuperTypeContravariant performanceKT-65996Compiler enters endless loopConfiguration
📅 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.