Extract Interface: Disable inline/external/lateinit members
This commit is contained in:
@@ -472,6 +472,7 @@ These artifacts include extensions for the types available in the latter JDKs, s
|
||||
- [`KT-15611`](https://youtrack.jetbrains.com/issue/KT-15611) Extract Interface/Superclass: Disable const-properties
|
||||
- Pull Up: Fix pull-up from object to superclass
|
||||
- [`KT-15602`](https://youtrack.jetbrains.com/issue/KT-15602) Extract Interface/Superclass: Disable "Make abstract" for inline/external/lateinit members
|
||||
- Extract Interface: Disable inline/external/lateinit members
|
||||
|
||||
#### Intention actions, inspections and quickfixes
|
||||
|
||||
|
||||
+9
@@ -54,6 +54,15 @@ class KotlinExtractInterfaceDialog(
|
||||
extractableMemberInfos,
|
||||
getInterfaceContainmentVerifier { selectedMembers }
|
||||
) {
|
||||
override fun isMemberEnabled(memberInfo: KotlinMemberInfo): Boolean {
|
||||
if (!super.isMemberEnabled(memberInfo)) return false
|
||||
|
||||
val member = memberInfo.member
|
||||
return !(member.hasModifier(KtTokens.INLINE_KEYWORD) ||
|
||||
member.hasModifier(KtTokens.EXTERNAL_KEYWORD) ||
|
||||
member.hasModifier(KtTokens.LATEINIT_KEYWORD))
|
||||
}
|
||||
|
||||
override fun isAbstractEnabled(memberInfo: KotlinMemberInfo): Boolean {
|
||||
if (!super.isAbstractEnabled(memberInfo)) return false
|
||||
val member = memberInfo.member
|
||||
|
||||
Reference in New Issue
Block a user