Extract Interface/Pull Up: Disable internal/protected members when moving to an interface
#KT-15607 Fixed
This commit is contained in:
@@ -478,6 +478,7 @@ These artifacts include extensions for the types available in the latter JDKs, s
|
||||
- [`KT-15355`](https://youtrack.jetbrains.com/issue/KT-15355) Extract Interface: Disable "Make abstract" and assume it to be true for abstract members of an interface
|
||||
- [`KT-15353`](https://youtrack.jetbrains.com/issue/KT-15353) Extract Superclass/Interface: Allow extracting class with special name (and quotes)
|
||||
- [`KT-15643`](https://youtrack.jetbrains.com/issue/KT-15643) Extract Interface/Pull Up: Disable "Make abstract" and assume it to be true for primary constructor parameter when moving to an interface
|
||||
- [`KT-15607`](https://youtrack.jetbrains.com/issue/KT-15607) Extract Interface/Pull Up: Disable internal/protected members when moving to an interface
|
||||
|
||||
#### Intention actions, inspections and quickfixes
|
||||
|
||||
|
||||
+3
-1
@@ -62,7 +62,9 @@ class KotlinExtractInterfaceDialog(
|
||||
val member = memberInfo.member
|
||||
return !(member.hasModifier(KtTokens.INLINE_KEYWORD) ||
|
||||
member.hasModifier(KtTokens.EXTERNAL_KEYWORD) ||
|
||||
member.hasModifier(KtTokens.LATEINIT_KEYWORD))
|
||||
member.hasModifier(KtTokens.LATEINIT_KEYWORD) ||
|
||||
member.hasModifier(KtTokens.INTERNAL_KEYWORD) ||
|
||||
member.hasModifier(KtTokens.PROTECTED_KEYWORD))
|
||||
}
|
||||
|
||||
override fun isAbstractEnabled(memberInfo: KotlinMemberInfo): Boolean {
|
||||
|
||||
@@ -107,6 +107,9 @@ class KotlinPullUpDialog(
|
||||
|
||||
if (member.hasModifier(KtTokens.CONST_KEYWORD)) return false
|
||||
|
||||
if (superClass is KtClass && superClass.isInterface() &&
|
||||
(member.hasModifier(KtTokens.INTERNAL_KEYWORD) || member.hasModifier(KtTokens.PROTECTED_KEYWORD))) return false
|
||||
|
||||
if (superClass is PsiClass) {
|
||||
if (!member.canMoveMemberToJavaClass(superClass)) return false
|
||||
if (member.isCompanionMemberOf(sourceClass)) return false
|
||||
|
||||
Reference in New Issue
Block a user