lst: optimization - do not compare CharSequences if they're identical

This is the case for `LineStatusTrackerBase`.

GitOrigin-RevId: 696edac43b83725b44bdc1cef559453085e3dec8
This commit is contained in:
Aleksey Pivovarov
2019-09-24 17:02:09 +00:00
committed by intellij-monorepo-bot
parent 2f11c4eb3c
commit 58a28122aa
@@ -47,10 +47,13 @@ class DocumentTracker : Disposable {
this.document2 = document2
this.handler = handler
val changes = compareLines(document1.immutableCharSequence,
document2.immutableCharSequence,
document1.lineOffsets,
document2.lineOffsets).iterateChanges().toList()
val changes = when {
document1.immutableCharSequence === document2.immutableCharSequence -> emptyList()
else -> compareLines(document1.immutableCharSequence,
document2.immutableCharSequence,
document1.lineOffsets,
document2.lineOffsets).iterateChanges().toList()
}
tracker = LineTracker(this.handler, changes)
val application = ApplicationManager.getApplication()