From 4adcf3f1140872b0b1ac8d64050237cca3546d98 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 9 Oct 2015 18:10:52 +0300 Subject: [PATCH] Refactoring: return not-null from doCreateActions() --- .../idea/quickfix/JetIntentionActionsFactory.kt | 4 ++-- .../quickfix/KotlinAddOrderEntryActionFactory.kt | 3 ++- .../KotlinIntentionActionFactoryWithDelegate.kt | 4 ++-- .../idea/quickfix/SuperClassNotInitialized.kt | 14 +++++++------- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionActionsFactory.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionActionsFactory.kt index 8050f798d1d..843d9880993 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionActionsFactory.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/quickfix/JetIntentionActionsFactory.kt @@ -24,12 +24,12 @@ import java.util.Collections // TODO: Replace with trait when all subclasses are translated to Kotlin public abstract class JetIntentionActionsFactory { protected open fun isApplicableForCodeFragment(): Boolean = false - protected abstract fun doCreateActions(diagnostic: Diagnostic): List? + protected abstract fun doCreateActions(diagnostic: Diagnostic): List public fun createActions(diagnostic: Diagnostic): List { if (diagnostic.getPsiElement().getContainingFile() is JetCodeFragment && !isApplicableForCodeFragment()) { return emptyList() } - return doCreateActions(diagnostic) ?: emptyList() + return doCreateActions(diagnostic) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/KotlinAddOrderEntryActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/KotlinAddOrderEntryActionFactory.kt index 92e99a70a2f..aab988e5e3f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/KotlinAddOrderEntryActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/KotlinAddOrderEntryActionFactory.kt @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getQualifiedElement import org.jetbrains.kotlin.psi.psiUtil.startOffset public object KotlinAddOrderEntryActionFactory : JetIntentionActionsFactory() { - override fun doCreateActions(diagnostic: Diagnostic): List? { + override fun doCreateActions(diagnostic: Diagnostic): List { val simpleExpression = diagnostic.psiElement as? JetSimpleNameExpression ?: return emptyList() val refElement = simpleExpression.getQualifiedElement() @@ -52,6 +52,7 @@ public object KotlinAddOrderEntryActionFactory : JetIntentionActionsFactory() { return simpleExpression.mainReference.bindToElement(element, ShorteningMode.FORCED_SHORTENING) } } + @Suppress("UNCHECKED_CAST") return OrderEntryFix.registerFixes(QuickFixActionRegistrarImpl(null), reference) as List? ?: emptyList() } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/KotlinIntentionActionFactoryWithDelegate.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/KotlinIntentionActionFactoryWithDelegate.kt index d580df5e6e0..009edfeb600 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/KotlinIntentionActionFactoryWithDelegate.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/KotlinIntentionActionFactoryWithDelegate.kt @@ -62,10 +62,10 @@ abstract class KotlinIntentionActionFactoryWithDelegate protected abstract fun extractFixData(element: E, diagnostic: Diagnostic): D? - override final fun doCreateActions(diagnostic: Diagnostic): List? { + override final fun doCreateActions(diagnostic: Diagnostic): List { val diagnosticMessage = DefaultErrorMessages.render(diagnostic) val diagnosticElementPointer = diagnostic.psiElement.createSmartPointer() - val originalElement = getElementOfInterest(diagnostic) ?: return null + val originalElement = getElementOfInterest(diagnostic) ?: return emptyList() val originalElementPointer = originalElement.createSmartPointer() val file = originalElement.containingFile diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/SuperClassNotInitialized.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/SuperClassNotInitialized.kt index 6f3c7b17958..858f818c0e8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/SuperClassNotInitialized.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/SuperClassNotInitialized.kt @@ -48,18 +48,18 @@ import java.util.* public object SuperClassNotInitialized : JetIntentionActionsFactory() { private val DISPLAY_MAX_PARAMS = 5 - override fun doCreateActions(diagnostic: Diagnostic): List? { + override fun doCreateActions(diagnostic: Diagnostic): List { val delegator = diagnostic.getPsiElement() as JetDelegatorToSuperClass - val classOrObjectDeclaration = delegator.getParent().getParent() as? JetClassOrObject ?: return null + val classOrObjectDeclaration = delegator.getParent().getParent() as? JetClassOrObject ?: return emptyList() - val typeRef = delegator.getTypeReference() ?: return null - val type = typeRef.analyze()[BindingContext.TYPE, typeRef] ?: return null - if (type.isError()) return null + val typeRef = delegator.getTypeReference() ?: return emptyList() + val type = typeRef.analyze()[BindingContext.TYPE, typeRef] ?: return emptyList() + if (type.isError()) return emptyList() - val superClass = (type.getConstructor().getDeclarationDescriptor() as? ClassDescriptor) ?: return null + val superClass = (type.getConstructor().getDeclarationDescriptor() as? ClassDescriptor) ?: return emptyList() val classDescriptor = delegator.getResolutionFacade().resolveToDescriptor(classOrObjectDeclaration) as ClassDescriptor val constructors = superClass.getConstructors().filter { it.isVisible(classDescriptor) } - if (constructors.isEmpty()) return null // no accessible constructor + if (constructors.isEmpty()) return emptyList() // no accessible constructor val fixes = ArrayList()