mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Handle modifiers correctly in "val to object" #KT-18919 Fixed
GitOrigin-RevId: 1ea405bef2224e6e6c7a01c9aea37ae3cdc3805b
This commit is contained in:
committed by
intellij-monorepo-bot
parent
51b2b6dfb1
commit
2e14b29bfd
+1
-2
@@ -41,14 +41,13 @@ class ValToObjectIntention : SelfTargetingIntention<KtProperty>(KtProperty::clas
|
||||
}
|
||||
|
||||
override fun applyTo(element: KtProperty, editor: Editor?) {
|
||||
val modifier = element.visibilityModifier()
|
||||
val name = element.name ?: return
|
||||
val objectLiteral = element.initializer as? KtObjectLiteralExpression ?: return
|
||||
val declaration = objectLiteral.objectDeclaration
|
||||
val superTypeList = declaration.getSuperTypeList()
|
||||
val body = declaration.getBody() ?: return
|
||||
|
||||
val prefix = modifier?.text?.plus(" ") ?: ""
|
||||
val prefix = element.modifierList?.text?.plus(" ") ?: ""
|
||||
val superTypesText = superTypeList?.text?.plus(" ") ?: ""
|
||||
|
||||
val replacementText = "${prefix}object $name: $superTypesText${body.text}"
|
||||
|
||||
+6
@@ -16214,6 +16214,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("expected.kt")
|
||||
public void testExpected() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/valToObject/expected.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("getter.kt")
|
||||
public void testGetter() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/valToObject/getter.kt");
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
// SKIP_ERRORS_BEFORE
|
||||
// SKIP_ERRORS_AFTER
|
||||
|
||||
expect interface EmptyInterface
|
||||
|
||||
expect val <caret>ofInterface = object : EmptyInterface{}
|
||||
@@ -0,0 +1,6 @@
|
||||
// SKIP_ERRORS_BEFORE
|
||||
// SKIP_ERRORS_AFTER
|
||||
|
||||
expect interface EmptyInterface
|
||||
|
||||
expect object ofInterface : EmptyInterface {}
|
||||
Reference in New Issue
Block a user