mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-05-06 05:10:22 +07:00
[jvm-lang] java: don't create private abstract methods (IDEA-186499)
This commit is contained in:
@@ -83,11 +83,14 @@ private class JavaMethodRenderer(
|
||||
private fun renderMethod(): PsiMethod {
|
||||
val method = factory.createMethod(request.methodName, PsiType.VOID)
|
||||
|
||||
var modifiersToRender = requestedModifiers
|
||||
val modifiersToRender = requestedModifiers.toMutableList()
|
||||
if (targetClass.isInterface) {
|
||||
modifiersToRender -= (visibilityModifiers + JvmModifier.ABSTRACT)
|
||||
}
|
||||
else if (abstract) {
|
||||
if (modifiersToRender.remove(JvmModifier.PRIVATE)) {
|
||||
modifiersToRender += JvmModifier.PROTECTED
|
||||
}
|
||||
modifiersToRender += JvmModifier.ABSTRACT
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Create abstract method 'foo' in 'A'" "true"
|
||||
abstract class A {
|
||||
void usage() {
|
||||
foo();
|
||||
}
|
||||
|
||||
protected abstract void foo();
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
// "Create abstract method 'foo' in 'A'" "true"
|
||||
abstract class A {
|
||||
void usage() {
|
||||
<caret>foo();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user