diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/CompilerMessageLocation.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/CompilerMessageLocation.kt index ef0b175a16a..1f3a6d349c5 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/CompilerMessageLocation.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/CompilerMessageLocation.kt @@ -19,12 +19,10 @@ package org.jetbrains.kotlin.cli.common.messages import java.io.Serializable data class CompilerMessageLocation private constructor( - val path: String, - val line: Int, - val column: Int, - val lineEnd: Int, - val columnEnd: Int, - val lineContent: String? + val path: String, + val line: Int, + val column: Int, + val lineContent: String? ) : Serializable { override fun toString(): String = path + (if (line != -1 || column != -1) " ($line:$column)" else "") @@ -32,23 +30,12 @@ data class CompilerMessageLocation private constructor( companion object { @JvmStatic fun create(path: String?): CompilerMessageLocation? = - create(path, -1, -1, null) + create(path, -1, -1, null) @JvmStatic fun create(path: String?, line: Int, column: Int, lineContent: String?): CompilerMessageLocation? = - if (path == null) null else CompilerMessageLocation(path, line, column, -1, -1, lineContent) + if (path == null) null else CompilerMessageLocation(path, line, column, lineContent) - @JvmStatic - fun create( - path: String?, - lineStart: Int, - columnStart: Int, - lineEnd: Int?, - columnEnd: Int?, - lineContent: String? - ): CompilerMessageLocation? = - if (path == null) null else CompilerMessageLocation(path, lineStart, columnStart, lineEnd ?: -1, columnEnd ?: -1, lineContent) - - private val serialVersionUID: Long = 8228357579L + private val serialVersionUID: Long = 8228357578L } } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/DefaultDiagnosticReporter.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/DefaultDiagnosticReporter.kt index 2d82644bf95..f560fc945f3 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/DefaultDiagnosticReporter.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/DefaultDiagnosticReporter.kt @@ -31,6 +31,6 @@ interface MessageCollectorBasedReporter : DiagnosticMessageReporter { override fun report(diagnostic: Diagnostic, file: PsiFile, render: String) = messageCollector.report( AnalyzerWithCompilerReport.convertSeverity(diagnostic.severity), render, - MessageUtil.psiFileToMessageLocation(file, file.name, DiagnosticUtils.getLineAndColumnRange(diagnostic)) + MessageUtil.psiFileToMessageLocation(file, file.name, DiagnosticUtils.getLineAndColumn(diagnostic)) ) } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageUtil.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageUtil.java index 86350b5a15e..e82cb173e49 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageUtil.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageUtil.java @@ -35,20 +35,18 @@ public class MessageUtil { public static CompilerMessageLocation psiElementToMessageLocation(@Nullable PsiElement element) { if (element == null) return null; PsiFile file = element.getContainingFile(); - return psiFileToMessageLocation(file, "", DiagnosticUtils.getLineAndColumnRangeInPsiFile(file, element.getTextRange())); + return psiFileToMessageLocation(file, "", DiagnosticUtils.getLineAndColumnInPsiFile(file, element.getTextRange())); } @Nullable public static CompilerMessageLocation psiFileToMessageLocation( @NotNull PsiFile file, @Nullable String defaultValue, - @NotNull PsiDiagnosticUtils.LineAndColumnRange range + @NotNull PsiDiagnosticUtils.LineAndColumn lineAndColumn ) { VirtualFile virtualFile = file.getVirtualFile(); String path = virtualFile != null ? virtualFileToPath(virtualFile) : defaultValue; - PsiDiagnosticUtils.LineAndColumn start = range.getStart(); - PsiDiagnosticUtils.LineAndColumn end = range.getEnd(); - return CompilerMessageLocation.create(path, start.getLine(), start.getColumn(), end.getLine(), end.getColumn(), start.getLineContent()); + return CompilerMessageLocation.create(path, lineAndColumn.getLine(), lineAndColumn.getColumn(), lineAndColumn.getLineContent()); } @NotNull diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java index 84669020945..4a445b2768b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java @@ -84,24 +84,6 @@ public class DiagnosticUtils { return PsiDiagnosticUtils.offsetToLineAndColumn(document, range.getStartOffset()); } - @NotNull - public static PsiDiagnosticUtils.LineAndColumnRange getLineAndColumnRange(@NotNull Diagnostic diagnostic) { - PsiFile file = diagnostic.getPsiFile(); - List textRanges = diagnostic.getTextRanges(); - if (textRanges.isEmpty()) return PsiDiagnosticUtils.LineAndColumnRange.NONE; - TextRange firstRange = firstRange(textRanges); - return getLineAndColumnRangeInPsiFile(file, firstRange); - } - - @NotNull - public static PsiDiagnosticUtils.LineAndColumnRange getLineAndColumnRangeInPsiFile(PsiFile file, TextRange range) { - Document document = file.getViewProvider().getDocument(); - return new PsiDiagnosticUtils.LineAndColumnRange( - PsiDiagnosticUtils.offsetToLineAndColumn(document, range.getStartOffset()), - PsiDiagnosticUtils.offsetToLineAndColumn(document, range.getEndOffset()) - ); - } - public static void throwIfRunningOnServer(Throwable e) { // This is needed for the Web Demo server to log the exceptions coming from the analyzer instead of showing them in the editor. if (System.getProperty("kotlin.running.in.server.mode", "false").equals("true") || ApplicationManager.getApplication().isUnitTestMode()) { diff --git a/compiler/psi/src/org/jetbrains/kotlin/diagnostics/PsiDiagnosticUtils.java b/compiler/psi/src/org/jetbrains/kotlin/diagnostics/PsiDiagnosticUtils.java index 683c7474fba..aa52b21a708 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/diagnostics/PsiDiagnosticUtils.java +++ b/compiler/psi/src/org/jetbrains/kotlin/diagnostics/PsiDiagnosticUtils.java @@ -116,35 +116,4 @@ public class PsiDiagnosticUtils { return "(" + line + "," + column + ")"; } } - - public static final class LineAndColumnRange { - - public static final LineAndColumnRange NONE = new LineAndColumnRange(LineAndColumn.NONE, LineAndColumn.NONE); - - private final LineAndColumn start; - private final LineAndColumn end; - - public LineAndColumnRange(LineAndColumn start, LineAndColumn end) { - this.start = start; - this.end = end; - } - - public LineAndColumn getStart() { - return start; - } - - public LineAndColumn getEnd() { - return end; - } - - // NOTE: This method is used for presenting positions to the user - @Override - public String toString() { - if (start.line == end.line) { - return "(" + start.line + "," + start.column + "-" + end.column + ")"; - } - - return start.toString() + " - " + end.toString(); - } - } } diff --git a/libraries/scripting/jvm-host-test/test/kotlin/script/experimental/jvmhost/test/ReplTest.kt b/libraries/scripting/jvm-host-test/test/kotlin/script/experimental/jvmhost/test/ReplTest.kt index ea28e2bae81..3f49a6826c9 100644 --- a/libraries/scripting/jvm-host-test/test/kotlin/script/experimental/jvmhost/test/ReplTest.kt +++ b/libraries/scripting/jvm-host-test/test/kotlin/script/experimental/jvmhost/test/ReplTest.kt @@ -100,9 +100,7 @@ class ReplTest : TestCase() { ), sequenceOf( makeFailureResult( - "Unresolved reference: ppp", location = SourceCode.Location( - SourceCode.Position(3, 11), SourceCode.Position(3, 14) - ) + "Unresolved reference: ppp", location = SourceCode.Location(SourceCode.Position(3, 11)) ) ) ) diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt index 46dd7f7a1fa..b29dd6837a5 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt @@ -37,20 +37,10 @@ class ScriptDiagnosticsMessageCollector(private val parentMessageCollector: Mess if (mappedSeverity != null) { val mappedLocation = location?.let { if (it.line < 0 && it.column < 0) null // special location created by CompilerMessageLocation.create - else if (it.lineEnd < 0 && it.columnEnd < 0) SourceCode.Location( - SourceCode.Position( - it.line, - it.column - ) - ) else SourceCode.Location( SourceCode.Position( it.line, it.column - ), - SourceCode.Position( - it.lineEnd, - it.columnEnd ) ) } diff --git a/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/JvmReplTest.kt b/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/JvmReplTest.kt index b682b3c2f13..ac1f5781c45 100644 --- a/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/JvmReplTest.kt +++ b/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/JvmReplTest.kt @@ -86,8 +86,6 @@ class JvmIdeServicesTest : TestCase() { } else { assertEquals(3, loc.line) assertEquals(11, loc.column) - assertEquals(3, loc.lineEnd) - assertEquals(14, loc.columnEnd) } } else { fail("Result should be an error") @@ -117,8 +115,6 @@ class JvmIdeServicesTest : TestCase() { } else { assertEquals(3, loc.line) assertEquals(13, loc.column) - assertEquals(3, loc.lineEnd) - assertEquals(16, loc.columnEnd) } } else { fail("Result should be an error") @@ -398,8 +394,6 @@ private fun ResultWithDiagnostics.getErrors(): CompilationErrors = report.sourcePath, loc.start.line, loc.start.col, - loc.end?.line, - loc.end?.col, null )?.toString()?.let { "$it " @@ -418,8 +412,6 @@ private fun ResultWithDiagnostics.getErrors(): CompilationErrors = it.sourcePath, loc.start.line, loc.start.col, - loc.end?.line, - loc.end?.col, null ) } diff --git a/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/ReplCompletionAndErrorsAnalysisTest.kt b/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/ReplCompletionAndErrorsAnalysisTest.kt index f1f7c11f2ae..5b8891b7a05 100644 --- a/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/ReplCompletionAndErrorsAnalysisTest.kt +++ b/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/ReplCompletionAndErrorsAnalysisTest.kt @@ -186,10 +186,10 @@ class ReplCompletionAndErrorsAnalysisTest : TestCase() { val c = foob """.trimIndent() expect { - addError(1, 16, 1, 20, "Type mismatch: inferred type is String but Int was expected", "ERROR") - addError(1, 22, 1, 26, "The floating-point literal does not conform to the expected type String", "ERROR") - addError(2, 14, 2, 19, "Type mismatch: inferred type is String but Int was expected", "ERROR") - addError(3, 9, 3, 13, "Unresolved reference: foob", "ERROR") + addError(1, 16, "Type mismatch: inferred type is String but Int was expected", "ERROR") + addError(1, 22, "The floating-point literal does not conform to the expected type String", "ERROR") + addError(2, 14, "Type mismatch: inferred type is String but Int was expected", "ERROR") + addError(3, 9, "Unresolved reference: foob", "ERROR") } } } @@ -280,15 +280,14 @@ class ReplCompletionAndErrorsAnalysisTest : TestCase() { } val errors = ExpectedList(run::doErrorCheck) - fun addError(startLine: Int, startCol: Int, endLine: Int, endCol: Int, message: String, severity: String) { + fun addError(startLine: Int, startCol: Int, message: String, severity: String) { errors.add( ScriptDiagnostic( ScriptDiagnostic.unspecifiedError, message, ScriptDiagnostic.Severity.valueOf(severity), location = SourceCode.Location( - SourceCode.Position(startLine, startCol), - SourceCode.Position(endLine, endCol) + SourceCode.Position(startLine, startCol) ) ) )