Refactoring: HasExpectedMarker (use not-null declarations)

This commit is contained in:
Mikhail Glukhikh
2018-08-20 18:22:10 +03:00
parent 8ef2c479e4
commit 3bdf38e6b2
2 changed files with 7 additions and 7 deletions
@@ -24,16 +24,16 @@ import org.jetbrains.kotlin.idea.util.expectedDeclarationIfAny
import org.jetbrains.kotlin.idea.util.hasDeclarationOf
import org.jetbrains.kotlin.psi.KtDeclaration
fun getExpectedDeclarationTooltip(declaration: KtDeclaration?): String? {
val descriptor = declaration?.toDescriptor() as? MemberDescriptor ?: return null
fun getExpectedDeclarationTooltip(declaration: KtDeclaration): String? {
val descriptor = declaration.toDescriptor() as? MemberDescriptor ?: return null
val platformModuleDescriptor = declaration.containingKtFile.findModuleDescriptor()
val commonModuleDescriptors = platformModuleDescriptor.implementedDescriptors ?: return null
val commonModuleDescriptors = platformModuleDescriptor.implementedDescriptors
if (!commonModuleDescriptors.any { it.hasDeclarationOf(descriptor) }) return null
return "Has declaration in common module"
}
fun navigateToExpectedDeclaration(declaration: KtDeclaration?) {
declaration?.expectedDeclarationIfAny()?.navigate(false)
fun navigateToExpectedDeclaration(declaration: KtDeclaration) {
declaration.expectedDeclarationIfAny()?.navigate(false)
}
@@ -210,10 +210,10 @@ private val PLATFORM_ACTUAL = MarkerType(
private val EXPECTED_DECLARATION = MarkerType(
"EXPECTED_DECLARATION",
{ it?.let { getExpectedDeclarationTooltip(it.markerDeclaration) } },
{ element -> element?.markerDeclaration?.let { getExpectedDeclarationTooltip(it) } },
object : LineMarkerNavigator() {
override fun browse(e: MouseEvent?, element: PsiElement?) {
element?.let { navigateToExpectedDeclaration(it.markerDeclaration) }
element?.markerDeclaration?.let { navigateToExpectedDeclaration(it) }
}
}
)