KT-7212 Convert member function to extension intenton positions caret improperly

#KT-7212 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-05-12 11:38:10 +03:00
parent 3222486dba
commit fbc3fa2b09
21 changed files with 25 additions and 22 deletions
@@ -121,13 +121,16 @@ public class ConvertMemberToExtensionIntention : JetSelfTargetingRangeIntention<
} }
} }
if (bodyToSelect != null) { PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(editor.getDocument())
PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(editor.getDocument())
if (bodyToSelect != null) {
val range = bodyToSelect!!.getTextRange() val range = bodyToSelect!!.getTextRange()
editor.moveCaret(range.getStartOffset(), ScrollType.CENTER) editor.moveCaret(range.getStartOffset(), ScrollType.CENTER)
editor.getSelectionModel().setSelection(range.getStartOffset(), range.getEndOffset()) editor.getSelectionModel().setSelection(range.getStartOffset(), range.getEndOffset())
} }
else {
editor.moveCaret(extension.getTextOffset(), ScrollType.CENTER)
}
} }
private val THROW_UNSUPPORTED_OPERATION_EXCEPTION = "throw UnsupportedOperationException()" private val THROW_UNSUPPORTED_OPERATION_EXCEPTION = "throw UnsupportedOperationException()"
@@ -1,4 +1,4 @@
class Owner { class Owner {
} }
fun Owner.f(): Unit {} fun Owner.<caret>f(): Unit {}
@@ -1,6 +1,6 @@
class Owner { class Owner {
} }
fun Owner.f(p: () -> Unit): (Int) -> String { fun Owner.<caret>f(p: () -> Unit): (Int) -> String {
return { it.toString() } return { it.toString() }
} }
@@ -1,4 +1,4 @@
abstract class Owner<T> { abstract class Owner<T> {
} }
fun <T> Owner<T>.f(t: T): T = t fun <T> Owner<T>.<caret>f(t: T): T = t
@@ -1,4 +1,4 @@
abstract class Owner { abstract class Owner {
} }
fun <T> Owner.f(t: T): T = t fun <T> Owner.<caret>f(t: T): T = t
@@ -1,4 +1,4 @@
abstract class Owner<T> { abstract class Owner<T> {
} }
fun Owner<T>.f<T, R>(t: T, r: R): R = r fun Owner<T>.<caret>f<T, R>(t: T, r: R): R = r
@@ -1,4 +1,4 @@
abstract class Owner<T, X: List<T>> { abstract class Owner<T, X: List<T>> {
} }
fun <T, X : List<T>, R : T> Owner<T, X>.f(t: T, r: R): R = r fun <T, X : List<T>, R : T> Owner<T, X>.<caret>f(t: T, r: R): R = r
@@ -1,4 +1,4 @@
abstract class Owner { abstract class Owner {
} }
fun Owner.f<T>(t: T): T = t fun Owner.<caret>f<T>(t: T): T = t
@@ -1,4 +1,4 @@
abstract class Owner { abstract class Owner {
} }
internal fun Owner.f() = 1 internal fun Owner.<caret>f() = 1
@@ -1,4 +1,4 @@
class Owner { class Owner {
} }
fun Owner.f() = 1 fun Owner.<caret>f() = 1
@@ -1,4 +1,4 @@
class Owner { class Owner {
} }
fun Owner.f(): Int = 1 fun Owner.<caret>f(): Int = 1
@@ -1,4 +1,4 @@
abstract class Owner { abstract class Owner {
} }
private fun Owner.f() = 1 private fun Owner.<caret>f() = 1
@@ -1,4 +1,4 @@
abstract class Owner { abstract class Owner {
} }
fun Owner.f(): Int = 1 fun Owner.<caret>f(): Int = 1
@@ -1,4 +1,4 @@
abstract class Owner { abstract class Owner {
} }
public fun Owner.f(): Int = 1 public fun Owner.<caret>f(): Int = 1
@@ -1,4 +1,4 @@
class Owner { class Owner {
} }
fun Owner.f() {} fun Owner.<caret>f() {}
@@ -1,6 +1,6 @@
class Owner { class Owner {
} }
fun Owner.f(p: kotlin.Int): kotlin.String { fun Owner.<caret>f(p: kotlin.Int): kotlin.String {
return p.toString() return p.toString()
} }
@@ -5,5 +5,5 @@
class Owner { class Owner {
} }
fun Owner.f(p: Foo): bar.Baz { fun Owner.<caret>f(p: Foo): bar.Baz {
} }
@@ -1,5 +1,5 @@
class Owner { class Owner {
} }
val Owner.p: Int val Owner.<caret>p: Int
get() = 1 get() = 1
@@ -1,5 +1,5 @@
class Owner { class Owner {
} }
val Owner.p: Int val Owner.<caret>p: Int
get() { return 1} get() { return 1}
@@ -1,6 +1,6 @@
class Owner { class Owner {
} }
var Owner.p: Int var Owner.<caret>p: Int
get() = 1 get() = 1
set(v) {} set(v) {}
@@ -1,4 +1,4 @@
class Owner { class Owner {
} }
fun Owner.f(): Int { return 1 } fun Owner.<caret>f(): Int { return 1 }