diff --git a/platform/lang-api/src/com/intellij/codeInsight/hints/InlayParameterHintsProvider.kt b/platform/lang-api/src/com/intellij/codeInsight/hints/InlayParameterHintsProvider.kt index 5e2f842039e7..6d9dc91dd9bd 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/hints/InlayParameterHintsProvider.kt +++ b/platform/lang-api/src/com/intellij/codeInsight/hints/InlayParameterHintsProvider.kt @@ -18,21 +18,34 @@ package com.intellij.codeInsight.hints import com.intellij.lang.Language import com.intellij.lang.LanguageExtension import com.intellij.psi.PsiElement +import org.jetbrains.annotations.ApiStatus object InlayParameterHintsExtension: LanguageExtension("com.intellij.parameterHintsProvider") +@ApiStatus.Experimental interface InlayParameterHintsProvider { - - fun getParameterHints(element: PsiElement): List { - return emptyList() - } - fun getMethodInfo(element: PsiElement): MethodInfo? { - return null - } - + /** + * Hints for params to be shown + */ + fun getParameterHints(element: PsiElement): List = emptyList() + + /** + * Provides fully qualified method name (e.g. "java.util.Map.put") and list of it's parameter names. + * Used when adding method to blacklist, when user invokes alt-enter on hint + * and selects "Do not show for this method". + */ + fun getMethodInfo(element: PsiElement): MethodInfo? = null + + /** + * Language used when saving blacklist methods + * Maybe will be moved to MethodInfo + */ val language: Language - + + /** + * Default list of methods for which hints should not be shown + */ val defaultBlackList: Set }