Improve remove/specify type intentions in Explicit API mode
Do not suggest to remove type for public declarations #KT-38915 Fixed Do not show intention to specify type when corresponding quickfix is available #KT-39026 Fixed
This commit is contained in:
+16
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.resolve.checkers
|
||||
|
||||
import org.jetbrains.kotlin.config.AnalysisFlags
|
||||
import org.jetbrains.kotlin.config.ExplicitApiMode
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.diagnostics.Errors
|
||||
import org.jetbrains.kotlin.diagnostics.reportDiagnosticOnce
|
||||
@@ -122,5 +123,20 @@ class ExplicitApiDeclarationChecker : DeclarationChecker {
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
fun publicReturnTypeShouldBePresentInApiMode(
|
||||
element: KtCallableDeclaration,
|
||||
languageVersionSettings: LanguageVersionSettings,
|
||||
descriptor: DeclarationDescriptor?
|
||||
): Boolean {
|
||||
val isInApiMode = languageVersionSettings.getFlag(AnalysisFlags.explicitApiMode) != ExplicitApiMode.DISABLED
|
||||
return isInApiMode && returnTypeRequired(
|
||||
element,
|
||||
descriptor,
|
||||
checkForPublicApi = true,
|
||||
checkForInternal = false,
|
||||
checkForPrivate = false
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user