mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
[java] Add extension for providing contract support in library plugins
#IDEA-366120 GitOrigin-RevId: 5d684047c2d75b09435e4d4c883a4ef3b94222f3
This commit is contained in:
committed by
intellij-monorepo-bot
parent
be7a9adbcd
commit
df5df7e45f
@@ -0,0 +1,6 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.codeInspection.dataFlow
|
||||
|
||||
class JbContractAnnotationProvider : JvmContractAnnotationProvider {
|
||||
override val fqn: String = "org.jetbrains.annotations.Contract"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.codeInspection.dataFlow
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName
|
||||
|
||||
interface JvmContractAnnotationProvider {
|
||||
val fqn: String
|
||||
|
||||
companion object {
|
||||
private val EP_NAME: ExtensionPointName<JvmContractAnnotationProvider> =
|
||||
ExtensionPointName.Companion.create<JvmContractAnnotationProvider>("com.intellij.codeInsight.contractProvider")
|
||||
|
||||
@JvmStatic
|
||||
fun qualifiedNames(): List<String> {
|
||||
return EP_NAME.extensionList.map { it.fqn }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -39,6 +39,7 @@
|
||||
</projectListeners>
|
||||
|
||||
<extensionPoints>
|
||||
<extensionPoint qualifiedName="com.intellij.codeInsight.contractProvider" interface="com.intellij.codeInspection.dataFlow.JvmContractAnnotationProvider" dynamic="true"/>
|
||||
<extensionPoint qualifiedName="com.intellij.methodImplementor" interface="com.intellij.codeInsight.MethodImplementor" dynamic="true"/>
|
||||
<extensionPoint qualifiedName="com.intellij.javaExpressionSurrounder"
|
||||
interface="com.intellij.codeInsight.generation.surroundWith.JavaExpressionSurrounder" dynamic="true"/>
|
||||
@@ -1039,7 +1040,7 @@
|
||||
order="last, after NestingTreeStructureProvider"/>
|
||||
<importFilteringRule implementation="com.intellij.usages.impl.rules.ImportFilteringRule"/>
|
||||
<usageContextPanelProvider implementation="com.intellij.usageView.UsageContextDataflowFromPanel$Provider"/>
|
||||
<usageContextPanelProvider implementation="com.intellij.usageView.UsageContextDataflowToPanel$Provider"/>
|
||||
<usageContextPanelProvider implementation="com.intellij.usageView.UsageContextDataflowToPanel$Provider"/>\
|
||||
<usageTypeProvider implementation="com.intellij.usages.impl.rules.JavaUsageTypeProvider"/>
|
||||
<fileStructureGroupRuleProvider implementation="com.intellij.usages.impl.rules.JavaClassGroupRuleProvider"/>
|
||||
<fileStructureGroupRuleProvider implementation="com.intellij.usages.impl.rules.JavaMethodGroupRuleProvider"/>
|
||||
@@ -2762,6 +2763,7 @@
|
||||
<registryKey defaultValue="false" description="Suggested refactoring from call-site in Java"
|
||||
key="ide.java.refactoring.suggested.call.site"/>
|
||||
<dataflowIRProvider language="JAVA" implementationClass="com.intellij.codeInspection.dataFlow.java.JavaDataFlowIRProvider"/>
|
||||
<codeInsight.contractProvider implementation="com.intellij.codeInspection.dataFlow.JbContractAnnotationProvider"/>
|
||||
<java.effectively.final.fixer implementation="com.intellij.codeInsight.daemon.impl.quickfix.makefinal.MoveInitializerToIfBranchFixer"/>
|
||||
<java.effectively.final.fixer implementation="com.intellij.codeInspection.streamMigration.ConvertToStreamFixer"/>
|
||||
<postStartupActivity implementation="com.intellij.ide.FileNotInSourceRootChecker"/>
|
||||
|
||||
Reference in New Issue
Block a user