Quick-Fixes: Support "Change function return type" quick-fix for non-local returns
#KT-6910 Fixed
This commit is contained in:
@@ -26,7 +26,9 @@ import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||
import org.jetbrains.kotlin.psi.JetDeclarationWithBody
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor
|
||||
import org.jetbrains.kotlin.psi.JetCallableDeclaration
|
||||
import org.jetbrains.kotlin.psi.JetExpression
|
||||
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo
|
||||
import org.jetbrains.kotlin.resolve.calls.context.ResolutionContext
|
||||
|
||||
@@ -43,6 +45,10 @@ public fun JetReturnExpression.getTargetFunctionDescriptor(context: BindingConte
|
||||
.firstOrNull()
|
||||
}
|
||||
|
||||
public fun JetReturnExpression.getTargetFunction(context: BindingContext): JetCallableDeclaration? {
|
||||
return getTargetFunctionDescriptor(context)?.let { DescriptorToSourceUtils.descriptorToDeclaration(it) as? JetCallableDeclaration }
|
||||
}
|
||||
|
||||
public fun JetExpression.isUsedAsExpression(context: BindingContext): Boolean = context[BindingContext.USED_AS_EXPRESSION, this]!!
|
||||
public fun JetExpression.isUsedAsStatement(context: BindingContext): Boolean = !isUsedAsExpression(context)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user