i18n: make text from intention lazy
#KT-37483
This commit is contained in:
+6
-6
@@ -28,11 +28,10 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||
import org.jetbrains.kotlin.util.OperatorNameConventions
|
||||
|
||||
class OperatorToFunctionIntention :
|
||||
SelfTargetingIntention<KtExpression>(
|
||||
KtExpression::class.java,
|
||||
KotlinIdeaAnalysisBundle.message("replace.overloaded.operator.with.function.call")
|
||||
) {
|
||||
class OperatorToFunctionIntention : SelfTargetingIntention<KtExpression>(
|
||||
KtExpression::class.java,
|
||||
KotlinIdeaAnalysisBundle.lazyMessage("replace.overloaded.operator.with.function.call"),
|
||||
) {
|
||||
companion object {
|
||||
private fun isApplicableUnary(element: KtUnaryExpression, caretOffset: Int): Boolean {
|
||||
if (element.baseExpression == null) return false
|
||||
@@ -65,7 +64,8 @@ class OperatorToFunctionIntention :
|
||||
return when (opRef.getReferencedNameElementType()) {
|
||||
KtTokens.PLUS, KtTokens.MINUS, KtTokens.MUL, KtTokens.DIV, KtTokens.PERC, KtTokens.RANGE,
|
||||
KtTokens.IN_KEYWORD, KtTokens.NOT_IN, KtTokens.PLUSEQ, KtTokens.MINUSEQ, KtTokens.MULTEQ, KtTokens.DIVEQ, KtTokens.PERCEQ,
|
||||
KtTokens.GT, KtTokens.LT, KtTokens.GTEQ, KtTokens.LTEQ -> true
|
||||
KtTokens.GT, KtTokens.LT, KtTokens.GTEQ, KtTokens.LTEQ
|
||||
-> true
|
||||
KtTokens.EQEQ, KtTokens.EXCLEQ -> listOf(element.left, element.right).none { it?.node?.elementType == KtNodeTypes.NULL }
|
||||
KtTokens.EQ -> element.left is KtArrayAccessExpression
|
||||
else -> false
|
||||
|
||||
+3
-3
@@ -30,7 +30,7 @@ abstract class SelfTargetingIntention<TElement : PsiElement>(
|
||||
@Nls private val familyNameGetter: () -> String = textGetter,
|
||||
) : IntentionAction {
|
||||
|
||||
@Deprecated("Replace with primary constructor", ReplaceWith("SelfTargetingIntention(elementType, { text }, { familyName })"))
|
||||
@Deprecated("Replace with primary constructor", ReplaceWith("SelfTargetingIntention<TElement>(elementType, { text }, { familyName })"))
|
||||
constructor(
|
||||
elementType: Class<TElement>,
|
||||
@Nls text: String,
|
||||
@@ -130,7 +130,7 @@ abstract class SelfTargetingRangeIntention<TElement : PsiElement>(
|
||||
@Nls familyNameGetter: () -> String = textGetter,
|
||||
) : SelfTargetingIntention<TElement>(elementType, textGetter, familyNameGetter) {
|
||||
|
||||
@Deprecated("Replace with primary constructor", ReplaceWith("SelfTargetingRangeIntention(elementType, { text }, { familyName })"))
|
||||
@Deprecated("Replace with primary constructor", ReplaceWith("SelfTargetingRangeIntention<TElement>(elementType, { text }, { familyName })"))
|
||||
constructor(
|
||||
elementType: Class<TElement>,
|
||||
@Nls text: String,
|
||||
@@ -153,7 +153,7 @@ abstract class SelfTargetingOffsetIndependentIntention<TElement : KtElement>(
|
||||
|
||||
@Deprecated(
|
||||
"Replace with primary constructor",
|
||||
ReplaceWith("SelfTargetingOffsetIndependentIntention(elementType, { text }, { familyName })")
|
||||
ReplaceWith("SelfTargetingOffsetIndependentIntention<TElement>(elementType, { text }, { familyName })")
|
||||
)
|
||||
constructor(
|
||||
elementType: Class<TElement>,
|
||||
|
||||
Reference in New Issue
Block a user