* Document the breaking API changes related to the use of Kotlin's internal compiler API * fixup! Document the breaking API changes related to the use of Kotlin's internal compiler API * fixup! Document the breaking API changes related to the use of Kotlin's internal compiler API
13 KiB
Incompatible Changes in IntelliJ Platform and Plugins API 2024.*
List of known Breaking API Changes in 2024.*
2024.1
IntelliJ Platform 2024.2
IntelliJ Platform 2024.1
com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages, List<PsiElement> elements)
abstract method added- Use instead of
com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages)
andcom.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages, PsiElement primaryElement)
. com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages)
method removed- Use
com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages, List<PsiElement> elements)
instead. com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages, PsiElement primaryElement)
method removed- Use
com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages, List<PsiElement> elements)
instead. com.jetbrains.commandInterface.commandLine.psi.CommandLineFile
class moved to packagecom.intellij.commandInterface.commandLine.psi
- Update code usages.
com.jetbrains.commandInterface.commandLine.CommandLineLanguage
class moved to packagecom.intellij.commandInterface.commandLine
- Update code usages.
com.jetbrains.commandInterface.commandLine.psi.CommandLineArgument
class moved to packagecom.intellij.commandInterface.commandLine.psi
- Update code usages.
com.jetbrains.commandInterface.commandLine.psi.CommandLineOption
class moved to packagecom.intellij.commandInterface.commandLine.psi
- Update code usages.
com.intellij.application.options.editor.CodeFoldingConfigurable.applyCodeFoldingSettingsChanges()
method removed- Use top-level method
CodeFoldingConfigurableKt.applyCodeFoldingSettingsChanges
instead. com.intellij.ide.bookmark.providers.LineBookmarkProvider.Companion
class removed- Use
com.intellij.ide.bookmark.providers.LineBookmarkProvider.Util
instead. com.intellij.execution.process.mediator.util
package removed- The sole extension method
Deferred<T>.blockingGet()
contained in this package is an anti-pattern, and was not supposed to be exposed in the first place. The process mediator and the elevation service are now product modules, and no longer part of the platform. com.intellij.vcs.log.VcsLogFileHistoryHandler.getSupportedVcs()
abstract method added- Must be implemented.
- Method
com.intellij.psi.util.PsiTreeUtilKt.getFirstLeaf(PsiElement)
renamed tocom.intellij.psi.util.PsiTreeUtilKt.firstLeaf(PsiElement)
- Update code usages.
- Method
com.intellij.psi.util.PsiTreeUtilKt.getLastLeaf(PsiElement)
renamed tocom.intellij.psi.util.PsiTreeUtilKt.lastLeaf(PsiElement)
- Update code usages.
- Method
com.intellij.psi.util.PsiTreeUtilKt.getChildLeafs(PsiElement)
renamed tocom.intellij.psi.util.PsiTreeUtilKt.childLeafs(PsiElement)
- Update code usages.
org.apache.tools
package removed- Please provide all necessary libraries in your plugin distribution.
com.intellij.openapi.projectRoots.impl.ProjectJdkImpl.readExternal(Element, ProjectJdkTable)
method removed- Use
com.intellij.openapi.projectRoots.impl.ProjectJdkImpl.readExternal(Element, Function<String, SdkTypeId>)
instead. com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil.createSdk(Collection<Sdk>, String, SdkType, SdkAdditionalData, String)
method return type changed fromProjectJdkImpl
toSdk
- Update code usages.
com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil.createSdk(Collection<Sdk>, VirtualFile, SdkType, SdkAdditionalData, String)
method return type changed fromProjectJdkImpl
toSdk
- Update code usages.
Java Plugin 2024.1
com.intellij.lang.properties.RemovePropertyLocalFix
class removed- Use
com.intellij.codeInsight.daemon.impl.quickfix.DeleteElementFix
instead. com.intellij.psi.util.PsiUtil#isLanguageLevel10OrHigher()
method removed- It's recommended to use a new method
com.intellij.psi.util.PsiUtil#isAvailable()
instead to check whether a particular feature is available, rather than to check against a language level. If you still need an explicit language level check, you may usePsiUtil.getLanguageLevel(element).isAtLeast(level)
. com.intellij.psi.util.PsiUtil#isLanguageLevel11OrHigher()
method removed- It's recommended to use a new method
com.intellij.psi.util.PsiUtil#isAvailable()
instead to check whether a particular feature is available, rather than to check against a language level. If you still need an explicit language level check, you may usePsiUtil.getLanguageLevel(element).isAtLeast(level)
. com.intellij.psi.util.PsiUtil#isLanguageLevel14OrHigher()
method removed- It's recommended to use a new method
com.intellij.psi.util.PsiUtil#isAvailable()
instead to check whether a particular feature is available, rather than to check against a language level. If you still need an explicit language level check, you may usePsiUtil.getLanguageLevel(element).isAtLeast(level)
. com.intellij.psi.util.PsiUtil#isLanguageLevel16OrHigher()
method removed- It's recommended to use a new method
com.intellij.psi.util.PsiUtil#isAvailable()
instead to check whether a particular feature is available, rather than to check against a language level. If you still need an explicit language level check, you may usePsiUtil.getLanguageLevel(element).isAtLeast(level)
. com.intellij.psi.util.PsiUtil#isLanguageLevel17OrHigher()
method removed- It's recommended to use a new method
com.intellij.psi.util.PsiUtil#isAvailable()
instead to check whether a particular feature is available, rather than to check against a language level. If you still need an explicit language level check, you may usePsiUtil.getLanguageLevel(element).isAtLeast(level)
.
Django Plugin 2024.1
- Package
com.jetbrains.jinja2
renamed tocom.intellij.jinja
- Update code usages.
Restructured Text Plugin 2024.1
com.jetbrains.rest.RestLanguage
class moved to packagecom.intellij.python.reStructuredText
- Update code usages.
GitHub Plugin 2024.1
org.jetbrains.plugins.github.pullrequest.comment.GHPRDiffReviewSupport
class removed- Migrated to MVVM.
org.jetbrains.plugins.github.pullrequest.comment.GHPRDiffReviewSupport.Companion
class removed- Migrated to MVVM.
org.jetbrains.plugins.github.pullrequest.action.GHPRActionKeys.getPULL_REQUEST_DATA_PROVIDER()
method removed- Migrated to MVVM, hidden implementation details.
Kotlin Plugin 2024.1
org.jetbrains.kotlin.ir.visitors.IrElementVisitor.visitInlinedFunctionBlock(inlinedFunctionBlock: IrInlinedFunctionBlock, data: D)
abstract method added
org.jetbrains.kotlin.ir.visitors.IrElementVisitor.visitReturnableBlock(returnableBlock: IrReturnableBlock, data: D)
abstract method added
org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitInlinedFunctionBlock(inlinedFunctionBlock: IrInlinedFunctionBlock)
abstract method added
org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitInlinedFunctionBlock(inlinedFunctionBlock: IrInlinedFunctionBlock, data: Nothing?)
abstract method added
org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitReturnableBlock(returnableBlock: IrReturnableBlock)
abstract method added
org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitReturnableBlock(retunrableBlock: IrReturnableBlock, data: Nothing?)
abstract method added
org.jetbrains.kotlin.fir.expressions.FirConstExpression
class renamed org.jetbrains.kotlin.fir.expressions.FirLiteralExpression
org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.DELEGATE
class removedorg.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.Companion.DELEGATE
should be used insteadorg.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.DELEGATED_MEMBER
class removedorg.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.Companion.DELEGATED_MEMBER
should be used insteadorg.jetbrains.kotlin.config.JvmDefaultMode.DEFAULT
field removed- Use
org.jetbrains.kotlin.config.JvmDefaultMode.DISABLE
Method org.jetbrains.kotlin.backend.common.lower.LocalDeclarationsLoweringKt.getParentsWithSelf(IrDeclaration)
renamed to org.jetbrains.kotlin.ir.util.IrUtilsKt.getParentsWithSelf
org.jetbrains.kotlin.daemon.common.CompileService.Companion.getNO_SESSION()
method removed- Use
org.jetbrains.kotlin.daemon.common.CompileService.NO_SESSION
const instead - Class
org.jetbrains.kotlin.ir.declarations.IrDeclarationOriginImpl
made final - Create a new
IrDeclarationOrigin
by delegation. Seea3b55cf758/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclarationOrigin.kt (L20)