Do not try to make object's containing class abstract #KT-11466 Fixed
This commit is contained in:
@@ -37,6 +37,7 @@ import org.jetbrains.kotlin.idea.quickfix.replaceWith.DeprecatedSymbolUsageInWho
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.lexer.KtTokens.*
|
||||
import org.jetbrains.kotlin.psi.KtClass
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.KtProperty
|
||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.ErrorsJvm
|
||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.ErrorsJvm.NO_REFLECTION_IN_CLASS_PATH
|
||||
@@ -71,7 +72,7 @@ class QuickFixRegistrar : QuickFixContributor {
|
||||
MUST_BE_INITIALIZED_OR_BE_ABSTRACT.registerFactory(InitializePropertyQuickFixFactory)
|
||||
MUST_BE_INITIALIZED.registerFactory(InitializePropertyQuickFixFactory)
|
||||
|
||||
val addAbstractToClassFactory = AddModifierFix.createFactory(ABSTRACT_KEYWORD, KtClass::class.java)
|
||||
val addAbstractToClassFactory = AddModifierFix.createFactory(ABSTRACT_KEYWORD, KtClassOrObject::class.java)
|
||||
ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS.registerFactory(removeAbstractModifierFactory, addAbstractToClassFactory)
|
||||
|
||||
ABSTRACT_FUNCTION_IN_NON_ABSTRACT_CLASS.registerFactory(removeAbstractModifierFactory, addAbstractToClassFactory)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Make 'Owner' abstract" "false"
|
||||
// ERROR: Abstract property 'x' in non-abstract class 'Companion'
|
||||
// ACTION: Make 'x' not abstract
|
||||
// ACTION: Make internal
|
||||
|
||||
class Owner {
|
||||
companion object {
|
||||
<caret>abstract val x: Int
|
||||
}
|
||||
}
|
||||
@@ -75,6 +75,12 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("abstractPropertyInCompanionObject.kt")
|
||||
public void testAbstractPropertyInCompanionObject() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/abstract/abstractPropertyInCompanionObject.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("abstractPropertyInNonAbstractClass1.kt")
|
||||
public void testAbstractPropertyInNonAbstractClass1() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/abstract/abstractPropertyInNonAbstractClass1.kt");
|
||||
|
||||
Reference in New Issue
Block a user