i18n: add bundle for idea/quickfix
This commit is contained in:
@@ -973,6 +973,7 @@ text.refactoring.can.t.be.performed.on.the.selected.code.element=Refactoring can
|
|||||||
text.refactoring.is.not.applicable.to.this.code.fragment=Refactoring is not applicable to this code fragment
|
text.refactoring.is.not.applicable.to.this.code.fragment=Refactoring is not applicable to this code fragment
|
||||||
text.references.in.code.to.0.1.and.its.declarations=References in code to {0} {1} and its declarations
|
text.references.in.code.to.0.1.and.its.declarations=References in code to {0} {1} and its declarations
|
||||||
text.remove.0.no.longer.used=Remove {0} no longer used
|
text.remove.0.no.longer.used=Remove {0} no longer used
|
||||||
|
text.remove.question=Remove '?'
|
||||||
text.remove=remove
|
text.remove=remove
|
||||||
text.rename.as.part.of.phrase=rename
|
text.rename.as.part.of.phrase=rename
|
||||||
text.rename.is.not.applicable.to.secondary.constructors=Rename is not applicable to secondary constructors
|
text.rename.is.not.applicable.to.secondary.constructors=Rename is not applicable to secondary constructors
|
||||||
@@ -1073,4 +1074,151 @@ replace.usages.of.0.in.whole.project=Replace usages of ''{0}'' in whole project
|
|||||||
replace.with.publishedapi.bridge.call=Replace with @PublishedApi bridge call
|
replace.with.publishedapi.bridge.call=Replace with @PublishedApi bridge call
|
||||||
replace.with.generated.publishedapi.bridge.call.0=Replace with generated @PublishedApi bridge call ''{0}''
|
replace.with.generated.publishedapi.bridge.call.0=Replace with generated @PublishedApi bridge call ''{0}''
|
||||||
convert.sealed.sub.class.to.object.fix.family.name=Convert sealed sub-class to object
|
convert.sealed.sub.class.to.object.fix.family.name=Convert sealed sub-class to object
|
||||||
generate.identity.equals.fix.family.name=Generate equals & hashCode by identity
|
generate.identity.equals.fix.family.name=Generate equals & hashCode by identity
|
||||||
|
and.delete.initializer=\ and delete initializer
|
||||||
|
change.to.val=Change to val
|
||||||
|
change.to.var=Change to var
|
||||||
|
change.type.of.0.to.1=Change type of {0} to ''{1}''
|
||||||
|
change.type.to.0=Change type to ''{0}''
|
||||||
|
base.property.0=base property {0}
|
||||||
|
make.0=Make {0}
|
||||||
|
make.0.1.explicitly=Make ''{0}'' {1} explicitly
|
||||||
|
make.0.explicitly=Make {0} explicitly
|
||||||
|
use.inherited.visibility=Use inherited visibility
|
||||||
|
replace.with.in.when=Replace ',' with '||' in when
|
||||||
|
remove.0=Remove ''.{0}''
|
||||||
|
remove.conversion.from.kclass.to.class=Remove conversion from 'KClass' to 'Class'
|
||||||
|
convert.to.0=Convert to {0}
|
||||||
|
convert.expression.to.0.by.inserting.1=Convert expression to ''{0}'' by inserting ''.{1}''
|
||||||
|
convert.extension.property.initializer.to.getter=Convert extension property initializer to getter
|
||||||
|
convert.supertype.to.0=Convert supertype to ''{0}''
|
||||||
|
convert.extension.function.type.to.regular.function.type=Convert extension function type to regular function type
|
||||||
|
convert.to.notnull.delegate=Convert to notNull delegate
|
||||||
|
convert.to.anonymous.object=Convert to anonymous object
|
||||||
|
select.loop.statement.to.label=Select loop statement to label
|
||||||
|
select.lambda.to.label=Select lambda to label
|
||||||
|
create.label=Create label
|
||||||
|
create.label.0=Create label {0}@
|
||||||
|
convert.member.to.extension=Convert member to extension
|
||||||
|
replace.annotation=Replace Annotation
|
||||||
|
replace.annotation.with.0=Replace annotation with {0}
|
||||||
|
add.initializer=Add initializer
|
||||||
|
move.to.constructor.parameters=Move to constructor parameters
|
||||||
|
initialize.with.constructor.parameter=Initialize with constructor parameter
|
||||||
|
inline.type.parameter=Inline type parameter
|
||||||
|
insert.explicit.delegation.call=Insert explicit delegation call
|
||||||
|
kotlin.add.required.module.fix.family.name=Add 'requires' directive to module-info.java
|
||||||
|
the.anonymous.object=the anonymous object
|
||||||
|
text.implement=implement
|
||||||
|
text.extend=extend
|
||||||
|
let.0.1=Let {0} {1}
|
||||||
|
let.type.implement.interface=Let type implement interface
|
||||||
|
0.interface.1={0} interface ''{1}''
|
||||||
|
lift.assignment.out.of.try.expression=Lift assignment out of 'try' expression
|
||||||
|
make.class.an.annotation.class=Make class an annotation class
|
||||||
|
make.0.an.annotation.class=Make ''{0}'' an annotation class
|
||||||
|
make.constructor.parameter.a.property.0=Make constructor parameter a property{0}
|
||||||
|
in.class.0=\ in class ''{0}''
|
||||||
|
add.0.to.module.1.compiler.arguments=Add ''{0}'' to module {1} compiler arguments
|
||||||
|
add.an.opt.in.requirement.marker.compiler.argument=Add an opt-in requirement marker compiler argument
|
||||||
|
make.0.in.1.open=Make ''{0}'' in {1} open
|
||||||
|
add.modifier=Add Modifier
|
||||||
|
make.private.and.0.1=Make private and {0} ''{1}''
|
||||||
|
text.overrides=overrides
|
||||||
|
text.implements=implements
|
||||||
|
make.type.parameter.reified.and.function.inline=Make type parameter reified and function inline
|
||||||
|
change.all.usages.of.0.in.this.file.to.1=Change all usages of ''{0}'' in this file to ''{1}''
|
||||||
|
change.all.usages.of.0.in.this.file.to.a.kotlin.class=Change all usages of ''{0}'' in this file to a Kotlin class
|
||||||
|
change.to.kotlin.class=Change to Kotlin class
|
||||||
|
choose.an.appropriate.kotlin.class=Choose an appropriate Kotlin class
|
||||||
|
add.empty.brackets.after.primary.constructor=Add empty brackets after primary constructor
|
||||||
|
add.constructor.keyword=Add 'constructor' keyword
|
||||||
|
move.annotation.to.receiver.type=Move annotation to receiver type
|
||||||
|
move.type.parameter.constraint.to.where.clause=Move type parameter constraint to 'where' clause
|
||||||
|
move.else.branch.to.the.end=Move else branch to the end
|
||||||
|
insert.number.conversion=Insert number conversion
|
||||||
|
convert.expression.to.0=Convert expression to ''{0}''
|
||||||
|
remove.from.annotation.argument=Remove @ from annotation argument
|
||||||
|
remove.default.parameter.value=Remove default parameter value
|
||||||
|
remove.final.upper.bound=Remove final upper bound
|
||||||
|
remove.function.body=Remove function body
|
||||||
|
remove.redundant.0.modifier=Remove redundant ''{0}'' modifier
|
||||||
|
make.0.not.1=Make {0} not {1}
|
||||||
|
remove.0.modifier=Remove ''{0}'' modifier
|
||||||
|
remove.modifier=Remove modifier
|
||||||
|
remove.identifier.from.anonymous.function=Remove identifier from anonymous function
|
||||||
|
remove.constructor.call=Remove constructor call
|
||||||
|
make.not.nullable=Make not-nullable
|
||||||
|
remove.useless=Remove useless '?'
|
||||||
|
remove.redundant=Remove redundant '?'
|
||||||
|
remove.0.from.property=Remove {0} from property
|
||||||
|
remove.parts.from.property=Remove parts from property
|
||||||
|
text.initializer=initializer
|
||||||
|
text.setter=setter
|
||||||
|
text.getter=getter
|
||||||
|
remove.element=Remove element
|
||||||
|
for.0=for ''{0}''
|
||||||
|
remove.conflicting.import.0=Remove conflicting import {0}
|
||||||
|
remove.type.parameters=Remove type parameters
|
||||||
|
remove.type.arguments=Remove type arguments
|
||||||
|
remove.star=Remove '*'
|
||||||
|
remove.variable.0=Remove variable ''{0}''
|
||||||
|
remove.redundant.initializer=Remove redundant initializer
|
||||||
|
remove.redundant.label=Remove redundant label
|
||||||
|
remove.single.lambda.parameter.declaration=Remove single lambda parameter declaration
|
||||||
|
remove.supertype=Remove supertype
|
||||||
|
remove.0.variance.from.1=Remove ''{0}'' variance from ''{1}''
|
||||||
|
remove.parameter.0=Remove parameter ''{0}''
|
||||||
|
remove.redundant.assignment=Remove redundant assignment
|
||||||
|
there.are.possible.side.effects.found.in.expressions.assigned.to.the.variable.0=There are possible side effects found in expressions assigned to the variable ''{0}''<br>You can:<br>- <b>Remove</b> the entire assignment, or<br>- <b>Transform</b> assignment right-hand side into the statement on its own.<br>
|
||||||
|
remove.useless.cast=Remove useless cast
|
||||||
|
remove.useless.elvis.operator=Remove useless elvis operator
|
||||||
|
remove.useless.is.check=Remove useless is check
|
||||||
|
remove.val.var.from.parameter=Remove 'val/var' from parameter
|
||||||
|
remove.0.from.parameter=Remove ''{0}'' from parameter
|
||||||
|
remove.else.branch=Remove else branch
|
||||||
|
rename.identifier.fix.text=Rename
|
||||||
|
rename.to.0=Rename to ''{0}''
|
||||||
|
rename.parameter.to.match.overridden.method=Rename parameter to match overridden method
|
||||||
|
rename.to.underscore=Rename to _
|
||||||
|
replace.with.safe.this.call=Replace with safe (this?.) call
|
||||||
|
replace.with.safe.call=Replace with safe (?.) call
|
||||||
|
replace.scope.function.with.safe.call=Replace scope function with safe (?.) call
|
||||||
|
replace.with.dot.call=Replace with dot call
|
||||||
|
replace.with.safe.call1=Replace with safe (?.) call
|
||||||
|
replace.invalid.positioned.arguments.for.annotation=Replace invalid positioned arguments for annotation
|
||||||
|
replace.jvmfield.with.const=Replace '@JvmField' with 'const'
|
||||||
|
replace.modifier=Replace modifier
|
||||||
|
update.obsolete.label.syntax=Update obsolete label syntax
|
||||||
|
replace.with.label.0.at=Replace with label {0}@
|
||||||
|
replace.cast.with.call.to.to.0=Replace cast with call to ''to{0}()''
|
||||||
|
replace.cast.with.primitive.conversion.method=Replace cast with primitive conversion method
|
||||||
|
replace.with.array.call=Replace with array call
|
||||||
|
remove.expression.target=Remove EXPRESSION target
|
||||||
|
change.existent.retention.to.source=Change existent retention to SOURCE
|
||||||
|
add.source.retention=Add SOURCE retention
|
||||||
|
round.using.0=Round using {0}()
|
||||||
|
simplify.0.to.1=Simplify {0} to ''{1}''
|
||||||
|
simplify.comparison=Simplify comparison
|
||||||
|
specify.override.for.0.explicitly=Specify override for ''{0}'' explicitly
|
||||||
|
specify.override.explicitly=Specify override explicitly
|
||||||
|
specify.return.type.explicitly=Specify return type explicitly
|
||||||
|
specify.type.explicitly=Specify type explicitly
|
||||||
|
add.constructor.parameters.from.0.1=Add constructor parameters from {0}{1}
|
||||||
|
change.to.constructor.invocation=Change to constructor invocation
|
||||||
|
add.constructor.parameters.from.superclass=Add constructor parameters from superclass
|
||||||
|
surround.with.star.0=Surround with *{0}(...)
|
||||||
|
surround.with.lambda=Surround with lambda
|
||||||
|
surround.with.null.check=Surround with null check
|
||||||
|
convert.too.long.character.literal.to.string=Convert too long character literal to string
|
||||||
|
replace.array.of.boxed.with.array.of.primitive=Replace array of boxed with array of primitive
|
||||||
|
migrate.unsupported.yield.syntax=Migrate unsupported yield syntax
|
||||||
|
wrap.with=Wrap with []
|
||||||
|
wrap.with.array.literal=Wrap with array literal
|
||||||
|
wrap.with.collection.literal.call=Wrap with collection literal call
|
||||||
|
wrap.element.with.0.call=Wrap element with ''{0}()'' call
|
||||||
|
replace.with.0.call=Replace with ''{0}()'' call
|
||||||
|
wrap.with.let.call=Wrap with '?.let { ... }' call
|
||||||
|
change.to.0=Change to ''{0}''
|
||||||
|
change.to.correct.long.suffix.l=Change to correct long suffix 'L'
|
||||||
|
change.to.correct.primitive.type=Change to correct primitive type
|
||||||
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
|||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory1
|
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory1
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.createCallable.CreatePropertyDelegateAccessorsActionFactory
|
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.createCallable.CreatePropertyDelegateAccessorsActionFactory
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -38,7 +39,8 @@ class ChangeVariableMutabilityFix(
|
|||||||
) : KotlinQuickFixAction<KtValVarKeywordOwner>(element) {
|
) : KotlinQuickFixAction<KtValVarKeywordOwner>(element) {
|
||||||
|
|
||||||
override fun getText() = actionText
|
override fun getText() = actionText
|
||||||
?: (if (makeVar) "Change to var" else "Change to val") + (if (deleteInitializer) " and delete initializer" else "")
|
?: (if (makeVar) KotlinBundle.message("change.to.var") else KotlinBundle.message("change.to.val")) +
|
||||||
|
if (deleteInitializer) KotlinBundle.message("and.delete.initializer") else ""
|
||||||
|
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
@@ -125,7 +127,7 @@ class ChangeVariableMutabilityFix(
|
|||||||
val property = element.getStrictParentOfType<KtProperty>() ?: return null
|
val property = element.getStrictParentOfType<KtProperty>() ?: return null
|
||||||
val info = CreatePropertyDelegateAccessorsActionFactory.extractFixData(property, diagnostic).singleOrNull() ?: return null
|
val info = CreatePropertyDelegateAccessorsActionFactory.extractFixData(property, diagnostic).singleOrNull() ?: return null
|
||||||
if (info.name != OperatorNameConventions.SET_VALUE.asString()) return null
|
if (info.name != OperatorNameConventions.SET_VALUE.asString()) return null
|
||||||
return ChangeVariableMutabilityFix(property, makeVar = false, actionText = "Change to val")
|
return ChangeVariableMutabilityFix(property, makeVar = false, actionText = KotlinBundle.message("change.to.val"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,9 +61,9 @@ open class ChangeVariableTypeFix(element: KtVariableDeclaration, type: KotlinTyp
|
|||||||
|
|
||||||
val variablePresentation = variablePresentation()
|
val variablePresentation = variablePresentation()
|
||||||
return if (variablePresentation != null) {
|
return if (variablePresentation != null) {
|
||||||
"Change type of $variablePresentation to '$typePresentation'"
|
KotlinBundle.message("change.type.of.0.to.1", variablePresentation, typePresentation)
|
||||||
} else {
|
} else {
|
||||||
"Change type to '$typePresentation'"
|
KotlinBundle.message("change.type.to.0", typePresentation)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@ open class ChangeVariableTypeFix(element: KtVariableDeclaration, type: KotlinTyp
|
|||||||
class ForOverridden(element: KtVariableDeclaration, type: KotlinType) : ChangeVariableTypeFix(element, type) {
|
class ForOverridden(element: KtVariableDeclaration, type: KotlinType) : ChangeVariableTypeFix(element, type) {
|
||||||
override fun variablePresentation(): String? {
|
override fun variablePresentation(): String? {
|
||||||
val presentation = super.variablePresentation() ?: return null
|
val presentation = super.variablePresentation() ?: return null
|
||||||
return "base property $presentation"
|
return KotlinBundle.message("base.property.0", presentation)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.descriptors.Visibilities
|
|||||||
import org.jetbrains.kotlin.descriptors.Visibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory0
|
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory0
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.core.canBeInternal
|
import org.jetbrains.kotlin.idea.core.canBeInternal
|
||||||
import org.jetbrains.kotlin.idea.core.canBePrivate
|
import org.jetbrains.kotlin.idea.core.canBePrivate
|
||||||
import org.jetbrains.kotlin.idea.core.canBeProtected
|
import org.jetbrains.kotlin.idea.core.canBeProtected
|
||||||
@@ -39,8 +40,8 @@ open class ChangeVisibilityFix(
|
|||||||
private val addImplicitVisibilityModifier: Boolean = false
|
private val addImplicitVisibilityModifier: Boolean = false
|
||||||
) : KotlinQuickFixAction<KtModifierListOwner>(element) {
|
) : KotlinQuickFixAction<KtModifierListOwner>(element) {
|
||||||
|
|
||||||
override fun getText() = "Make '$elementName' $visibilityModifier"
|
override fun getText() = KotlinBundle.message("make.0.1", elementName, visibilityModifier)
|
||||||
override fun getFamilyName() = "Make $visibilityModifier"
|
override fun getFamilyName() = KotlinBundle.message("make.0", visibilityModifier)
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val pointer = element?.createSmartPointer()
|
val pointer = element?.createSmartPointer()
|
||||||
@@ -95,8 +96,8 @@ open class ChangeVisibilityFix(
|
|||||||
KtTokens.PUBLIC_KEYWORD,
|
KtTokens.PUBLIC_KEYWORD,
|
||||||
addImplicitVisibilityModifier = true
|
addImplicitVisibilityModifier = true
|
||||||
), HighPriorityAction {
|
), HighPriorityAction {
|
||||||
override fun getText() = "Make '$elementName' $visibilityModifier explicitly"
|
override fun getText() = KotlinBundle.message("make.0.1.explicitly", elementName, visibilityModifier)
|
||||||
override fun getFamilyName() = "Make $visibilityModifier explicitly"
|
override fun getFamilyName() = KotlinBundle.message("make.0.explicitly", visibilityModifier)
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
@@ -19,12 +19,13 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.visibilityModifierType
|
import org.jetbrains.kotlin.psi.psiUtil.visibilityModifierType
|
||||||
|
|
||||||
class ChangeVisibilityModifierFix(element: KtDeclaration) : KotlinQuickFixAction<KtDeclaration>(element) {
|
class ChangeVisibilityModifierFix(element: KtDeclaration) : KotlinQuickFixAction<KtDeclaration>(element) {
|
||||||
override fun getFamilyName() = "Use inherited visibility"
|
override fun getFamilyName() = KotlinBundle.message("use.inherited.visibility")
|
||||||
|
|
||||||
override fun getText() = familyName
|
override fun getText() = familyName
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -10,6 +10,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.combineWhenConditions
|
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.combineWhenConditions
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -18,7 +19,7 @@ import java.util.*
|
|||||||
|
|
||||||
class CommaInWhenConditionWithoutArgumentFix(element: PsiElement) : KotlinQuickFixAction<PsiElement>(element), CleanupFix {
|
class CommaInWhenConditionWithoutArgumentFix(element: PsiElement) : KotlinQuickFixAction<PsiElement>(element), CleanupFix {
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
override fun getText(): String = "Replace ',' with '||' in when"
|
override fun getText(): String = KotlinBundle.message("replace.with.in.when")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val whenExpression = element as? KtWhenExpression ?: return
|
val whenExpression = element as? KtWhenExpression ?: return
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
|||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.KtDotQualifiedExpression
|
import org.jetbrains.kotlin.psi.KtDotQualifiedExpression
|
||||||
@@ -45,8 +46,8 @@ class ConvertClassToKClassFix(element: KtDotQualifiedExpression, type: KotlinTyp
|
|||||||
return@run firstChildType.isSubtypeOf(type)
|
return@run firstChildType.isSubtypeOf(type)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getText() = element?.let { "Remove '.${it.children.lastOrNull()?.text}'" } ?: ""
|
override fun getText() = element?.let { KotlinBundle.message("remove.0", it.children.lastOrNull()?.text.toString()) } ?: ""
|
||||||
override fun getFamilyName() = "Remove conversion from 'KClass' to 'Class'"
|
override fun getFamilyName() = KotlinBundle.message("remove.conversion.from.kclass.to.class")
|
||||||
|
|
||||||
override fun isAvailable(project: Project, editor: Editor?, file: KtFile) = isApplicable
|
override fun isAvailable(project: Project, editor: Editor?, file: KtFile) = isApplicable
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.KtExpression
|
import org.jetbrains.kotlin.psi.KtExpression
|
||||||
@@ -30,8 +31,8 @@ import org.jetbrains.kotlin.types.KotlinType
|
|||||||
import org.jetbrains.kotlin.types.typeUtil.isSubtypeOf
|
import org.jetbrains.kotlin.types.typeUtil.isSubtypeOf
|
||||||
|
|
||||||
class ConvertCollectionFix(element: KtExpression, val type: CollectionType) : KotlinQuickFixAction<KtExpression>(element) {
|
class ConvertCollectionFix(element: KtExpression, val type: CollectionType) : KotlinQuickFixAction<KtExpression>(element) {
|
||||||
override fun getFamilyName(): String = "Convert to ${type.displayName}"
|
override fun getFamilyName(): String = KotlinBundle.message("convert.to.0", type.displayName)
|
||||||
override fun getText() = "Convert expression to '${type.displayName}' by inserting '.${type.functionCall}'"
|
override fun getText() = KotlinBundle.message("convert.expression.to.0.by.inserting.1", type.displayName, type.functionCall)
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val expression = element ?: return
|
val expression = element ?: return
|
||||||
|
|||||||
+2
-1
@@ -20,6 +20,7 @@ import com.intellij.codeInsight.intention.IntentionAction
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.intentions.ConvertPropertyInitializerToGetterIntention
|
import org.jetbrains.kotlin.idea.intentions.ConvertPropertyInitializerToGetterIntention
|
||||||
import org.jetbrains.kotlin.psi.KtExpression
|
import org.jetbrains.kotlin.psi.KtExpression
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -27,7 +28,7 @@ import org.jetbrains.kotlin.psi.KtProperty
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
|
|
||||||
class ConvertExtensionPropertyInitializerToGetterFix(element: KtExpression) : KotlinQuickFixAction<KtExpression>(element) {
|
class ConvertExtensionPropertyInitializerToGetterFix(element: KtExpression) : KotlinQuickFixAction<KtExpression>(element) {
|
||||||
override fun getText(): String = "Convert extension property initializer to getter"
|
override fun getText(): String = KotlinBundle.message("convert.extension.property.initializer.to.getter")
|
||||||
|
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.builtins.getReturnTypeFromFunctionType
|
|||||||
import org.jetbrains.kotlin.builtins.isExtensionFunctionType
|
import org.jetbrains.kotlin.builtins.isExtensionFunctionType
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
@@ -40,8 +41,8 @@ class ConvertExtensionToFunctionTypeFix(element: KtTypeReference, type: KotlinTy
|
|||||||
private val targetTypeStringShort = type.renderType(IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_NO_ANNOTATIONS)
|
private val targetTypeStringShort = type.renderType(IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_NO_ANNOTATIONS)
|
||||||
private val targetTypeStringLong = type.renderType(IdeDescriptorRenderers.SOURCE_CODE)
|
private val targetTypeStringLong = type.renderType(IdeDescriptorRenderers.SOURCE_CODE)
|
||||||
|
|
||||||
override fun getText() = "Convert supertype to '$targetTypeStringShort'"
|
override fun getText() = KotlinBundle.message("convert.supertype.to.0", targetTypeStringShort)
|
||||||
override fun getFamilyName() = "Convert extension function type to regular function type"
|
override fun getFamilyName() = KotlinBundle.message("convert.extension.function.type.to.regular.function.type")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
+2
-1
@@ -9,6 +9,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
@@ -20,7 +21,7 @@ class ConvertLateinitPropertyToNotNullDelegateFix(
|
|||||||
property: KtProperty,
|
property: KtProperty,
|
||||||
private val type: String
|
private val type: String
|
||||||
) : KotlinQuickFixAction<KtProperty>(property) {
|
) : KotlinQuickFixAction<KtProperty>(property) {
|
||||||
override fun getText() = "Convert to notNull delegate"
|
override fun getText() = KotlinBundle.message("convert.to.notnull.delegate")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor
|
|||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticWithParameters3
|
import org.jetbrains.kotlin.diagnostics.DiagnosticWithParameters3
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.intentions.SamConversionToAnonymousObjectIntention
|
import org.jetbrains.kotlin.idea.intentions.SamConversionToAnonymousObjectIntention
|
||||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||||
@@ -23,7 +24,7 @@ import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassDescriptor
|
|||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
|
import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
|
||||||
|
|
||||||
class ConvertToAnonymousObjectFix(element: KtNameReferenceExpression) : KotlinQuickFixAction<KtNameReferenceExpression>(element) {
|
class ConvertToAnonymousObjectFix(element: KtNameReferenceExpression) : KotlinQuickFixAction<KtNameReferenceExpression>(element) {
|
||||||
override fun getFamilyName() = "Convert to anonymous object"
|
override fun getFamilyName() = KotlinBundle.message("convert.to.anonymous.object")
|
||||||
|
|
||||||
override fun getText() = familyName
|
override fun getText() = familyName
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import com.intellij.openapi.application.ApplicationManager
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.refactoring.chooseContainerElementIfNecessary
|
import org.jetbrains.kotlin.idea.refactoring.chooseContainerElementIfNecessary
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -30,22 +31,22 @@ sealed class CreateLabelFix(
|
|||||||
expression: KtLabelReferenceExpression
|
expression: KtLabelReferenceExpression
|
||||||
) : KotlinQuickFixAction<KtLabelReferenceExpression>(expression) {
|
) : KotlinQuickFixAction<KtLabelReferenceExpression>(expression) {
|
||||||
class ForLoop(expression: KtLabelReferenceExpression) : CreateLabelFix(expression) {
|
class ForLoop(expression: KtLabelReferenceExpression) : CreateLabelFix(expression) {
|
||||||
override val chooserTitle = "Select loop statement to label"
|
override val chooserTitle = KotlinBundle.message("select.loop.statement.to.label")
|
||||||
|
|
||||||
override fun getCandidateExpressions(labelReferenceExpression: KtLabelReferenceExpression) =
|
override fun getCandidateExpressions(labelReferenceExpression: KtLabelReferenceExpression) =
|
||||||
labelReferenceExpression.getContainingLoops().toList()
|
labelReferenceExpression.getContainingLoops().toList()
|
||||||
}
|
}
|
||||||
|
|
||||||
class ForLambda(expression: KtLabelReferenceExpression) : CreateLabelFix(expression) {
|
class ForLambda(expression: KtLabelReferenceExpression) : CreateLabelFix(expression) {
|
||||||
override val chooserTitle = "Select lambda to label"
|
override val chooserTitle = KotlinBundle.message("select.lambda.to.label")
|
||||||
|
|
||||||
override fun getCandidateExpressions(labelReferenceExpression: KtLabelReferenceExpression) =
|
override fun getCandidateExpressions(labelReferenceExpression: KtLabelReferenceExpression) =
|
||||||
labelReferenceExpression.getContainingLambdas().toList()
|
labelReferenceExpression.getContainingLambdas().toList()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName() = "Create label"
|
override fun getFamilyName() = KotlinBundle.message("create.label")
|
||||||
|
|
||||||
override fun getText() = "Create label ${element?.getReferencedName() ?: ""}@"
|
override fun getText() = KotlinBundle.message("create.label.0", element?.getReferencedName() ?: "")
|
||||||
|
|
||||||
abstract val chooserTitle: String
|
abstract val chooserTitle: String
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.intellij.codeInsight.intention.IntentionAction
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.intentions.declarations.ConvertMemberToExtensionIntention
|
import org.jetbrains.kotlin.idea.intentions.declarations.ConvertMemberToExtensionIntention
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -30,7 +31,7 @@ object DeclarationCantBeInlinedFactory : KotlinIntentionActionsFactory() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class ConvertMemberToExtensionFix(element: KtNamedFunction) : KotlinQuickFixAction<KtNamedFunction>(element) {
|
private class ConvertMemberToExtensionFix(element: KtNamedFunction) : KotlinQuickFixAction<KtNamedFunction>(element) {
|
||||||
override fun getText() = "Convert member to extension"
|
override fun getText() = KotlinBundle.message("convert.member.to.extension")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.intellij.codeInsight.intention.IntentionAction
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
@@ -20,8 +21,8 @@ internal class DeprecatedJavaAnnotationFix(
|
|||||||
element: KtAnnotationEntry,
|
element: KtAnnotationEntry,
|
||||||
private val annotationFqName: FqName
|
private val annotationFqName: FqName
|
||||||
) : KotlinQuickFixAction<KtAnnotationEntry>(element) {
|
) : KotlinQuickFixAction<KtAnnotationEntry>(element) {
|
||||||
override fun getFamilyName() = "Replace Annotation"
|
override fun getFamilyName() = KotlinBundle.message("replace.annotation")
|
||||||
override fun getText(): String = "Replace annotation with ${annotationFqName.asString()}"
|
override fun getText(): String = KotlinBundle.message("replace.annotation.with.0", annotationFqName.asString())
|
||||||
|
|
||||||
override fun startInWriteAction(): Boolean = false
|
override fun startInWriteAction(): Boolean = false
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.VariableDescriptor
|
import org.jetbrains.kotlin.descriptors.VariableDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.shorten.runRefactoringAndKeepDelayedRequests
|
import org.jetbrains.kotlin.idea.codeInsight.shorten.runRefactoringAndKeepDelayedRequests
|
||||||
import org.jetbrains.kotlin.idea.core.CollectingNameValidator
|
import org.jetbrains.kotlin.idea.core.CollectingNameValidator
|
||||||
@@ -41,7 +42,7 @@ import java.util.*
|
|||||||
|
|
||||||
object InitializePropertyQuickFixFactory : KotlinIntentionActionsFactory() {
|
object InitializePropertyQuickFixFactory : KotlinIntentionActionsFactory() {
|
||||||
class AddInitializerFix(property: KtProperty) : KotlinQuickFixAction<KtProperty>(property) {
|
class AddInitializerFix(property: KtProperty) : KotlinQuickFixAction<KtProperty>(property) {
|
||||||
override fun getText() = "Add initializer"
|
override fun getText() = KotlinBundle.message("add.initializer")
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
@@ -58,7 +59,7 @@ object InitializePropertyQuickFixFactory : KotlinIntentionActionsFactory() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class MoveToConstructorParameters(property: KtProperty) : KotlinQuickFixAction<KtProperty>(property) {
|
class MoveToConstructorParameters(property: KtProperty) : KotlinQuickFixAction<KtProperty>(property) {
|
||||||
override fun getText() = "Move to constructor parameters"
|
override fun getText() = KotlinBundle.message("move.to.constructor.parameters")
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun startInWriteAction(): Boolean = false
|
override fun startInWriteAction(): Boolean = false
|
||||||
@@ -122,7 +123,7 @@ object InitializePropertyQuickFixFactory : KotlinIntentionActionsFactory() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class InitializeWithConstructorParameter(property: KtProperty) : KotlinQuickFixAction<KtProperty>(property) {
|
class InitializeWithConstructorParameter(property: KtProperty) : KotlinQuickFixAction<KtProperty>(property) {
|
||||||
override fun getText() = "Initialize with constructor parameter"
|
override fun getText() = KotlinBundle.message("initialize.with.constructor.parameter")
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun startInWriteAction(): Boolean = false
|
override fun startInWriteAction(): Boolean = false
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithContent
|
import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithContent
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType
|
import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType
|
||||||
@@ -49,7 +50,7 @@ class InlineTypeParameterFix(val typeReference: KtTypeReference) : KotlinQuickFi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getText() = "Inline type parameter"
|
override fun getText() = KotlinBundle.message("inline.type.parameter")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
|||||||
class InsertDelegationCallQuickfix(val isThis: Boolean, element: KtSecondaryConstructor) :
|
class InsertDelegationCallQuickfix(val isThis: Boolean, element: KtSecondaryConstructor) :
|
||||||
KotlinQuickFixAction<KtSecondaryConstructor>(element) {
|
KotlinQuickFixAction<KtSecondaryConstructor>(element) {
|
||||||
override fun getText() = KotlinBundle.message("fix.insert.delegation.call", keywordToUse)
|
override fun getText() = KotlinBundle.message("fix.insert.delegation.call", keywordToUse)
|
||||||
override fun getFamilyName() = "Insert explicit delegation call"
|
override fun getFamilyName() = KotlinBundle.message("insert.explicit.delegation.call")
|
||||||
|
|
||||||
private val keywordToUse = if (isThis) "this" else "super"
|
private val keywordToUse = if (isThis) "this" else "super"
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import com.intellij.psi.*
|
|||||||
import com.intellij.psi.util.PsiUtil
|
import com.intellij.psi.util.PsiUtil
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.util.findRequireDirective
|
import org.jetbrains.kotlin.idea.util.findRequireDirective
|
||||||
import org.jetbrains.kotlin.psi.KtExpression
|
import org.jetbrains.kotlin.psi.KtExpression
|
||||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.ErrorsJvm
|
import org.jetbrains.kotlin.resolve.jvm.diagnostics.ErrorsJvm
|
||||||
@@ -22,7 +23,7 @@ import org.jetbrains.kotlin.resolve.jvm.diagnostics.ErrorsJvm
|
|||||||
class KotlinAddRequiredModuleFix(module: PsiJavaModule, private val requiredName: String) :
|
class KotlinAddRequiredModuleFix(module: PsiJavaModule, private val requiredName: String) :
|
||||||
LocalQuickFixAndIntentionActionOnPsiElement(module) {
|
LocalQuickFixAndIntentionActionOnPsiElement(module) {
|
||||||
@Suppress("InvalidBundleOrProperty")
|
@Suppress("InvalidBundleOrProperty")
|
||||||
override fun getFamilyName(): String = "Add 'requires' directive to module-info.java"
|
override fun getFamilyName(): String = KotlinBundle.message("kotlin.add.required.module.fix.family.name")
|
||||||
|
|
||||||
@Suppress("InvalidBundleOrProperty")
|
@Suppress("InvalidBundleOrProperty")
|
||||||
override fun getText(): String = QuickFixBundle.message("module.info.add.requires.name", requiredName)
|
override fun getText(): String = QuickFixBundle.message("module.info.add.requires.name", requiredName)
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.intellij.codeInsight.intention.LowPriorityAction
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.fileEditor.FileEditorManager
|
import com.intellij.openapi.fileEditor.FileEditorManager
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler
|
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler
|
||||||
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.containsStarProjections
|
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.containsStarProjections
|
||||||
@@ -59,14 +60,17 @@ class LetImplementInterfaceFix(
|
|||||||
expectedTypeName = expectedTypeNotNullable.renderShort()
|
expectedTypeName = expectedTypeNotNullable.renderShort()
|
||||||
expectedTypeNameSourceCode = IdeDescriptorRenderers.SOURCE_CODE.renderType(expectedTypeNotNullable)
|
expectedTypeNameSourceCode = IdeDescriptorRenderers.SOURCE_CODE.renderType(expectedTypeNotNullable)
|
||||||
|
|
||||||
val verb = if (expressionType.isInterface()) "extend" else "implement"
|
val verb = if (expressionType.isInterface()) KotlinBundle.message("text.extend") else KotlinBundle.message("text.implement")
|
||||||
val typeDescription = if (element.isObjectLiteral()) "the anonymous object" else "'${expressionType.renderShort()}'"
|
val typeDescription = if (element.isObjectLiteral())
|
||||||
prefix = "Let $typeDescription $verb"
|
KotlinBundle.message("the.anonymous.object")
|
||||||
|
else
|
||||||
|
"'${expressionType.renderShort()}'"
|
||||||
|
prefix = KotlinBundle.message("let.0.1", typeDescription, verb)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName() = "Let type implement interface"
|
override fun getFamilyName() = KotlinBundle.message("let.type.implement.interface")
|
||||||
override fun getText() = "$prefix interface '$expectedTypeName'"
|
override fun getText() = KotlinBundle.message("0.interface.1", prefix, expectedTypeName)
|
||||||
|
|
||||||
override fun isAvailable(project: Project, editor: Editor?, file: KtFile) = validExpectedType
|
override fun isAvailable(project: Project, editor: Editor?, file: KtFile) = validExpectedType
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.intellij.codeInsight.intention.IntentionAction
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.BranchedFoldingUtils
|
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.BranchedFoldingUtils
|
||||||
import org.jetbrains.kotlin.psi.KtCatchClause
|
import org.jetbrains.kotlin.psi.KtCatchClause
|
||||||
import org.jetbrains.kotlin.psi.KtExpression
|
import org.jetbrains.kotlin.psi.KtExpression
|
||||||
@@ -18,7 +19,7 @@ import org.jetbrains.kotlin.psi.KtTryExpression
|
|||||||
class LiftAssignmentOutOfTryFix(element: KtTryExpression) : KotlinQuickFixAction<KtTryExpression>(element) {
|
class LiftAssignmentOutOfTryFix(element: KtTryExpression) : KotlinQuickFixAction<KtTryExpression>(element) {
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun getText() = "Lift assignment out of 'try' expression"
|
override fun getText() = KotlinBundle.message("lift.assignment.out.of.try.expression")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.intellij.codeInsight.intention.IntentionAction
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
||||||
import org.jetbrains.kotlin.psi.KtClass
|
import org.jetbrains.kotlin.psi.KtClass
|
||||||
@@ -27,9 +28,9 @@ import org.jetbrains.kotlin.psi.KtFile
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||||
|
|
||||||
class MakeClassAnAnnotationClassFix(annotationClass: KtClass) : KotlinQuickFixAction<KtClass>(annotationClass) {
|
class MakeClassAnAnnotationClassFix(annotationClass: KtClass) : KotlinQuickFixAction<KtClass>(annotationClass) {
|
||||||
override fun getFamilyName() = "Make class an annotation class"
|
override fun getFamilyName() = KotlinBundle.message("make.class.an.annotation.class")
|
||||||
|
|
||||||
override fun getText() = element?.let { "Make '${it.name}' an annotation class" } ?: ""
|
override fun getText() = element?.let { KotlinBundle.message("make.0.an.annotation.class", it.name.toString()) } ?: ""
|
||||||
|
|
||||||
public override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
public override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinValVar
|
import org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinValVar
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -32,11 +33,11 @@ import org.jetbrains.kotlin.psi.psiUtil.*
|
|||||||
class MakeConstructorParameterPropertyFix(
|
class MakeConstructorParameterPropertyFix(
|
||||||
element: KtParameter, private val kotlinValVar: KotlinValVar, className: String?
|
element: KtParameter, private val kotlinValVar: KotlinValVar, className: String?
|
||||||
) : KotlinQuickFixAction<KtParameter>(element) {
|
) : KotlinQuickFixAction<KtParameter>(element) {
|
||||||
override fun getFamilyName() = "Make constructor parameter a property"
|
override fun getFamilyName() = KotlinBundle.message("make.constructor.parameter.a.property.0", "")
|
||||||
|
|
||||||
private val suffix = if (className != null) " in class '$className'" else ""
|
private val suffix = if (className != null) KotlinBundle.message("in.class.0", className) else ""
|
||||||
|
|
||||||
override fun getText() = "Make constructor parameter a property$suffix"
|
override fun getText() = KotlinBundle.message("make.constructor.parameter.a.property.0", suffix)
|
||||||
|
|
||||||
override fun isAvailable(project: Project, editor: Editor?, file: KtFile): Boolean {
|
override fun isAvailable(project: Project, editor: Editor?, file: KtFile): Boolean {
|
||||||
val element = element ?: return false
|
val element = element ?: return false
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import org.jetbrains.kotlin.config.CompilerSettings
|
import org.jetbrains.kotlin.config.CompilerSettings
|
||||||
import org.jetbrains.kotlin.config.additionalArgumentsAsList
|
import org.jetbrains.kotlin.config.additionalArgumentsAsList
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.project.toDescriptor
|
import org.jetbrains.kotlin.idea.caches.project.toDescriptor
|
||||||
import org.jetbrains.kotlin.idea.configuration.BuildSystemType
|
import org.jetbrains.kotlin.idea.configuration.BuildSystemType
|
||||||
import org.jetbrains.kotlin.idea.configuration.getBuildSystemType
|
import org.jetbrains.kotlin.idea.configuration.getBuildSystemType
|
||||||
@@ -35,9 +36,9 @@ class MakeModuleExperimentalFix(
|
|||||||
else
|
else
|
||||||
"use-experimental"
|
"use-experimental"
|
||||||
|
|
||||||
override fun getText(): String = "Add '$compilerArgument' to module ${module.name} compiler arguments"
|
override fun getText(): String = KotlinBundle.message("add.0.to.module.1.compiler.arguments", compilerArgument, module.name)
|
||||||
|
|
||||||
override fun getFamilyName(): String = "Add an opt-in requirement marker compiler argument"
|
override fun getFamilyName(): String = KotlinBundle.message("add.an.opt.in.requirement.marker.compiler.argument")
|
||||||
|
|
||||||
private val compilerArgument = "-X$experimentalPrefix=$annotationFqName"
|
private val compilerArgument = "-X$experimentalPrefix=$annotationFqName"
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.descriptors.MemberDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.descriptors.isOverridable
|
import org.jetbrains.kotlin.descriptors.isOverridable
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||||
import org.jetbrains.kotlin.idea.core.util.CachedValue
|
import org.jetbrains.kotlin.idea.core.util.CachedValue
|
||||||
import org.jetbrains.kotlin.idea.core.util.getValue
|
import org.jetbrains.kotlin.idea.core.util.getValue
|
||||||
@@ -86,15 +87,16 @@ class MakeOverriddenMemberOpenFix(declaration: KtDeclaration) : KotlinQuickFixAc
|
|||||||
val element = element ?: return ""
|
val element = element ?: return ""
|
||||||
if (containingDeclarationsNames.size == 1) {
|
if (containingDeclarationsNames.size == 1) {
|
||||||
val name = containingDeclarationsNames[0] + "." + element.name
|
val name = containingDeclarationsNames[0] + "." + element.name
|
||||||
return "Make $name $OPEN_KEYWORD"
|
return KotlinBundle.message("make.0", "$name $OPEN_KEYWORD")
|
||||||
}
|
}
|
||||||
val sortedDeclarationNames = containingDeclarationsNames.sorted()
|
val sortedDeclarationNames = containingDeclarationsNames.sorted()
|
||||||
val declarations = sortedDeclarationNames.subList(0, sortedDeclarationNames.size - 1).joinToString(", ") + " and " +
|
val declarations = sortedDeclarationNames.subList(0, sortedDeclarationNames.size - 1).joinToString(", ") +
|
||||||
|
" ${KotlinBundle.message("configuration.text.and")} " +
|
||||||
sortedDeclarationNames.last()
|
sortedDeclarationNames.last()
|
||||||
return "Make '${element.name}' in $declarations open"
|
return KotlinBundle.message("make.0.in.1.open", element.name.toString(), declarations)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName(): String = "Add Modifier"
|
override fun getFamilyName(): String = KotlinBundle.message("add.modifier")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
for (overriddenMember in overriddenNonOverridableMembers) {
|
for (overriddenMember in overriddenNonOverridableMembers) {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler
|
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideImplementMembersHandler
|
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideImplementMembersHandler
|
||||||
@@ -38,9 +39,19 @@ class MakePrivateAndOverrideMemberFix(
|
|||||||
val implement = (descriptor.containingDeclaration as? ClassDescriptor)?.kind == ClassKind.INTERFACE
|
val implement = (descriptor.containingDeclaration as? ClassDescriptor)?.kind == ClassKind.INTERFACE
|
||||||
val name = descriptor.name.asString()
|
val name = descriptor.name.asString()
|
||||||
return if (makePrivate) {
|
return if (makePrivate) {
|
||||||
"Make private and ${if (implement) "implements" else "overrides"} '$name'"
|
KotlinBundle.message(
|
||||||
|
"make.private.and.0.1",
|
||||||
|
if (implement)
|
||||||
|
KotlinBundle.message("text.implements")
|
||||||
|
else
|
||||||
|
KotlinBundle.message("text.overrides"),
|
||||||
|
name
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
"${if (implement) "Implements" else "Overrides"} '$name'"
|
(if (implement)
|
||||||
|
KotlinBundle.message("highlighter.text.implements")
|
||||||
|
else
|
||||||
|
KotlinBundle.message("highlighter.text.overrides")) + " '$name'"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -9,6 +9,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor
|
import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -25,7 +26,7 @@ class MakeTypeParameterReifiedAndFunctionInlineFix(
|
|||||||
|
|
||||||
private val inlineFix = AddInlineToFunctionWithReifiedFix(function)
|
private val inlineFix = AddInlineToFunctionWithReifiedFix(function)
|
||||||
|
|
||||||
override fun getText() = "Make type parameter reified and function inline"
|
override fun getText() = KotlinBundle.message("make.type.parameter.reified.and.function.inline")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import com.intellij.refactoring.rename.inplace.MyLookupExpression
|
|||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithContent
|
import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithContent
|
||||||
import org.jetbrains.kotlin.idea.references.mainReference
|
import org.jetbrains.kotlin.idea.references.mainReference
|
||||||
@@ -41,13 +42,16 @@ class MapPlatformClassToKotlinFix(
|
|||||||
val platformClassQualifiedName = DescriptorRenderer.FQ_NAMES_IN_TYPES.renderType(platformClass.defaultType)
|
val platformClassQualifiedName = DescriptorRenderer.FQ_NAMES_IN_TYPES.renderType(platformClass.defaultType)
|
||||||
val singleClass = possibleClasses.singleOrNull()
|
val singleClass = possibleClasses.singleOrNull()
|
||||||
return if (singleClass != null)
|
return if (singleClass != null)
|
||||||
"Change all usages of '$platformClassQualifiedName' in this file to '${DescriptorRenderer.FQ_NAMES_IN_TYPES
|
KotlinBundle.message(
|
||||||
.renderType(singleClass.defaultType)}'"
|
"change.all.usages.of.0.in.this.file.to.1",
|
||||||
|
platformClassQualifiedName,
|
||||||
|
DescriptorRenderer.FQ_NAMES_IN_TYPES.renderType(singleClass.defaultType)
|
||||||
|
)
|
||||||
else
|
else
|
||||||
"Change all usages of '$platformClassQualifiedName' in this file to a Kotlin class"
|
KotlinBundle.message("change.all.usages.of.0.in.this.file.to.a.kotlin.class", platformClassQualifiedName)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName() = "Change to Kotlin class"
|
override fun getFamilyName() = KotlinBundle.message("change.to.kotlin.class")
|
||||||
|
|
||||||
public override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
public override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val bindingContext = file.analyzeWithContent()
|
val bindingContext = file.analyzeWithContent()
|
||||||
@@ -121,8 +125,14 @@ class MapPlatformClassToKotlinFix(
|
|||||||
caretModel.moveToOffset(file.node.startOffset)
|
caretModel.moveToOffset(file.node.startOffset)
|
||||||
|
|
||||||
val builder = TemplateBuilderImpl(file)
|
val builder = TemplateBuilderImpl(file)
|
||||||
val expression =
|
val expression = MyLookupExpression(
|
||||||
MyLookupExpression(primaryReplacedExpression.text, options, null, null, false, "Choose an appropriate Kotlin class")
|
primaryReplacedExpression.text,
|
||||||
|
options,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
false,
|
||||||
|
KotlinBundle.message("choose.an.appropriate.kotlin.class")
|
||||||
|
)
|
||||||
|
|
||||||
builder.replaceElement(primaryReplacedExpression, PRIMARY_USAGE, expression, true)
|
builder.replaceElement(primaryReplacedExpression, PRIMARY_USAGE, expression, true)
|
||||||
for (replacedExpression in replacedElements) {
|
for (replacedExpression in replacedElements) {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiDocumentManager
|
import com.intellij.psi.PsiDocumentManager
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.util.createIntentionForFirstParentOfType
|
import org.jetbrains.kotlin.idea.util.createIntentionForFirstParentOfType
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtPrimaryConstructor
|
import org.jetbrains.kotlin.psi.KtPrimaryConstructor
|
||||||
@@ -17,7 +18,7 @@ import org.jetbrains.kotlin.psi.psiUtil.endOffset
|
|||||||
|
|
||||||
class MissingConstructorBracketsFix(element: KtPrimaryConstructor) : KotlinQuickFixAction<KtPrimaryConstructor>(element), CleanupFix {
|
class MissingConstructorBracketsFix(element: KtPrimaryConstructor) : KotlinQuickFixAction<KtPrimaryConstructor>(element), CleanupFix {
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
override fun getText(): String = "Add empty brackets after primary constructor"
|
override fun getText(): String = KotlinBundle.message("add.empty.brackets.after.primary.constructor")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val constructor = element ?: return
|
val constructor = element ?: return
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.intellij.codeInsight.intention.IntentionAction
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.util.addConstructorKeyword
|
import org.jetbrains.kotlin.idea.util.addConstructorKeyword
|
||||||
import org.jetbrains.kotlin.idea.util.createIntentionForFirstParentOfType
|
import org.jetbrains.kotlin.idea.util.createIntentionForFirstParentOfType
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -16,7 +17,7 @@ import org.jetbrains.kotlin.psi.KtPrimaryConstructor
|
|||||||
|
|
||||||
class MissingConstructorKeywordFix(element: KtPrimaryConstructor) : KotlinQuickFixAction<KtPrimaryConstructor>(element), CleanupFix {
|
class MissingConstructorKeywordFix(element: KtPrimaryConstructor) : KotlinQuickFixAction<KtPrimaryConstructor>(element), CleanupFix {
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
override fun getText(): String = "Add 'constructor' keyword"
|
override fun getText(): String = KotlinBundle.message("add.constructor.keyword")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
element?.addConstructorKeyword()
|
element?.addConstructorKeyword()
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
||||||
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -28,7 +29,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
|||||||
|
|
||||||
class MoveReceiverAnnotationFix(element: KtAnnotationEntry) : KotlinQuickFixAction<KtAnnotationEntry>(element) {
|
class MoveReceiverAnnotationFix(element: KtAnnotationEntry) : KotlinQuickFixAction<KtAnnotationEntry>(element) {
|
||||||
|
|
||||||
override fun getFamilyName() = "Move annotation to receiver type"
|
override fun getFamilyName() = KotlinBundle.message("move.annotation.to.receiver.type")
|
||||||
override fun getText() = familyName
|
override fun getText() = familyName
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
|
|||||||
@@ -20,12 +20,13 @@ import com.intellij.codeInsight.intention.IntentionAction
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||||
|
|
||||||
class MoveTypeParameterConstraintFix(element: KtTypeParameter) : KotlinQuickFixAction<KtTypeParameter>(element), CleanupFix {
|
class MoveTypeParameterConstraintFix(element: KtTypeParameter) : KotlinQuickFixAction<KtTypeParameter>(element), CleanupFix {
|
||||||
override fun getText(): String = "Move type parameter constraint to 'where' clause"
|
override fun getText(): String = KotlinBundle.message("move.type.parameter.constraint.to.where.clause")
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.intellij.codeInsight.CodeInsightUtilCore
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtPsiUtil
|
import org.jetbrains.kotlin.psi.KtPsiUtil
|
||||||
import org.jetbrains.kotlin.psi.KtWhenEntry
|
import org.jetbrains.kotlin.psi.KtWhenEntry
|
||||||
@@ -27,7 +28,7 @@ import org.jetbrains.kotlin.psi.KtWhenExpression
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||||
|
|
||||||
class MoveWhenElseBranchFix(element: KtWhenExpression) : KotlinQuickFixAction<KtWhenExpression>(element) {
|
class MoveWhenElseBranchFix(element: KtWhenExpression) : KotlinQuickFixAction<KtWhenExpression>(element) {
|
||||||
override fun getFamilyName() = "Move else branch to the end"
|
override fun getFamilyName() = KotlinBundle.message("move.else.branch.to.the.end")
|
||||||
|
|
||||||
override fun getText() = familyName
|
override fun getText() = familyName
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.codeInsight.intention.IntentionAction
|
import com.intellij.codeInsight.intention.IntentionAction
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
||||||
@@ -46,8 +47,8 @@ class NumberConversionFix(
|
|||||||
override fun isAvailable(project: Project, editor: Editor?, file: KtFile) =
|
override fun isAvailable(project: Project, editor: Editor?, file: KtFile) =
|
||||||
disableIfAvailable?.isAvailable(project, editor, file) != true && isConversionAvailable
|
disableIfAvailable?.isAvailable(project, editor, file) != true && isConversionAvailable
|
||||||
|
|
||||||
override fun getFamilyName() = "Insert number conversion"
|
override fun getFamilyName() = KotlinBundle.message("insert.number.conversion")
|
||||||
override fun getText() = "Convert expression to '$typePresentation'"
|
override fun getText() = KotlinBundle.message("convert.expression.to.0", typePresentation)
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtAnnotatedExpression
|
import org.jetbrains.kotlin.psi.KtAnnotatedExpression
|
||||||
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -26,7 +27,7 @@ import org.jetbrains.kotlin.psi.KtPsiFactory
|
|||||||
|
|
||||||
class RemoveAtFromAnnotationArgument(constructor: KtAnnotationEntry) : KotlinQuickFixAction<KtAnnotationEntry>(constructor) {
|
class RemoveAtFromAnnotationArgument(constructor: KtAnnotationEntry) : KotlinQuickFixAction<KtAnnotationEntry>(constructor) {
|
||||||
|
|
||||||
override fun getText() = "Remove @ from annotation argument"
|
override fun getText() = KotlinBundle.message("remove.from.annotation.argument")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -3,13 +3,14 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.util.CommentSaver
|
import org.jetbrains.kotlin.idea.util.CommentSaver
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtParameter
|
import org.jetbrains.kotlin.psi.KtParameter
|
||||||
|
|
||||||
class RemoveDefaultParameterValueFix(parameter: KtParameter) : KotlinQuickFixAction<KtParameter>(parameter) {
|
class RemoveDefaultParameterValueFix(parameter: KtParameter) : KotlinQuickFixAction<KtParameter>(parameter) {
|
||||||
|
|
||||||
override fun getText() = "Remove default parameter value"
|
override fun getText() = KotlinBundle.message("remove.default.parameter.value")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtTypeParameter
|
import org.jetbrains.kotlin.psi.KtTypeParameter
|
||||||
import org.jetbrains.kotlin.psi.KtTypeReference
|
import org.jetbrains.kotlin.psi.KtTypeReference
|
||||||
@@ -30,7 +31,7 @@ class RemoveFinalUpperBoundFix(val typeReference: KtTypeReference) : KotlinQuick
|
|||||||
typeReference.getStrictParentOfType<KtTypeParameter>()?.extendsBound = null
|
typeReference.getStrictParentOfType<KtTypeParameter>()?.extendsBound = null
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getText() = "Remove final upper bound"
|
override fun getText() = KotlinBundle.message("remove.final.upper.bound")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.util.CommentSaver
|
import org.jetbrains.kotlin.idea.util.CommentSaver
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtFunction
|
import org.jetbrains.kotlin.psi.KtFunction
|
||||||
@@ -15,7 +16,7 @@ import org.jetbrains.kotlin.psi.psiUtil.PsiChildRange
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||||
|
|
||||||
class RemoveFunctionBodyFix(element: KtFunction) : KotlinQuickFixAction<KtFunction>(element) {
|
class RemoveFunctionBodyFix(element: KtFunction) : KotlinQuickFixAction<KtFunction>(element) {
|
||||||
override fun getFamilyName() = "Remove function body"
|
override fun getFamilyName() = KotlinBundle.message("remove.function.body")
|
||||||
|
|
||||||
override fun getText() = familyName
|
override fun getText() = familyName
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil
|
import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil
|
||||||
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
|
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
@@ -26,15 +27,15 @@ class RemoveModifierFix(
|
|||||||
val modifierText = modifier.value
|
val modifierText = modifier.value
|
||||||
when {
|
when {
|
||||||
isRedundant ->
|
isRedundant ->
|
||||||
"Remove redundant '$modifierText' modifier"
|
KotlinBundle.message("remove.redundant.0.modifier", modifierText)
|
||||||
modifier === KtTokens.ABSTRACT_KEYWORD || modifier === KtTokens.OPEN_KEYWORD ->
|
modifier === KtTokens.ABSTRACT_KEYWORD || modifier === KtTokens.OPEN_KEYWORD ->
|
||||||
"Make ${AddModifierFix.getElementName(element)} not $modifierText"
|
KotlinBundle.message("make.0.not.1", AddModifierFix.getElementName(element), modifierText)
|
||||||
else ->
|
else ->
|
||||||
"Remove '$modifierText' modifier"
|
KotlinBundle.message("remove.0.modifier", modifierText, modifier)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName() = "Remove modifier"
|
override fun getFamilyName() = KotlinBundle.message("remove.modifier")
|
||||||
|
|
||||||
override fun getText() = text
|
override fun getText() = text
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.util.createIntentionForFirstParentOfType
|
import org.jetbrains.kotlin.idea.util.createIntentionForFirstParentOfType
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -15,7 +16,7 @@ import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType
|
|||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
|
|
||||||
class RemoveNameFromFunctionExpressionFix(element: KtNamedFunction) : KotlinQuickFixAction<KtNamedFunction>(element), CleanupFix {
|
class RemoveNameFromFunctionExpressionFix(element: KtNamedFunction) : KotlinQuickFixAction<KtNamedFunction>(element), CleanupFix {
|
||||||
override fun getText(): String = "Remove identifier from anonymous function"
|
override fun getText(): String = KotlinBundle.message("remove.identifier.from.anonymous.function")
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtPsiFactory
|
import org.jetbrains.kotlin.psi.KtPsiFactory
|
||||||
@@ -17,7 +18,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
|||||||
|
|
||||||
class RemoveNoConstructorFix(constructor: KtValueArgumentList) : KotlinQuickFixAction<KtValueArgumentList>(constructor) {
|
class RemoveNoConstructorFix(constructor: KtValueArgumentList) : KotlinQuickFixAction<KtValueArgumentList>(constructor) {
|
||||||
|
|
||||||
override fun getText() = "Remove constructor call"
|
override fun getText() = KotlinBundle.message("remove.constructor.call")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtNullableType
|
import org.jetbrains.kotlin.psi.KtNullableType
|
||||||
import org.jetbrains.kotlin.psi.KtProperty
|
import org.jetbrains.kotlin.psi.KtProperty
|
||||||
@@ -31,13 +32,13 @@ class RemoveNullableFix(
|
|||||||
private val typeOfError: NullableKind
|
private val typeOfError: NullableKind
|
||||||
) : KotlinQuickFixAction<KtNullableType>(element) {
|
) : KotlinQuickFixAction<KtNullableType>(element) {
|
||||||
enum class NullableKind(val message: String) {
|
enum class NullableKind(val message: String) {
|
||||||
REDUNDANT("Remove redundant '?'"),
|
REDUNDANT(KotlinBundle.message("remove.redundant")),
|
||||||
SUPERTYPE("Remove '?'"),
|
SUPERTYPE(KotlinBundle.message("text.remove.question")),
|
||||||
USELESS("Remove useless '?'"),
|
USELESS(KotlinBundle.message("remove.useless")),
|
||||||
PROPERTY("Make not-nullable")
|
PROPERTY(KotlinBundle.message("make.not.nullable"))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName() = "Remove '?'"
|
override fun getFamilyName() = KotlinBundle.message("text.remove.question")
|
||||||
|
|
||||||
override fun getText() = typeOfError.message
|
override fun getText() = typeOfError.message
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil
|
import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil
|
||||||
import org.jetbrains.kotlin.idea.intentions.SpecifyTypeExplicitlyIntention
|
import org.jetbrains.kotlin.idea.intentions.SpecifyTypeExplicitlyIntention
|
||||||
@@ -35,10 +36,12 @@ open class RemovePartsFromPropertyFix(
|
|||||||
element.setter?.bodyExpression != null
|
element.setter?.bodyExpression != null
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun getText(): String =
|
override fun getText(): String = KotlinBundle.message(
|
||||||
"Remove ${partsToRemove(removeGetter, removeSetter, removeInitializer)} from property"
|
"remove.0.from.property",
|
||||||
|
partsToRemove(removeGetter, removeSetter, removeInitializer)
|
||||||
|
)
|
||||||
|
|
||||||
override fun getFamilyName(): String = "Remove parts from property"
|
override fun getFamilyName(): String = KotlinBundle.message("remove.parts.from.property")
|
||||||
|
|
||||||
override fun isAvailable(project: Project, editor: Editor?, file: KtFile): Boolean {
|
override fun isAvailable(project: Project, editor: Editor?, file: KtFile): Boolean {
|
||||||
val type = QuickFixUtil.getDeclarationReturnType(element) ?: return false
|
val type = QuickFixUtil.getDeclarationReturnType(element) ?: return false
|
||||||
@@ -90,17 +93,17 @@ open class RemovePartsFromPropertyFix(
|
|||||||
|
|
||||||
private fun partsToRemove(getter: Boolean, setter: Boolean, initializer: Boolean): String = buildString {
|
private fun partsToRemove(getter: Boolean, setter: Boolean, initializer: Boolean): String = buildString {
|
||||||
if (getter) {
|
if (getter) {
|
||||||
append("getter")
|
append(KotlinBundle.message("text.getter"))
|
||||||
if (setter && initializer)
|
if (setter && initializer)
|
||||||
append(", ")
|
append(", ")
|
||||||
else if (setter || initializer)
|
else if (setter || initializer)
|
||||||
append(" and ")
|
append(" ${KotlinBundle.message("configuration.text.and")} ")
|
||||||
}
|
}
|
||||||
if (setter) {
|
if (setter) {
|
||||||
append("setter")
|
append(KotlinBundle.message("text.setter"))
|
||||||
if (initializer) append(" and ")
|
if (initializer) append(" ${KotlinBundle.message("configuration.text.and")} ")
|
||||||
}
|
}
|
||||||
if (initializer) append("initializer")
|
if (initializer) append(KotlinBundle.message("text.initializer"))
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object : KotlinSingleIntentionActionFactory() {
|
companion object : KotlinSingleIntentionActionFactory() {
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.intentions.RemoveExplicitTypeIntention
|
import org.jetbrains.kotlin.idea.intentions.RemoveExplicitTypeIntention
|
||||||
import org.jetbrains.kotlin.idea.util.CommentSaver
|
import org.jetbrains.kotlin.idea.util.CommentSaver
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
@@ -27,7 +28,7 @@ import org.jetbrains.kotlin.psi.*
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||||
|
|
||||||
open class RemovePsiElementSimpleFix(element: PsiElement, private val text: String) : KotlinQuickFixAction<PsiElement>(element) {
|
open class RemovePsiElementSimpleFix(element: PsiElement, private val text: String) : KotlinQuickFixAction<PsiElement>(element) {
|
||||||
override fun getFamilyName() = "Remove element"
|
override fun getFamilyName() = KotlinBundle.message("remove.element")
|
||||||
|
|
||||||
override fun getText() = text
|
override fun getText() = text
|
||||||
|
|
||||||
@@ -38,8 +39,8 @@ open class RemovePsiElementSimpleFix(element: PsiElement, private val text: Stri
|
|||||||
object RemoveImportFactory : KotlinSingleIntentionActionFactory() {
|
object RemoveImportFactory : KotlinSingleIntentionActionFactory() {
|
||||||
public override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<PsiElement>? {
|
public override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<PsiElement>? {
|
||||||
val directive = diagnostic.psiElement.getNonStrictParentOfType<KtImportDirective>() ?: return null
|
val directive = diagnostic.psiElement.getNonStrictParentOfType<KtImportDirective>() ?: return null
|
||||||
val refText = directive.importedReference?.let { "for '${it.text}'" } ?: ""
|
val refText = directive.importedReference?.let { KotlinBundle.message("for.0", it.text) } ?: ""
|
||||||
return RemovePsiElementSimpleFix(directive, "Remove conflicting import $refText")
|
return RemovePsiElementSimpleFix(directive, KotlinBundle.message("remove.conflicting.import.0", refText))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,21 +48,21 @@ open class RemovePsiElementSimpleFix(element: PsiElement, private val text: Stri
|
|||||||
public override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<PsiElement>? {
|
public override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<PsiElement>? {
|
||||||
val element = diagnostic.psiElement
|
val element = diagnostic.psiElement
|
||||||
if (element.node.elementType != KtTokens.MUL) return null
|
if (element.node.elementType != KtTokens.MUL) return null
|
||||||
return RemovePsiElementSimpleFix(element, "Remove '*'")
|
return RemovePsiElementSimpleFix(element, KotlinBundle.message("remove.star"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object RemoveTypeArgumentsFactory : KotlinSingleIntentionActionFactory() {
|
object RemoveTypeArgumentsFactory : KotlinSingleIntentionActionFactory() {
|
||||||
public override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<PsiElement>? {
|
public override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<PsiElement>? {
|
||||||
val element = diagnostic.psiElement.getNonStrictParentOfType<KtTypeArgumentList>() ?: return null
|
val element = diagnostic.psiElement.getNonStrictParentOfType<KtTypeArgumentList>() ?: return null
|
||||||
return RemovePsiElementSimpleFix(element, "Remove type arguments")
|
return RemovePsiElementSimpleFix(element, KotlinBundle.message("remove.type.arguments"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object RemoveTypeParametersFactory : KotlinSingleIntentionActionFactory() {
|
object RemoveTypeParametersFactory : KotlinSingleIntentionActionFactory() {
|
||||||
public override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<PsiElement>? {
|
public override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<PsiElement>? {
|
||||||
val element = diagnostic.psiElement.getNonStrictParentOfType<KtTypeParameterList>() ?: return null
|
val element = diagnostic.psiElement.getNonStrictParentOfType<KtTypeParameterList>() ?: return null
|
||||||
return RemovePsiElementSimpleFix(element, "Remove type parameters")
|
return RemovePsiElementSimpleFix(element, KotlinBundle.message("remove.type.parameters"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,7 +70,7 @@ open class RemovePsiElementSimpleFix(element: PsiElement, private val text: Stri
|
|||||||
public override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<PsiElement>? {
|
public override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<PsiElement>? {
|
||||||
val expression = diagnostic.psiElement.getNonStrictParentOfType<KtProperty>() ?: return null
|
val expression = diagnostic.psiElement.getNonStrictParentOfType<KtProperty>() ?: return null
|
||||||
if (!RemoveExplicitTypeIntention.redundantTypeSpecification(expression.typeReference, expression.initializer)) return null
|
if (!RemoveExplicitTypeIntention.redundantTypeSpecification(expression.typeReference, expression.initializer)) return null
|
||||||
return object : RemovePsiElementSimpleFix(expression, "Remove variable '${expression.name}'") {
|
return object : RemovePsiElementSimpleFix(expression, KotlinBundle.message("remove.variable.0", expression.name.toString())) {
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val initializer = expression.initializer
|
val initializer = expression.initializer
|
||||||
if (initializer != null && initializer !is KtConstantExpression) {
|
if (initializer != null && initializer !is KtConstantExpression) {
|
||||||
|
|||||||
@@ -18,13 +18,14 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
|
|
||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtProperty
|
import org.jetbrains.kotlin.psi.KtProperty
|
||||||
|
|
||||||
class RemoveRedundantInitializerFix(element: KtProperty) : RemovePartsFromPropertyFix(element, true, false, false) {
|
class RemoveRedundantInitializerFix(element: KtProperty) : RemovePartsFromPropertyFix(element, true, false, false) {
|
||||||
|
|
||||||
override fun getText(): String = "Remove redundant initializer"
|
override fun getText(): String = KotlinBundle.message("remove.redundant.initializer")
|
||||||
|
|
||||||
override fun getFamilyName(): String = "Remove redundant initializer"
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
companion object : KotlinSingleIntentionActionFactory() {
|
companion object : KotlinSingleIntentionActionFactory() {
|
||||||
override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<KtProperty>? {
|
override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<KtProperty>? {
|
||||||
|
|||||||
@@ -8,13 +8,14 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
||||||
import org.jetbrains.kotlin.psi.KtLabeledExpression
|
import org.jetbrains.kotlin.psi.KtLabeledExpression
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||||
|
|
||||||
class RemoveRedundantLabelFix(element: KtLabeledExpression) : KotlinQuickFixAction<KtLabeledExpression>(element) {
|
class RemoveRedundantLabelFix(element: KtLabeledExpression) : KotlinQuickFixAction<KtLabeledExpression>(element) {
|
||||||
override fun getText(): String = "Remove redundant label"
|
override fun getText(): String = KotlinBundle.message("remove.redundant.label")
|
||||||
|
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
|
|||||||
@@ -20,12 +20,13 @@ import com.intellij.codeInsight.intention.IntentionAction
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||||
|
|
||||||
class RemoveSingleLambdaParameterFix(element: KtParameter) : KotlinQuickFixAction<KtParameter>(element) {
|
class RemoveSingleLambdaParameterFix(element: KtParameter) : KotlinQuickFixAction<KtParameter>(element) {
|
||||||
override fun getFamilyName() = "Remove single lambda parameter declaration"
|
override fun getFamilyName() = KotlinBundle.message("remove.single.lambda.parameter.declaration")
|
||||||
override fun getText() = familyName
|
override fun getText() = familyName
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtSuperTypeListEntry
|
import org.jetbrains.kotlin.psi.KtSuperTypeListEntry
|
||||||
@@ -26,7 +27,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||||
|
|
||||||
class RemoveSupertypeFix(superClass: KtSuperTypeListEntry) : KotlinQuickFixAction<KtSuperTypeListEntry>(superClass) {
|
class RemoveSupertypeFix(superClass: KtSuperTypeListEntry) : KotlinQuickFixAction<KtSuperTypeListEntry>(superClass) {
|
||||||
override fun getFamilyName() = "Remove supertype"
|
override fun getFamilyName() = KotlinBundle.message("remove.supertype")
|
||||||
|
|
||||||
override fun getText() = familyName
|
override fun getText() = familyName
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
@@ -26,7 +27,7 @@ class RemoveTypeVarianceFix(
|
|||||||
private val type: String
|
private val type: String
|
||||||
) : KotlinQuickFixAction<KtTypeParameter>(typeParameter) {
|
) : KotlinQuickFixAction<KtTypeParameter>(typeParameter) {
|
||||||
|
|
||||||
override fun getText(): String = "Remove '${variance.label}' variance from '$type'"
|
override fun getText(): String = KotlinBundle.message("remove.0.variance.from.1", variance.label, type)
|
||||||
|
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToParameterDescriptorIfAny
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToParameterDescriptorIfAny
|
||||||
import org.jetbrains.kotlin.idea.intentions.RemoveEmptyPrimaryConstructorIntention
|
import org.jetbrains.kotlin.idea.intentions.RemoveEmptyPrimaryConstructorIntention
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
@@ -23,7 +24,7 @@ class RemoveUnusedFunctionParameterFix(parameter: KtParameter, private val check
|
|||||||
KotlinQuickFixAction<KtParameter>(parameter) {
|
KotlinQuickFixAction<KtParameter>(parameter) {
|
||||||
override fun getFamilyName() = ChangeFunctionSignatureFix.FAMILY_NAME
|
override fun getFamilyName() = ChangeFunctionSignatureFix.FAMILY_NAME
|
||||||
|
|
||||||
override fun getText() = element?.let { "Remove parameter '${it.name}'" } ?: ""
|
override fun getText() = element?.let { KotlinBundle.message("remove.parameter.0", it.name.toString()) } ?: ""
|
||||||
|
|
||||||
override fun startInWriteAction(): Boolean = false
|
override fun startInWriteAction(): Boolean = false
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.cfg.pseudocode.getContainingPseudocode
|
|||||||
import org.jetbrains.kotlin.cfg.pseudocode.sideEffectFree
|
import org.jetbrains.kotlin.cfg.pseudocode.sideEffectFree
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.references.mainReference
|
import org.jetbrains.kotlin.idea.references.mainReference
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -40,15 +41,10 @@ class RemoveUnusedValueFix(expression: KtBinaryExpression) : KotlinQuickFixActio
|
|||||||
private fun showDialog(variable: KtProperty, project: Project, element: KtBinaryExpression, rhs: KtExpression) {
|
private fun showDialog(variable: KtProperty, project: Project, element: KtBinaryExpression, rhs: KtExpression) {
|
||||||
if (ApplicationManager.getApplication().isUnitTestMode) return doRemove(RemoveMode.KEEP_INITIALIZE, element, rhs)
|
if (ApplicationManager.getApplication().isUnitTestMode) return doRemove(RemoveMode.KEEP_INITIALIZE, element, rhs)
|
||||||
|
|
||||||
val message =
|
val message = "<html><body>${KotlinBundle.message(
|
||||||
"""<html>
|
"there.are.possible.side.effects.found.in.expressions.assigned.to.the.variable.0",
|
||||||
<body>
|
variable.name.toString()
|
||||||
There are possible side effects found in expressions assigned to the variable '${variable.name}'<br>
|
)}</body></html>"
|
||||||
You can:<br>
|
|
||||||
- <b>Remove</b> the entire assignment, or<br>
|
|
||||||
- <b>Transform</b> assignment right-hand side into the statement on its own.<br>
|
|
||||||
</body>
|
|
||||||
</html>"""
|
|
||||||
|
|
||||||
ApplicationManager.getApplication().invokeLater {
|
ApplicationManager.getApplication().invokeLater {
|
||||||
val exitCode = Messages.showYesNoCancelDialog(
|
val exitCode = Messages.showYesNoCancelDialog(
|
||||||
@@ -66,7 +62,7 @@ class RemoveUnusedValueFix(expression: KtBinaryExpression) : KotlinQuickFixActio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName() = "Remove redundant assignment"
|
override fun getFamilyName() = KotlinBundle.message("remove.redundant.assignment")
|
||||||
|
|
||||||
override fun getText() = familyName
|
override fun getText() = familyName
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.core.dropEnclosingParenthesesIfPossible
|
import org.jetbrains.kotlin.idea.core.dropEnclosingParenthesesIfPossible
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.psi.KtBinaryExpressionWithTypeRHS
|
import org.jetbrains.kotlin.psi.KtBinaryExpressionWithTypeRHS
|
||||||
@@ -16,7 +17,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
|||||||
|
|
||||||
class RemoveUselessCastFix(element: KtBinaryExpressionWithTypeRHS) : KotlinQuickFixAction<KtBinaryExpressionWithTypeRHS>(element),
|
class RemoveUselessCastFix(element: KtBinaryExpressionWithTypeRHS) : KotlinQuickFixAction<KtBinaryExpressionWithTypeRHS>(element),
|
||||||
CleanupFix {
|
CleanupFix {
|
||||||
override fun getFamilyName() = "Remove useless cast"
|
override fun getFamilyName() = KotlinBundle.message("remove.useless.cast")
|
||||||
|
|
||||||
override fun getText(): String = familyName
|
override fun getText(): String = familyName
|
||||||
|
|
||||||
|
|||||||
@@ -19,13 +19,14 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.core.dropEnclosingParenthesesIfPossible
|
import org.jetbrains.kotlin.idea.core.dropEnclosingParenthesesIfPossible
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.psi.KtBinaryExpression
|
import org.jetbrains.kotlin.psi.KtBinaryExpression
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
|
||||||
class RemoveUselessElvisFix(element: KtBinaryExpression) : KotlinQuickFixAction<KtBinaryExpression>(element), CleanupFix {
|
class RemoveUselessElvisFix(element: KtBinaryExpression) : KotlinQuickFixAction<KtBinaryExpression>(element), CleanupFix {
|
||||||
override fun getFamilyName(): String = "Remove useless elvis operator"
|
override fun getFamilyName(): String = KotlinBundle.message("remove.useless.elvis.operator")
|
||||||
|
|
||||||
override fun getText(): String = familyName
|
override fun getText(): String = familyName
|
||||||
|
|
||||||
|
|||||||
@@ -19,13 +19,14 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtIsExpression
|
import org.jetbrains.kotlin.psi.KtIsExpression
|
||||||
import org.jetbrains.kotlin.psi.KtPsiFactory
|
import org.jetbrains.kotlin.psi.KtPsiFactory
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||||
|
|
||||||
class RemoveUselessIsCheckFix(element: KtIsExpression) : KotlinQuickFixAction<KtIsExpression>(element) {
|
class RemoveUselessIsCheckFix(element: KtIsExpression) : KotlinQuickFixAction<KtIsExpression>(element) {
|
||||||
override fun getFamilyName() = "Remove useless is check"
|
override fun getFamilyName() = KotlinBundle.message("remove.useless.is.check")
|
||||||
|
|
||||||
override fun getText(): String = familyName
|
override fun getText(): String = familyName
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,12 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||||
|
|
||||||
class RemoveUselessIsCheckFixForWhen(element: KtWhenConditionIsPattern) : KotlinQuickFixAction<KtWhenConditionIsPattern>(element) {
|
class RemoveUselessIsCheckFixForWhen(element: KtWhenConditionIsPattern) : KotlinQuickFixAction<KtWhenConditionIsPattern>(element) {
|
||||||
override fun getFamilyName() = "Remove useless is check"
|
override fun getFamilyName() = KotlinBundle.message("remove.useless.is.check")
|
||||||
|
|
||||||
override fun getText(): String = familyName
|
override fun getText(): String = familyName
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtValVarKeywordOwner
|
import org.jetbrains.kotlin.psi.KtValVarKeywordOwner
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext
|
import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext
|
||||||
@@ -21,12 +22,12 @@ class RemoveValVarFromParameterFix(element: KtValVarKeywordOwner) : KotlinQuickF
|
|||||||
varOrVal = valOrVarNode.text
|
varOrVal = valOrVarNode.text
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName() = "Remove 'val/var' from parameter"
|
override fun getFamilyName() = KotlinBundle.message("remove.val.var.from.parameter")
|
||||||
|
|
||||||
override fun getText(): String {
|
override fun getText(): String {
|
||||||
val element = element ?: return ""
|
val element = element ?: return ""
|
||||||
val varOrVal = element.valOrVarKeyword?.text ?: return familyName
|
val varOrVal = element.valOrVarKeyword?.text ?: return familyName
|
||||||
return "Remove '$varOrVal' from parameter"
|
return KotlinBundle.message("remove.0.from.parameter", varOrVal)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
|
|||||||
@@ -19,11 +19,12 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtWhenEntry
|
import org.jetbrains.kotlin.psi.KtWhenEntry
|
||||||
|
|
||||||
class RemoveWhenElseBranchFix(element: KtWhenEntry) : KotlinQuickFixAction<KtWhenEntry>(element) {
|
class RemoveWhenElseBranchFix(element: KtWhenEntry) : KotlinQuickFixAction<KtWhenEntry>(element) {
|
||||||
override fun getFamilyName() = "Remove else branch"
|
override fun getFamilyName() = KotlinBundle.message("remove.else.branch")
|
||||||
|
|
||||||
override fun getText() = familyName
|
override fun getText() = familyName
|
||||||
|
|
||||||
|
|||||||
@@ -14,9 +14,10 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.refactoring.RefactoringFactory
|
import com.intellij.refactoring.RefactoringFactory
|
||||||
import com.intellij.refactoring.rename.RenameHandlerRegistry
|
import com.intellij.refactoring.rename.RenameHandlerRegistry
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
|
|
||||||
open class RenameIdentifierFix : LocalQuickFix {
|
open class RenameIdentifierFix : LocalQuickFix {
|
||||||
override fun getName() = "Rename"
|
override fun getName() = KotlinBundle.message("rename.identifier.fix.text")
|
||||||
override fun getFamilyName() = name
|
override fun getFamilyName() = name
|
||||||
|
|
||||||
override fun startInWriteAction(): Boolean = false
|
override fun startInWriteAction(): Boolean = false
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.refactoring.rename.RenameProcessor
|
import com.intellij.refactoring.rename.RenameProcessor
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtNamedFunction
|
import org.jetbrains.kotlin.psi.KtNamedFunction
|
||||||
@@ -29,7 +30,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
|||||||
import org.jetbrains.kotlin.types.expressions.OperatorConventions.REM_TO_MOD_OPERATION_NAMES
|
import org.jetbrains.kotlin.types.expressions.OperatorConventions.REM_TO_MOD_OPERATION_NAMES
|
||||||
|
|
||||||
class RenameModToRemFix(element: KtNamedFunction, val newName: Name) : KotlinQuickFixAction<KtNamedFunction>(element) {
|
class RenameModToRemFix(element: KtNamedFunction, val newName: Name) : KotlinQuickFixAction<KtNamedFunction>(element) {
|
||||||
override fun getText(): String = "Rename to '$newName'"
|
override fun getText(): String = KotlinBundle.message("rename.to.0", newName)
|
||||||
|
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -10,6 +10,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.refactoring.rename.RenameProcessor
|
import com.intellij.refactoring.rename.RenameProcessor
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToParameterDescriptorIfAny
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToParameterDescriptorIfAny
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtParameter
|
import org.jetbrains.kotlin.psi.KtParameter
|
||||||
@@ -20,9 +21,9 @@ class RenameParameterToMatchOverriddenMethodFix(
|
|||||||
parameter: KtParameter,
|
parameter: KtParameter,
|
||||||
private val newName: String
|
private val newName: String
|
||||||
) : KotlinQuickFixAction<KtParameter>(parameter) {
|
) : KotlinQuickFixAction<KtParameter>(parameter) {
|
||||||
override fun getFamilyName() = "Rename"
|
override fun getFamilyName() = KotlinBundle.message("rename.identifier.fix.text")
|
||||||
|
|
||||||
override fun getText() = "Rename parameter to match overridden method"
|
override fun getText() = KotlinBundle.message("rename.parameter.to.match.overridden.method")
|
||||||
|
|
||||||
override fun startInWriteAction(): Boolean = false
|
override fun startInWriteAction(): Boolean = false
|
||||||
|
|
||||||
|
|||||||
@@ -11,11 +11,12 @@ import com.intellij.openapi.project.Project
|
|||||||
import org.jetbrains.kotlin.config.LanguageFeature
|
import org.jetbrains.kotlin.config.LanguageFeature
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
|
|
||||||
class RenameToUnderscoreFix(element: KtCallableDeclaration) : KotlinQuickFixAction<KtCallableDeclaration>(element) {
|
class RenameToUnderscoreFix(element: KtCallableDeclaration) : KotlinQuickFixAction<KtCallableDeclaration>(element) {
|
||||||
override fun getText() = "Rename to _"
|
override fun getText() = KotlinBundle.message("rename.to.underscore")
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.PsiNameIdentifierOwner
|
import com.intellij.psi.PsiNameIdentifierOwner
|
||||||
import com.intellij.refactoring.rename.RenameHandlerRegistry
|
import com.intellij.refactoring.rename.RenameHandlerRegistry
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||||
@@ -41,7 +42,7 @@ class RenameUnderscoreFix(declaration: KtDeclaration) : KotlinQuickFixAction<KtD
|
|||||||
return editor != null
|
return editor != null
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getText(): String = "Rename"
|
override fun getText(): String = KotlinBundle.message("rename.identifier.fix.text")
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
companion object : KotlinSingleIntentionActionFactory() {
|
companion object : KotlinSingleIntentionActionFactory() {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
@@ -74,7 +75,7 @@ class ReplaceImplicitReceiverCallFix(
|
|||||||
) : KotlinQuickFixAction<KtExpression>(expression) {
|
) : KotlinQuickFixAction<KtExpression>(expression) {
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun getText() = "Replace with safe (this?.) call"
|
override fun getText() = KotlinBundle.message("replace.with.safe.this.call")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
@@ -92,7 +93,7 @@ class ReplaceWithSafeCallFix(
|
|||||||
notNullNeeded: Boolean
|
notNullNeeded: Boolean
|
||||||
) : ReplaceCallFix(expression, "?.", notNullNeeded) {
|
) : ReplaceCallFix(expression, "?.", notNullNeeded) {
|
||||||
|
|
||||||
override fun getText() = "Replace with safe (?.) call"
|
override fun getText() = KotlinBundle.message("replace.with.safe.call")
|
||||||
|
|
||||||
companion object : KotlinSingleIntentionActionFactory() {
|
companion object : KotlinSingleIntentionActionFactory() {
|
||||||
override fun createAction(diagnostic: Diagnostic): IntentionAction? {
|
override fun createAction(diagnostic: Diagnostic): IntentionAction? {
|
||||||
@@ -117,7 +118,7 @@ class ReplaceWithSafeCallForScopeFunctionFix(
|
|||||||
notNullNeeded: Boolean
|
notNullNeeded: Boolean
|
||||||
) : ReplaceCallFix(expression, "?.", notNullNeeded) {
|
) : ReplaceCallFix(expression, "?.", notNullNeeded) {
|
||||||
|
|
||||||
override fun getText() = "Replace scope function with safe (?.) call"
|
override fun getText() = KotlinBundle.message("replace.scope.function.with.safe.call")
|
||||||
|
|
||||||
companion object : KotlinSingleIntentionActionFactory() {
|
companion object : KotlinSingleIntentionActionFactory() {
|
||||||
override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<KtExpression>? {
|
override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<KtExpression>? {
|
||||||
@@ -168,7 +169,7 @@ class ReplaceWithSafeCallForScopeFunctionFix(
|
|||||||
}
|
}
|
||||||
|
|
||||||
class ReplaceWithDotCallFix(expression: KtSafeQualifiedExpression) : ReplaceCallFix(expression, "."), CleanupFix {
|
class ReplaceWithDotCallFix(expression: KtSafeQualifiedExpression) : ReplaceCallFix(expression, "."), CleanupFix {
|
||||||
override fun getText() = "Replace with dot call"
|
override fun getText() = KotlinBundle.message("replace.with.dot.call")
|
||||||
|
|
||||||
companion object : KotlinSingleIntentionActionFactory() {
|
companion object : KotlinSingleIntentionActionFactory() {
|
||||||
override fun createAction(diagnostic: Diagnostic): IntentionAction? {
|
override fun createAction(diagnostic: Diagnostic): IntentionAction? {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||||
import org.jetbrains.kotlin.idea.intentions.OperatorToFunctionIntention
|
import org.jetbrains.kotlin.idea.intentions.OperatorToFunctionIntention
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
@@ -25,7 +26,7 @@ class ReplaceInfixOrOperatorCallFix(
|
|||||||
private val notNullNeeded: Boolean
|
private val notNullNeeded: Boolean
|
||||||
) : KotlinQuickFixAction<KtExpression>(element) {
|
) : KotlinQuickFixAction<KtExpression>(element) {
|
||||||
|
|
||||||
override fun getText() = "Replace with safe (?.) call"
|
override fun getText() = KotlinBundle.message("replace.with.safe.call1")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||||
import org.jetbrains.kotlin.idea.util.createIntentionForFirstParentOfType
|
import org.jetbrains.kotlin.idea.util.createIntentionForFirstParentOfType
|
||||||
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
||||||
@@ -18,7 +19,7 @@ import org.jetbrains.kotlin.resolve.jvm.checkers.JavaAnnotationCallChecker
|
|||||||
|
|
||||||
class ReplaceJavaAnnotationPositionedArgumentsFix(element: KtAnnotationEntry) : KotlinQuickFixAction<KtAnnotationEntry>(element),
|
class ReplaceJavaAnnotationPositionedArgumentsFix(element: KtAnnotationEntry) : KotlinQuickFixAction<KtAnnotationEntry>(element),
|
||||||
CleanupFix {
|
CleanupFix {
|
||||||
override fun getText(): String = "Replace invalid positioned arguments for annotation"
|
override fun getText(): String = KotlinBundle.message("replace.invalid.positioned.arguments.for.annotation")
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor
|
import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
@@ -24,7 +25,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
|||||||
|
|
||||||
|
|
||||||
class ReplaceJvmFieldWithConstFix(annotation: KtAnnotationEntry) : KotlinQuickFixAction<KtAnnotationEntry>(annotation) {
|
class ReplaceJvmFieldWithConstFix(annotation: KtAnnotationEntry) : KotlinQuickFixAction<KtAnnotationEntry>(annotation) {
|
||||||
override fun getText(): String = "Replace '@JvmField' with 'const'"
|
override fun getText(): String = KotlinBundle.message("replace.jvmfield.with.const")
|
||||||
|
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
|
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -21,11 +22,11 @@ class ReplaceModifierFix(
|
|||||||
private val replacement: KtModifierKeywordToken
|
private val replacement: KtModifierKeywordToken
|
||||||
) : KotlinQuickFixAction<KtModifierListOwner>(element), CleanupFix {
|
) : KotlinQuickFixAction<KtModifierListOwner>(element), CleanupFix {
|
||||||
|
|
||||||
private val text = "Replace with '${replacement.value}'"
|
private val text = KotlinBundle.message("replace.with.0", replacement.value)
|
||||||
|
|
||||||
override fun getText() = text
|
override fun getText() = text
|
||||||
|
|
||||||
override fun getFamilyName() = "Replace modifier"
|
override fun getFamilyName() = KotlinBundle.message("replace.modifier")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
element?.addModifier(replacement)
|
element?.addModifier(replacement)
|
||||||
|
|||||||
@@ -10,12 +10,13 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.util.TextRange
|
import com.intellij.openapi.util.TextRange
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||||
|
|
||||||
class ReplaceObsoleteLabelSyntaxFix(element: KtAnnotationEntry) : KotlinQuickFixAction<KtAnnotationEntry>(element), CleanupFix {
|
class ReplaceObsoleteLabelSyntaxFix(element: KtAnnotationEntry) : KotlinQuickFixAction<KtAnnotationEntry>(element), CleanupFix {
|
||||||
override fun getFamilyName(): String = "Update obsolete label syntax"
|
override fun getFamilyName(): String = KotlinBundle.message("update.obsolete.label.syntax")
|
||||||
override fun getText(): String = element?.let { "Replace with label ${it.calleeExpression?.text ?: ""}@" } ?: ""
|
override fun getText(): String = element?.let { KotlinBundle.message("replace.with.label.0.at", it.calleeExpression?.text ?: "") } ?: ""
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
replaceWithLabel(element ?: return)
|
replaceWithLabel(element ?: return)
|
||||||
|
|||||||
+3
-2
@@ -10,6 +10,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors.CAST_NEVER_SUCCEEDS
|
import org.jetbrains.kotlin.diagnostics.Errors.CAST_NEVER_SUCCEEDS
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_NO_ANNOTATIONS
|
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_NO_ANNOTATIONS
|
||||||
@@ -24,8 +25,8 @@ class ReplacePrimitiveCastWithNumberConversionFix(
|
|||||||
private val targetShortType: String
|
private val targetShortType: String
|
||||||
) : KotlinQuickFixAction<KtBinaryExpressionWithTypeRHS>(element) {
|
) : KotlinQuickFixAction<KtBinaryExpressionWithTypeRHS>(element) {
|
||||||
|
|
||||||
override fun getText() = "Replace cast with call to 'to$targetShortType()'"
|
override fun getText() = KotlinBundle.message("replace.cast.with.call.to.to.0", targetShortType)
|
||||||
override fun getFamilyName() = "Replace cast with primitive conversion method"
|
override fun getFamilyName() = KotlinBundle.message("replace.cast.with.primitive.conversion.method")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
@@ -19,12 +19,13 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||||
|
|
||||||
class ReplaceWithArrayCallInAnnotationFix(argument: KtExpression) : KotlinQuickFixAction<KtExpression>(argument) {
|
class ReplaceWithArrayCallInAnnotationFix(argument: KtExpression) : KotlinQuickFixAction<KtExpression>(argument) {
|
||||||
override fun getText() = "Replace with array call"
|
override fun getText() = KotlinBundle.message("replace.with.array.call")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
+4
-3
@@ -11,6 +11,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.KotlinTarget
|
import org.jetbrains.kotlin.descriptors.annotations.KotlinTarget
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -59,7 +60,7 @@ object RestrictedRetentionForExpressionAnnotationFactory : KotlinIntentionAction
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class AddSourceRetentionFix(element: KtClass) : KotlinQuickFixAction<KtClass>(element) {
|
private class AddSourceRetentionFix(element: KtClass) : KotlinQuickFixAction<KtClass>(element) {
|
||||||
override fun getText() = "Add SOURCE retention"
|
override fun getText() = KotlinBundle.message("add.source.retention")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
@@ -73,7 +74,7 @@ object RestrictedRetentionForExpressionAnnotationFactory : KotlinIntentionAction
|
|||||||
private class ChangeRetentionToSourceFix(retentionAnnotation: KtAnnotationEntry) :
|
private class ChangeRetentionToSourceFix(retentionAnnotation: KtAnnotationEntry) :
|
||||||
KotlinQuickFixAction<KtAnnotationEntry>(retentionAnnotation) {
|
KotlinQuickFixAction<KtAnnotationEntry>(retentionAnnotation) {
|
||||||
|
|
||||||
override fun getText() = "Change existent retention to SOURCE"
|
override fun getText() = KotlinBundle.message("change.existent.retention.to.source")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
@@ -97,7 +98,7 @@ object RestrictedRetentionForExpressionAnnotationFactory : KotlinIntentionAction
|
|||||||
private class RemoveExpressionTargetFix(expressionTargetArgument: KtValueArgument) :
|
private class RemoveExpressionTargetFix(expressionTargetArgument: KtValueArgument) :
|
||||||
KotlinQuickFixAction<KtValueArgument>(expressionTargetArgument) {
|
KotlinQuickFixAction<KtValueArgument>(expressionTargetArgument) {
|
||||||
|
|
||||||
override fun getText() = "Remove EXPRESSION target"
|
override fun getText() = KotlinBundle.message("remove.expression.target")
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.intellij.codeInsight.intention.IntentionAction
|
|||||||
import com.intellij.codeInsight.intention.LowPriorityAction
|
import com.intellij.codeInsight.intention.LowPriorityAction
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
@@ -40,7 +41,7 @@ class RoundNumberFix(
|
|||||||
override fun isAvailable(project: Project, editor: Editor?, file: KtFile) =
|
override fun isAvailable(project: Project, editor: Editor?, file: KtFile) =
|
||||||
disableIfAvailable?.isAvailable(project, editor, file) != true && isTarget
|
disableIfAvailable?.isAvailable(project, editor, file) != true && isTarget
|
||||||
|
|
||||||
override fun getText() = "Round using $roundFunction()"
|
override fun getText() = KotlinBundle.message("round.using.0", roundFunction)
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticWithParameters2
|
import org.jetbrains.kotlin.diagnostics.DiagnosticWithParameters2
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.idea.inspections.ConstantConditionIfInspection
|
import org.jetbrains.kotlin.idea.inspections.ConstantConditionIfInspection
|
||||||
import org.jetbrains.kotlin.idea.intentions.SimplifyBooleanWithConstantsIntention
|
import org.jetbrains.kotlin.idea.intentions.SimplifyBooleanWithConstantsIntention
|
||||||
@@ -29,9 +30,9 @@ import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||||
|
|
||||||
class SimplifyComparisonFix(element: KtExpression, val value: Boolean) : KotlinQuickFixAction<KtExpression>(element) {
|
class SimplifyComparisonFix(element: KtExpression, val value: Boolean) : KotlinQuickFixAction<KtExpression>(element) {
|
||||||
override fun getFamilyName() = "Simplify $element to '$value'"
|
override fun getFamilyName() = KotlinBundle.message("simplify.0.to.1", element.toString(), value)
|
||||||
|
|
||||||
override fun getText() = "Simplify comparison"
|
override fun getText() = KotlinBundle.message("simplify.comparison")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithContent
|
import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithContent
|
||||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMemberChooserObject
|
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMemberChooserObject
|
||||||
@@ -27,9 +28,9 @@ class SpecifyOverrideExplicitlyFix(
|
|||||||
element: KtClassOrObject, private val signature: String
|
element: KtClassOrObject, private val signature: String
|
||||||
) : KotlinQuickFixAction<KtClassOrObject>(element) {
|
) : KotlinQuickFixAction<KtClassOrObject>(element) {
|
||||||
|
|
||||||
override fun getText() = "Specify override for '$signature' explicitly"
|
override fun getText() = KotlinBundle.message("specify.override.for.0.explicitly", signature)
|
||||||
|
|
||||||
override fun getFamilyName() = "Specify override explicitly"
|
override fun getFamilyName() = KotlinBundle.message("specify.override.explicitly")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.intentions.SpecifyTypeExplicitlyIntention
|
import org.jetbrains.kotlin.idea.intentions.SpecifyTypeExplicitlyIntention
|
||||||
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
||||||
import org.jetbrains.kotlin.psi.KtNamedFunction
|
import org.jetbrains.kotlin.psi.KtNamedFunction
|
||||||
@@ -29,7 +30,7 @@ import org.jetbrains.kotlin.psi.KtProperty
|
|||||||
import org.jetbrains.kotlin.types.isError
|
import org.jetbrains.kotlin.types.isError
|
||||||
|
|
||||||
class SpecifyTypeExplicitlyFix : PsiElementBaseIntentionAction() {
|
class SpecifyTypeExplicitlyFix : PsiElementBaseIntentionAction() {
|
||||||
override fun getFamilyName() = "Specify type explicitly"
|
override fun getFamilyName() = KotlinBundle.message("specify.type.explicitly")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, element: PsiElement) {
|
override fun invoke(project: Project, editor: Editor, element: PsiElement) {
|
||||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return
|
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return
|
||||||
@@ -43,8 +44,8 @@ class SpecifyTypeExplicitlyFix : PsiElementBaseIntentionAction() {
|
|||||||
val declaration = declarationByElement(element)
|
val declaration = declarationByElement(element)
|
||||||
if (declaration?.typeReference != null) return false
|
if (declaration?.typeReference != null) return false
|
||||||
text = when (declaration) {
|
text = when (declaration) {
|
||||||
is KtProperty -> "Specify type explicitly"
|
is KtProperty -> KotlinBundle.message("specify.type.explicitly")
|
||||||
is KtNamedFunction -> "Specify return type explicitly"
|
is KtNamedFunction -> KotlinBundle.message("specify.return.type.explicitly")
|
||||||
else -> return false
|
else -> return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToParameterDescriptorIfAny
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToParameterDescriptorIfAny
|
||||||
@@ -99,7 +100,7 @@ object SuperClassNotInitialized : KotlinIntentionActionsFactory() {
|
|||||||
types.asSequence().take(maxParamsToDisplay).map { DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(it) }
|
types.asSequence().take(maxParamsToDisplay).map { DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(it) }
|
||||||
.toList()
|
.toList()
|
||||||
val parameterString = typesRendered.joinToString(", ", "(", if (types.size <= maxParamsToDisplay) ")" else ",...)")
|
val parameterString = typesRendered.joinToString(", ", "(", if (types.size <= maxParamsToDisplay) ")" else ",...)")
|
||||||
val text = "Add constructor parameters from " + superClass.name.asString() + parameterString
|
val text = KotlinBundle.message("add.constructor.parameters.from.0.1", superClass.name.asString(), parameterString)
|
||||||
fixes.addIfNotNull(AddParametersFix.create(delegator, classOrObjectDeclaration, constructor, text))
|
fixes.addIfNotNull(AddParametersFix.create(delegator, classOrObjectDeclaration, constructor, text))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -114,7 +115,7 @@ object SuperClassNotInitialized : KotlinIntentionActionsFactory() {
|
|||||||
val putCaretIntoParenthesis: Boolean
|
val putCaretIntoParenthesis: Boolean
|
||||||
) : KotlinQuickFixAction<KtSuperTypeEntry>(element), HighPriorityAction {
|
) : KotlinQuickFixAction<KtSuperTypeEntry>(element), HighPriorityAction {
|
||||||
|
|
||||||
override fun getFamilyName() = "Change to constructor invocation" //TODO?
|
override fun getFamilyName() = KotlinBundle.message("change.to.constructor.invocation") //TODO?
|
||||||
|
|
||||||
override fun getText() = familyName
|
override fun getText() = familyName
|
||||||
|
|
||||||
@@ -200,7 +201,7 @@ object SuperClassNotInitialized : KotlinIntentionActionsFactory() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName() = "Add constructor parameters from superclass"
|
override fun getFamilyName() = KotlinBundle.message("add.constructor.parameters.from.superclass")
|
||||||
|
|
||||||
override fun getText() = text
|
override fun getText() = text
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -10,6 +10,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
@@ -20,7 +21,7 @@ class SurroundWithArrayOfWithSpreadOperatorInFunctionFix(
|
|||||||
val wrapper: Name,
|
val wrapper: Name,
|
||||||
argument: KtExpression
|
argument: KtExpression
|
||||||
) : KotlinQuickFixAction<KtExpression>(argument) {
|
) : KotlinQuickFixAction<KtExpression>(argument) {
|
||||||
override fun getText() = "Surround with *$wrapper(...)"
|
override fun getText() = KotlinBundle.message("surround.with.star.0", wrapper)
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import org.jetbrains.kotlin.builtins.isFunctionType
|
|||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
|
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithContent
|
import org.jetbrains.kotlin.idea.caches.resolve.analyzeWithContent
|
||||||
import org.jetbrains.kotlin.psi.KtExpression
|
import org.jetbrains.kotlin.psi.KtExpression
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -23,7 +24,7 @@ class SurroundWithLambdaFix(
|
|||||||
) : KotlinQuickFixAction<KtExpression>(expression), HighPriorityAction {
|
) : KotlinQuickFixAction<KtExpression>(expression), HighPriorityAction {
|
||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
override fun getText() = "Surround with lambda"
|
override fun getText() = KotlinBundle.message("surround.with.lambda")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val nameReference = element ?: return
|
val nameReference = element ?: return
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isStableSimpleExpression
|
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isStableSimpleExpression
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -41,7 +42,7 @@ class SurroundWithNullCheckFix(
|
|||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun getText() = "Surround with null check"
|
override fun getText() = KotlinBundle.message("surround.with.null.check")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.intellij.codeInsight.intention.IntentionAction
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtConstantExpression
|
import org.jetbrains.kotlin.psi.KtConstantExpression
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtPsiFactory
|
import org.jetbrains.kotlin.psi.KtPsiFactory
|
||||||
@@ -11,7 +12,7 @@ import org.jetbrains.kotlin.psi.KtPsiFactory
|
|||||||
class TooLongCharLiteralToStringFix(
|
class TooLongCharLiteralToStringFix(
|
||||||
element: KtConstantExpression
|
element: KtConstantExpression
|
||||||
) : KotlinQuickFixAction<KtConstantExpression>(element) {
|
) : KotlinQuickFixAction<KtConstantExpression>(element) {
|
||||||
override fun getText(): String = "Convert too long character literal to string"
|
override fun getText(): String = KotlinBundle.message("convert.too.long.character.literal.to.string")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtPsiFactory
|
import org.jetbrains.kotlin.psi.KtPsiFactory
|
||||||
@@ -22,7 +23,7 @@ class TypeOfAnnotationMemberFix(
|
|||||||
typeReference: KtTypeReference,
|
typeReference: KtTypeReference,
|
||||||
private val fixedType: String
|
private val fixedType: String
|
||||||
) : KotlinQuickFixAction<KtTypeReference>(typeReference), CleanupFix {
|
) : KotlinQuickFixAction<KtTypeReference>(typeReference), CleanupFix {
|
||||||
override fun getText(): String = "Replace array of boxed with array of primitive"
|
override fun getText(): String = KotlinBundle.message("replace.array.of.boxed.with.array.of.primitive")
|
||||||
|
|
||||||
override fun getFamilyName(): String = text
|
override fun getFamilyName(): String = text
|
||||||
|
|
||||||
|
|||||||
@@ -11,12 +11,13 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.MESSAGE_FOR_YIELD_BEFORE_LAMBDA
|
import org.jetbrains.kotlin.psi.psiUtil.MESSAGE_FOR_YIELD_BEFORE_LAMBDA
|
||||||
|
|
||||||
class UnsupportedYieldFix(psiElement: PsiElement) : KotlinQuickFixAction<PsiElement>(psiElement), CleanupFix {
|
class UnsupportedYieldFix(psiElement: PsiElement) : KotlinQuickFixAction<PsiElement>(psiElement), CleanupFix {
|
||||||
override fun getFamilyName(): String = "Migrate unsupported yield syntax"
|
override fun getFamilyName(): String = KotlinBundle.message("migrate.unsupported.yield.syntax")
|
||||||
override fun getText(): String = familyName
|
override fun getText(): String = familyName
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
|
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtExpression
|
import org.jetbrains.kotlin.psi.KtExpression
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtPsiFactory
|
import org.jetbrains.kotlin.psi.KtPsiFactory
|
||||||
@@ -14,9 +15,9 @@ import org.jetbrains.kotlin.psi.createExpressionByPattern
|
|||||||
|
|
||||||
class WrapWithArrayLiteralFix(expression: KtExpression) : KotlinQuickFixAction<KtExpression>(expression) {
|
class WrapWithArrayLiteralFix(expression: KtExpression) : KotlinQuickFixAction<KtExpression>(expression) {
|
||||||
|
|
||||||
override fun getFamilyName() = "Wrap with array literal"
|
override fun getFamilyName() = KotlinBundle.message("wrap.with.array.literal")
|
||||||
|
|
||||||
override fun getText() = "Wrap with []"
|
override fun getText() = KotlinBundle.message("wrap.with")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
|
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isNullExpression
|
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isNullExpression
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -35,12 +36,12 @@ class WrapWithCollectionLiteralCallFix private constructor(
|
|||||||
editor?.caretModel?.moveToOffset(replaced.endOffset)
|
editor?.caretModel?.moveToOffset(replaced.endOffset)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName(): String = "Wrap with collection literal call"
|
override fun getFamilyName(): String = KotlinBundle.message("wrap.with.collection.literal.call")
|
||||||
override fun getText() =
|
override fun getText() =
|
||||||
if (wrapInitialElement)
|
if (wrapInitialElement)
|
||||||
"Wrap element with '$functionName()' call"
|
KotlinBundle.message("wrap.element.with.0.call", functionName)
|
||||||
else
|
else
|
||||||
"Replace with '$functionName()' call"
|
KotlinBundle.message("replace.with.0.call", functionName)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun create(expectedType: KotlinType, expressionType: KotlinType, element: KtExpression): List<WrapWithCollectionLiteralCallFix> {
|
fun create(expectedType: KotlinType, expressionType: KotlinType, element: KtExpression): List<WrapWithCollectionLiteralCallFix> {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||||
import org.jetbrains.kotlin.idea.core.KotlinNameSuggester
|
import org.jetbrains.kotlin.idea.core.KotlinNameSuggester
|
||||||
import org.jetbrains.kotlin.idea.core.NewDeclarationNameValidator
|
import org.jetbrains.kotlin.idea.core.NewDeclarationNameValidator
|
||||||
@@ -40,7 +41,7 @@ class WrapWithSafeLetCallFix(
|
|||||||
|
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun getText() = "Wrap with '?.let { ... }' call"
|
override fun getText() = KotlinBundle.message("wrap.with.let.call")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.psi.KtConstantExpression
|
import org.jetbrains.kotlin.psi.KtConstantExpression
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtPsiFactory
|
import org.jetbrains.kotlin.psi.KtPsiFactory
|
||||||
@@ -17,8 +18,8 @@ import org.jetbrains.kotlin.psi.KtPsiFactory
|
|||||||
class WrongLongSuffixFix(element: KtConstantExpression) : KotlinQuickFixAction<KtConstantExpression>(element) {
|
class WrongLongSuffixFix(element: KtConstantExpression) : KotlinQuickFixAction<KtConstantExpression>(element) {
|
||||||
private val corrected = element.text.trimEnd('l') + 'L'
|
private val corrected = element.text.trimEnd('l') + 'L'
|
||||||
|
|
||||||
override fun getText() = "Change to '$corrected'"
|
override fun getText() = KotlinBundle.message("change.to.0", corrected)
|
||||||
override fun getFamilyName() = "Change to correct long suffix 'L'"
|
override fun getFamilyName() = KotlinBundle.message("change.to.correct.long.suffix.l")
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
element?.replace(KtPsiFactory(project).createExpression(corrected))
|
element?.replace(KtPsiFactory(project).createExpression(corrected))
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.codegen.ExpressionCodegen
|
import org.jetbrains.kotlin.codegen.ExpressionCodegen
|
||||||
import org.jetbrains.kotlin.config.LanguageFeature
|
import org.jetbrains.kotlin.config.LanguageFeature
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.core.replaced
|
import org.jetbrains.kotlin.idea.core.replaced
|
||||||
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
||||||
@@ -82,8 +83,8 @@ class WrongPrimitiveLiteralFix(element: KtConstantExpression, type: KotlinType)
|
|||||||
return constValue.toLong() in valueRanges[typeName] ?: return false
|
return constValue.toLong() in valueRanges[typeName] ?: return false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName() = "Change to correct primitive type"
|
override fun getFamilyName() = KotlinBundle.message("change.to.correct.primitive.type")
|
||||||
override fun getText() = "Change to '$fixedExpression'"
|
override fun getText() = KotlinBundle.message("change.to.0", fixedExpression)
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
val element = element ?: return
|
val element = element ?: return
|
||||||
|
|||||||
Reference in New Issue
Block a user