mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-07 05:09:37 +07:00
deprecating jvm.actions.MemberRequest.Modifier in favour of ChangeModifierRequest
`MemberRequest.Property` already considered as deprecated
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.lang.jvm.actions;
|
||||
|
||||
import com.intellij.lang.jvm.JvmModifier;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public interface ChangeModifierRequest extends ActionRequest {
|
||||
|
||||
@NotNull
|
||||
JvmModifier getModifier();
|
||||
|
||||
boolean shouldBePresent();
|
||||
}
|
||||
@@ -18,6 +18,10 @@ import com.intellij.lang.jvm.JvmModifiersOwner
|
||||
*/
|
||||
abstract class JvmElementActionsFactory {
|
||||
|
||||
open fun createChangeModifierActions(target: JvmModifiersOwner, request: ChangeModifierRequest): List<IntentionAction> =
|
||||
createChangeModifierActions(target, MemberRequest.Modifier(request.modifier, request.shouldBePresent()))
|
||||
|
||||
@Deprecated(message = "use createChangeModifierActions(JvmModifiersOwner, ChangeModifierRequest)")
|
||||
open fun createChangeModifierActions(target: JvmModifiersOwner, request: MemberRequest.Modifier): List<IntentionAction> = emptyList()
|
||||
|
||||
open fun createAddAnnotationActions(target: JvmModifiersOwner, request: AnnotationRequest): List<IntentionAction> = emptyList()
|
||||
@@ -32,4 +36,5 @@ abstract class JvmElementActionsFactory {
|
||||
open fun createAddConstructorActions(targetClass: JvmClass, request: CreateConstructorRequest): List<IntentionAction> = emptyList()
|
||||
|
||||
open fun createChangeParametersActions(target: JvmMethod, request: ChangeParametersRequest): List<IntentionAction> = emptyList()
|
||||
|
||||
}
|
||||
|
||||
@@ -4,8 +4,10 @@ package com.intellij.lang.jvm.actions
|
||||
import com.intellij.lang.jvm.JvmModifier
|
||||
import com.intellij.lang.jvm.types.JvmType
|
||||
|
||||
@Deprecated("use api based on ChangeModifierRequest or CreateMethodRequest")
|
||||
sealed class MemberRequest {
|
||||
|
||||
@Deprecated("use `com.intellij.lang.jvm.actions.CreateMethodRequest`")
|
||||
class Property(
|
||||
val propertyName: String,
|
||||
val visibilityModifier: JvmModifier,
|
||||
@@ -14,6 +16,7 @@ sealed class MemberRequest {
|
||||
val getterRequired: Boolean
|
||||
) : MemberRequest()
|
||||
|
||||
@Deprecated("use `com.intellij.lang.jvm.actions.ChangeModifierRequest`")
|
||||
class Modifier(
|
||||
val modifier: JvmModifier,
|
||||
val shouldPresent: Boolean
|
||||
|
||||
@@ -39,6 +39,10 @@ fun createAddAnnotationActions(target: JvmModifiersOwner, request: AnnotationReq
|
||||
}
|
||||
}
|
||||
|
||||
fun createModifierActions(target: JvmModifiersOwner, request: ChangeModifierRequest): List<IntentionAction> =
|
||||
createActions { it.createChangeModifierActions(target, request) }
|
||||
|
||||
@Deprecated("use createModifierActions(JvmModifiersOwner, ChangeModifierRequest)")
|
||||
fun createModifierActions(target: JvmModifiersOwner, request: MemberRequest.Modifier): List<IntentionAction> {
|
||||
return createActions {
|
||||
it.createChangeModifierActions(target, request)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.lang.jvm.actions
|
||||
|
||||
import com.intellij.lang.jvm.JvmModifier
|
||||
|
||||
fun modifierRequest(modifier: JvmModifier, shouldBePresent: Boolean) = object : ChangeModifierRequest {
|
||||
override fun isValid(): Boolean = true
|
||||
override fun getModifier(): JvmModifier = modifier
|
||||
override fun shouldBePresent(): Boolean = shouldBePresent
|
||||
}
|
||||
@@ -23,8 +23,8 @@ import com.intellij.lang.jvm.JvmClass
|
||||
import com.intellij.lang.jvm.JvmModifier
|
||||
import com.intellij.lang.jvm.JvmModifiersOwner
|
||||
import com.intellij.lang.jvm.JvmNamedElement
|
||||
import com.intellij.lang.jvm.actions.MemberRequest
|
||||
import com.intellij.lang.jvm.actions.createModifierActions
|
||||
import com.intellij.lang.jvm.actions.modifierRequest
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.diagnostic.Logger
|
||||
import com.intellij.openapi.project.Project
|
||||
@@ -182,7 +182,7 @@ class ImplicitSubclassInspection : LocalInspectionTool() {
|
||||
shouldPresent: Boolean,
|
||||
actionsList: SmartList<IntentionAction>) {
|
||||
if (declaration.hasModifier(modifier) == shouldPresent) return
|
||||
val request = MemberRequest.Modifier(modifier, shouldPresent)
|
||||
val request = modifierRequest(modifier, shouldPresent)
|
||||
actionsList += createModifierActions(declaration, request)
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,15 @@ class JavaElementActionsFactory(private val renderer: JavaElementRenderer) : Jvm
|
||||
listOf(ModifierFix(declaration.modifierList, renderer.render(modifier), shouldPresent, false))
|
||||
}
|
||||
|
||||
override fun createChangeModifierActions(target: JvmModifiersOwner, request: ChangeModifierRequest): List<IntentionAction> {
|
||||
val declaration = target as PsiModifierListOwner
|
||||
if (declaration.language != JavaLanguage.INSTANCE) return emptyList()
|
||||
val fix = object : ModifierFix(declaration.modifierList, renderer.render(request.modifier), request.shouldBePresent(), false) {
|
||||
override fun isAvailable(): Boolean = request.isValid && super.isAvailable()
|
||||
}
|
||||
return listOf(fix)
|
||||
}
|
||||
|
||||
override fun createAddAnnotationActions(target: JvmModifiersOwner, request: AnnotationRequest): List<IntentionAction> {
|
||||
val declaration = target as? PsiModifierListOwner ?: return emptyList()
|
||||
if (declaration.language != JavaLanguage.INSTANCE) return emptyList()
|
||||
|
||||
@@ -7,8 +7,8 @@ import com.intellij.lang.jvm.DefaultJvmElementVisitor
|
||||
import com.intellij.lang.jvm.JvmClass
|
||||
import com.intellij.lang.jvm.JvmElementVisitor
|
||||
import com.intellij.lang.jvm.JvmModifier
|
||||
import com.intellij.lang.jvm.actions.MemberRequest
|
||||
import com.intellij.lang.jvm.actions.createModifierActions
|
||||
import com.intellij.lang.jvm.actions.modifierRequest
|
||||
import com.intellij.lang.jvm.inspection.JvmLocalInspection
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.siyeh.ig.junit.JUnitCommonClassNames
|
||||
@@ -21,7 +21,7 @@ class JUnit5MalformedNestedClassInspection : JvmLocalInspection() {
|
||||
clazz.hasModifier(JvmModifier.STATIC) &&
|
||||
clazz.hasAnnotation(JUnitCommonClassNames.ORG_JUNIT_JUPITER_API_NESTED)) {
|
||||
|
||||
val fixes = createModifierActions(clazz, MemberRequest.Modifier(JvmModifier.STATIC, false)).toTypedArray()
|
||||
val fixes = createModifierActions(clazz, modifierRequest(JvmModifier.STATIC, false)).toTypedArray()
|
||||
sink.highlight("Only non-static nested classes can serve as @Nested test classes.",
|
||||
ProblemHighlightType.GENERIC_ERROR_OR_WARNING,
|
||||
*IntentionWrapper.wrapToQuickFixes(fixes, clazz.sourceElement!!.containingFile))
|
||||
|
||||
Reference in New Issue
Block a user