Pull up refactoring update
This commit is contained in:
+8
@@ -26,11 +26,13 @@ import com.intellij.refactoring.memberPullUp.PullUpHelper
|
||||
import com.intellij.refactoring.util.DocCommentPolicy
|
||||
import com.intellij.refactoring.util.RefactoringUtil
|
||||
import com.intellij.refactoring.util.classMembers.MemberInfo
|
||||
import com.intellij.util.VisibilityUtil
|
||||
import org.jetbrains.kotlin.asJava.unwrapped
|
||||
import org.jetbrains.kotlin.idea.codeInsight.shorten.addToShorteningWaitSet
|
||||
import org.jetbrains.kotlin.idea.core.getOrCreateCompanionObject
|
||||
import org.jetbrains.kotlin.idea.core.refactoring.j2k
|
||||
import org.jetbrains.kotlin.idea.core.refactoring.j2kText
|
||||
import org.jetbrains.kotlin.idea.core.setVisibility
|
||||
import org.jetbrains.kotlin.idea.refactoring.safeDelete.removeOverrideModifier
|
||||
import org.jetbrains.kotlin.lexer.JetTokens
|
||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||
@@ -142,6 +144,12 @@ public class JavaToKotlinPreconversionPullUpHelper(
|
||||
|
||||
val targetClass = data.targetClass.unwrapped as? JetClass ?: return
|
||||
val convertedDeclaration = member.j2k() ?: return
|
||||
if (member is PsiField || member is PsiMethod) {
|
||||
val visibilityModifier = VisibilityUtil.getVisibilityModifier(member.modifierList)
|
||||
if (visibilityModifier == PsiModifier.PROTECTED || visibilityModifier == PsiModifier.PACKAGE_LOCAL) {
|
||||
convertedDeclaration.setVisibility(JetTokens.PUBLIC_KEYWORD)
|
||||
}
|
||||
}
|
||||
val newDeclaration = membersToDummyDeclarations[originalMember]?.replace(convertedDeclaration) as JetNamedDeclaration
|
||||
if (targetClass.isInterface()) {
|
||||
newDeclaration.removeModifier(JetTokens.ABSTRACT_KEYWORD)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
abstract class A {
|
||||
// INFO: {"checked": "true"}
|
||||
internal var x = 2 * 3
|
||||
var x = 2 * 3
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
internal inner class X
|
||||
@@ -9,19 +9,19 @@ abstract class A {
|
||||
internal class Y
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
internal fun foo(n: Int): Boolean {
|
||||
fun foo(n: Int): Boolean {
|
||||
return n > 0
|
||||
}
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
internal abstract fun bar(s: String): Int
|
||||
abstract fun bar(s: String): Int
|
||||
|
||||
companion object {
|
||||
// INFO: {"checked": "true"}
|
||||
internal var X = "1" + "2"
|
||||
var X = "1" + "2"
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
JvmStatic internal fun foo2(n: Int): String {
|
||||
JvmStatic fun foo2(n: Int): String {
|
||||
return "_" + n + "_"
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
abstract class A {
|
||||
// INFO: {"checked": "true", "toAbstract": "true"}
|
||||
internal var x = 2 * 3
|
||||
var x = 2 * 3
|
||||
|
||||
// INFO: {"checked": "true", "toAbstract": "true"}
|
||||
internal inner class X
|
||||
@@ -9,17 +9,17 @@ abstract class A {
|
||||
internal class Y
|
||||
|
||||
// INFO: {"checked": "true", "toAbstract": "true"}
|
||||
internal abstract fun foo(n: Int): Boolean
|
||||
abstract fun foo(n: Int): Boolean
|
||||
|
||||
// INFO: {"checked": "true", "toAbstract": "true"}
|
||||
internal abstract fun bar(s: String): Int
|
||||
abstract fun bar(s: String): Int
|
||||
|
||||
companion object {
|
||||
// INFO: {"checked": "true", "toAbstract": "true"}
|
||||
internal var X = "1" + "2"
|
||||
var X = "1" + "2"
|
||||
|
||||
// INFO: {"checked": "true", "toAbstract": "true"}
|
||||
JvmStatic internal fun foo2(n: Int): String {
|
||||
JvmStatic fun foo2(n: Int): String {
|
||||
return "_" + n + "_"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,19 +4,19 @@ interface Z<T>
|
||||
|
||||
open class A<T : I, U : I, V> {
|
||||
// INFO: {"checked": "true"}
|
||||
internal var foo1: T
|
||||
var foo1: T
|
||||
// INFO: {"checked": "true"}
|
||||
internal var foo2: Z<T>
|
||||
var foo2: Z<T>
|
||||
// INFO: {"checked": "true"}
|
||||
internal var foo3: Any
|
||||
var foo3: Any
|
||||
// INFO: {"checked": "true"}
|
||||
internal var foo4: Z<Any>
|
||||
var foo4: Z<Any>
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
internal inner class Foo<S> : A<T, I, Z<Any>>(), Z<I>
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
internal fun <S : T> foo(x1: T, x2: Z<T>, y1: Any, y2: Z<Any>, w1: I, w2: Z<I>, s1: S, s2: Z<S>) {
|
||||
fun <S : T> foo(x1: T, x2: Z<T>, y1: Any, y2: Z<Any>, w1: I, w2: Z<I>, s1: S, s2: Z<S>) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -3,19 +3,19 @@ interface A {
|
||||
internal class Y
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
internal fun foo(n: Int): Boolean {
|
||||
fun foo(n: Int): Boolean {
|
||||
return n > 0
|
||||
}
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
internal fun bar(s: String): Int
|
||||
fun bar(s: String): Int
|
||||
|
||||
companion object {
|
||||
// INFO: {"checked": "true"}
|
||||
internal var X = "1" + "2"
|
||||
var X = "1" + "2"
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
JvmStatic internal fun foo2(n: Int): String {
|
||||
JvmStatic fun foo2(n: Int): String {
|
||||
return "_" + n + "_"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ class T {
|
||||
class U {
|
||||
abstract class A {
|
||||
// INFO: {"checked": "true"}
|
||||
internal var x = 2 * 3
|
||||
var x = 2 * 3
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
internal inner class X
|
||||
@@ -11,19 +11,19 @@ class T {
|
||||
internal class Y
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
internal fun foo(n: Int): Boolean {
|
||||
fun foo(n: Int): Boolean {
|
||||
return n > 0
|
||||
}
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
internal abstract fun bar(s: String): Int
|
||||
abstract fun bar(s: String): Int
|
||||
|
||||
companion object {
|
||||
// INFO: {"checked": "true"}
|
||||
internal var X = "1" + "2"
|
||||
var X = "1" + "2"
|
||||
|
||||
// INFO: {"checked": "true"}
|
||||
JvmStatic internal fun foo2(n: Int): String {
|
||||
JvmStatic fun foo2(n: Int): String {
|
||||
return "_" + n + "_"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user