KT-58834 Analysis API: Add source shadowing feature to resolve extensions
Performance Improvements
KT-57515 LL FIR: Performance bottleneck in CompositeModificationTracker.getModificationCount
KT-59266 K2: optimize FirElementBuilder.getOrBuildFir for elements outside body
KT-59454 K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
KT-59453 K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
KT-59189 Analysis API: KtFirKDocReference.resolveToSymbols is slow
KT-58125 K2: LL FIR: KtToFirMapping.getElement is slow for KtUserTypes due to on-air resolution of types
Fixes
KT-59240 K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from superTypes
KT-58499 K2: FirLazyBlock should be calculated before accessing
KT-57966 K2: Analysis API: Reference Shortener does not work correctly when called on entire file
KT-60954 K2: Analysis API: Reference shortener does not work correctly with variable assignments
KT-57743 K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies
KT-61026 K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve
KT-61009 K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-60357 K2 IDE. Reified types parameters are not resolved in a function body
KT-60317 K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in library
KT-60706 K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
KT-60552 K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformer
KT-60641 Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing
KT-60638 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-54846 Analysis API: add isExpect/isActual to KtSymbol
KT-60448 FirLazyResolveContractViolationException: lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS) cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen plugin
KT-59342 K2 IDE. FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES) cannot be called from a transformer with a phase TYPES
KT-59687 K2: Implement proper body update for in-block modifications
KT-58834 Analysis API: Add source shadowing feature to resolve extensions
Performance Improvements
KT-57515 LL FIR: Performance bottleneck in CompositeModificationTracker.getModificationCount
KT-59266 K2: optimize FirElementBuilder.getOrBuildFir for elements outside body
KT-59454 K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
KT-59453 K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
KT-59189 Analysis API: KtFirKDocReference.resolveToSymbols is slow
KT-58125 K2: LL FIR: KtToFirMapping.getElement is slow for KtUserTypes due to on-air resolution of types
Fixes
KT-59240 K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from superTypes
KT-58499 K2: FirLazyBlock should be calculated before accessing
KT-57966 K2: Analysis API: Reference Shortener does not work correctly when called on entire file
KT-60954 K2: Analysis API: Reference shortener does not work correctly with variable assignments
KT-57743 K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies
KT-61026 K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve
KT-61009 K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-60357 K2 IDE. Reified types parameters are not resolved in a function body
KT-60317 K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in library
KT-60706 K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
KT-60552 K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformer
KT-60641 Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing
KT-60638 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-54846 Analysis API: add isExpect/isActual to KtSymbol
KT-60448 FirLazyResolveContractViolationException: lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS) cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen plugin
KT-59342 K2 IDE. FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES) cannot be called from a transformer with a phase TYPES
KT-59687 K2: Implement proper body update for in-block modifications
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps
kotlin.version
from 1.9.10 to 1.9.20. Updatesorg.jetbrains.kotlin:kotlin-maven-allopen
from 1.9.10 to 1.9.20Updates
org.jetbrains.kotlin:kotlin-maven-noarg
from 1.9.10 to 1.9.20Updates
org.jetbrains.kotlin:kotlin-maven-plugin
from 1.9.10 to 1.9.20Updates
org.jetbrains.kotlin:kotlin-bom
from 1.9.10 to 1.9.20Release notes
Sourced from org.jetbrains.kotlin:kotlin-bom's releases.
... (truncated)
Changelog
Sourced from org.jetbrains.kotlin:kotlin-bom's changelog.
... (truncated)
Commits
eaa46a8
Add changelog for 1.9.20 release8ac51de
Add changelog for 1.9.20-RC2508e032
[K/JS] Remove unconditional cast to IrClass in KClass expressiond700cd1
[FE] 1.9.20 exclusive commit. Fix testData after previous two commits22b9d50
[FE 1.0] 2/2 Don't report a warning when new members are added to open expect...29cf556
[FE 1.0] 1/2 Don't report a warning when new supertypes are added to open exp...40cf415
[FE 1.0] Refactoring: replace defensive NonPrivateCallableAdded with Unknown4408d89
[FE 1.0] Report a more precise diagnostic when parameter modifiers (vararg) a...6982fa1
[FE 1.0] 2/2 Drop AllowDifferentMembersInActual from compiler and testData882f468
[STDLIB] 1/2 Drop AllowDifferentMembersInActual from stdlibDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show