javadoc: reword for clarity
authorAlexey Kudravtsev <cdr@intellij.com>
Tue, 27 Sep 2022 13:14:30 +0000 (15:14 +0200)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Tue, 27 Sep 2022 15:16:20 +0000 (15:16 +0000)
GitOrigin-RevId: 333228ee10472ac15befe6fa7d9aee0f2b6fe359

platform/core-api/src/com/intellij/openapi/editor/RangeMarker.java

index 041fabc3cfa91442afc8699eee966d730d0ddc67..87df839a6f7e96493bdc65aefc1417398a1ee3ea 100644 (file)
@@ -118,10 +118,9 @@ public interface RangeMarker extends UserDataHolder, Segment {
 
   /**
    * @return a {@link TextRange} with offsets of this range marker.
-   * Implementations will try to construct this {@link TextRange} atomically to the best of their efforts,
-   * to guarantee this range marker offsets won't change inside this method execution.
-   * Therefore, please use this method instead of two consecutive calls to {@link #getStartOffset()}, {@link #getEndOffset()} when accessing the range marker
-   * from the background thread, to avoid changing offsets between these calls and returning inconsistent text range as a result.
+   * This method is preferable because the most implementations are thread-safe, so the returned range is always consistent, whereas
+   * the more conventional {@code TextRange.create(getStartOffset(), getEndOffset())} could return inconsistent range when the selection
+   * changed between {@link #getStartOffset()} and {@link #getEndOffset()} calls.
    */
   @NotNull
   default TextRange getTextRange() {