in src/main/kotlin/com/compiler/server/model/TextInterval.kt [11:27]
fun from(start: Int, end: Int, currentDocument: Document): TextInterval {
val lineNumberForElementStart = currentDocument.getLineNumber(start)
val lineNumberForElementEnd = currentDocument.getLineNumber(end)
var charNumberForElementStart = start - currentDocument.getLineStartOffset(lineNumberForElementStart)
var charNumberForElementEnd = end - currentDocument.getLineStartOffset(lineNumberForElementStart)
if ((start == end) && (lineNumberForElementStart == lineNumberForElementEnd)) {
charNumberForElementStart--
if (charNumberForElementStart < 0) {
charNumberForElementStart++
charNumberForElementEnd++
}
}
return TextInterval(
TextPosition(lineNumberForElementStart, charNumberForElementStart),
TextPosition(lineNumberForElementEnd, charNumberForElementEnd)
)
}