generateUtil: cleanup code
This commit is contained in:
@@ -45,7 +45,7 @@ fun moveCaretIntoGeneratedElement(editor: Editor, element: PsiElement) {
|
|||||||
pointer.element?.let { moveCaretIntoGeneratedElementDocumentUnblocked(editor, it) }
|
pointer.element?.let { moveCaretIntoGeneratedElementDocumentUnblocked(editor, it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
class RestoreCaret<T: PsiElement>(beforeElement: T, val editor: Editor?) {
|
class RestoreCaret<T : PsiElement>(beforeElement: T, val editor: Editor?) {
|
||||||
private val relativeOffset: Int
|
private val relativeOffset: Int
|
||||||
private val beforeElementTextLength: Int = beforeElement.textLength
|
private val beforeElementTextLength: Int = beforeElement.textLength
|
||||||
|
|
||||||
@@ -215,10 +215,10 @@ private fun removeAfterOffset(offset: Int, whiteSpace: PsiWhiteSpace): PsiElemen
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun <T : KtDeclaration> insertMembersAfter(
|
fun <T : KtDeclaration> insertMembersAfter(
|
||||||
editor: Editor?,
|
editor: Editor?,
|
||||||
classOrObject: KtClassOrObject,
|
classOrObject: KtClassOrObject,
|
||||||
members: Collection<T>,
|
members: Collection<T>,
|
||||||
anchor: PsiElement? = null
|
anchor: PsiElement? = null
|
||||||
): List<T> {
|
): List<T> {
|
||||||
members.ifEmpty { return emptyList() }
|
members.ifEmpty { return emptyList() }
|
||||||
|
|
||||||
@@ -241,16 +241,16 @@ fun <T : KtDeclaration> insertMembersAfter(
|
|||||||
otherMembers.mapTo(insertedMembers) {
|
otherMembers.mapTo(insertedMembers) {
|
||||||
if (classOrObject is KtClass && classOrObject.isEnum()) {
|
if (classOrObject is KtClass && classOrObject.isEnum()) {
|
||||||
val enumEntries = classOrObject.declarations.filterIsInstance<KtEnumEntry>()
|
val enumEntries = classOrObject.declarations.filterIsInstance<KtEnumEntry>()
|
||||||
val bound = (enumEntries.lastOrNull() ?: classOrObject.allChildren.firstOrNull { it.node.elementType == KtTokens.SEMICOLON })
|
val bound = (enumEntries.lastOrNull() ?: classOrObject.allChildren.firstOrNull { element ->
|
||||||
|
element.node.elementType == KtTokens.SEMICOLON
|
||||||
|
})
|
||||||
if (it !is KtEnumEntry) {
|
if (it !is KtEnumEntry) {
|
||||||
if (bound != null && afterAnchor.startOffset <= bound.startOffset) {
|
if (bound != null && afterAnchor.startOffset <= bound.startOffset) {
|
||||||
afterAnchor = bound
|
afterAnchor = bound
|
||||||
}
|
}
|
||||||
}
|
} else if (bound == null && body.declarations.isNotEmpty()) {
|
||||||
else if (bound == null && body.declarations.isNotEmpty()) {
|
|
||||||
afterAnchor = body.lBrace!!
|
afterAnchor = body.lBrace!!
|
||||||
}
|
} else if (bound != null && afterAnchor.startOffset > bound.startOffset) {
|
||||||
else if (bound != null && afterAnchor.startOffset > bound.startOffset) {
|
|
||||||
afterAnchor = bound.prevSibling!!
|
afterAnchor = bound.prevSibling!!
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user