From a8b9bd0500d21e6faa2fb73dc2e5260fac9ff6ac Mon Sep 17 00:00:00 2001 From: Nikita Katkov Date: Wed, 11 Sep 2019 13:25:03 +0300 Subject: [PATCH] Removed experimental status from blocking methods inspection checkers GitOrigin-RevId: 98ac7b1c96cca54e7869b70e8fea8a10e82e0b18 --- .../BlockingMethodChecker.java | 13 +++++++++++-- .../NonBlockingContextChecker.java | 1 - 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/jvm/jvm-analysis-api/src/com/intellij/codeInspection/blockingCallsDetection/BlockingMethodChecker.java b/jvm/jvm-analysis-api/src/com/intellij/codeInspection/blockingCallsDetection/BlockingMethodChecker.java index 3a827530b20d..4d8762c89675 100644 --- a/jvm/jvm-analysis-api/src/com/intellij/codeInspection/blockingCallsDetection/BlockingMethodChecker.java +++ b/jvm/jvm-analysis-api/src/com/intellij/codeInspection/blockingCallsDetection/BlockingMethodChecker.java @@ -1,10 +1,11 @@ // Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.codeInspection.blockingCallsDetection; +import com.intellij.codeInspection.LocalQuickFix; import com.intellij.openapi.extensions.ExtensionPointName; +import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiMethod; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** @@ -12,7 +13,6 @@ import org.jetbrains.annotations.NotNull; *

* Frameworks could implement this EP to provide such information based on framework-specific heuristics or markers. */ -@ApiStatus.Experimental public interface BlockingMethodChecker { ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.codeInsight.blockingMethodChecker"); @@ -22,4 +22,13 @@ public interface BlockingMethodChecker { boolean isApplicable(@NotNull PsiFile file); boolean isMethodBlocking(@NotNull PsiMethod method); + + /** + * @param element PsiElement (e.g. method call or reference) which is located in "non-blocking" code fragment + * @return empty array or null if cannot provide any fixes, non-empty array of quick fixes otherwise + */ + @NotNull + default LocalQuickFix[] getQuickFixesFor(@NotNull PsiElement element) { + return LocalQuickFix.EMPTY_ARRAY; + } } diff --git a/jvm/jvm-analysis-api/src/com/intellij/codeInspection/blockingCallsDetection/NonBlockingContextChecker.java b/jvm/jvm-analysis-api/src/com/intellij/codeInspection/blockingCallsDetection/NonBlockingContextChecker.java index f7b10ed6f24a..7299b05d6625 100644 --- a/jvm/jvm-analysis-api/src/com/intellij/codeInspection/blockingCallsDetection/NonBlockingContextChecker.java +++ b/jvm/jvm-analysis-api/src/com/intellij/codeInspection/blockingCallsDetection/NonBlockingContextChecker.java @@ -12,7 +12,6 @@ import org.jetbrains.annotations.NotNull; *

* Frameworks could implement this EP to provide information that in some contexts the execution thread should not be blocked. */ -@ApiStatus.Experimental public interface NonBlockingContextChecker { ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.codeInsight.nonBlockingContextChecker");