Override completion in expect class should behave differently
Caret placement is at the end of new fun/property #KT-25313 Fixed
This commit is contained in:
@@ -96,6 +96,7 @@ private fun moveCaretIntoGeneratedElementDocumentUnblocked(editor: Editor, eleme
|
||||
}
|
||||
}
|
||||
|
||||
editor.moveCaret(element.endOffset)
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -213,4 +214,4 @@ fun <T : KtDeclaration> insertMembersAfter(
|
||||
|
||||
fun <T : KtDeclaration> insertMember(editor: Editor?, classOrObject: KtClassOrObject, declaration: T, anchor: PsiElement? = null): T {
|
||||
return insertMembersAfter(editor, classOrObject, listOf(declaration), anchor).single()
|
||||
}
|
||||
}
|
||||
|
||||
+11
-8
@@ -192,14 +192,17 @@ private fun FunctionDescriptor.wrap(): FunctionDescriptor {
|
||||
|
||||
private fun generateProperty(project: Project, descriptor: PropertyDescriptor, bodyType: OverrideMemberChooserObject.BodyType): KtProperty {
|
||||
val newDescriptor = descriptor.wrap()
|
||||
val body = buildString {
|
||||
append("\nget()")
|
||||
append(" = ")
|
||||
append(generateUnsupportedOrSuperCall(project, descriptor, bodyType))
|
||||
if (descriptor.isVar) {
|
||||
append("\nset(value) {}")
|
||||
}
|
||||
}
|
||||
val body =
|
||||
if (bodyType != OverrideMemberChooserObject.BodyType.NO_BODY) {
|
||||
buildString {
|
||||
append("\nget()")
|
||||
append(" = ")
|
||||
append(generateUnsupportedOrSuperCall(project, descriptor, bodyType))
|
||||
if (descriptor.isVar) {
|
||||
append("\nset(value) {}")
|
||||
}
|
||||
}
|
||||
} else ""
|
||||
return KtPsiFactory(project).createProperty(OVERRIDE_RENDERER.render(newDescriptor) + body)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user