From 469ea25b13ada9e08ef040bd1f02d6b9bfe73356 Mon Sep 17 00:00:00 2001 From: Alex Tkachman Date: Sun, 23 Oct 2011 12:27:58 +0200 Subject: [PATCH] method extracted --- .../org/jetbrains/jet/cli/KotlinCompiler.java | 20 ++++--------------- .../jet/lang/diagnostics/DiagnosticUtils.java | 18 +++++++++++++++++ 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java index 4d5e5cfa5e6..cc998dd0ac8 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java @@ -3,7 +3,6 @@ package org.jetbrains.jet.cli; import com.google.common.collect.*; import com.intellij.core.JavaCoreEnvironment; import com.intellij.openapi.Disposable; -import com.intellij.openapi.editor.Document; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VirtualFile; @@ -15,6 +14,7 @@ import org.jetbrains.jet.codegen.ClassFileFactory; import org.jetbrains.jet.codegen.GenerationState; import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory; import org.jetbrains.jet.lang.diagnostics.Diagnostic; +import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils; import org.jetbrains.jet.lang.diagnostics.DiagnosticWithTextRange; import org.jetbrains.jet.lang.diagnostics.Severity; import org.jetbrains.jet.lang.parsing.JetParserDefinition; @@ -151,25 +151,13 @@ public class KotlinCompiler { System.out.println(psiFile.getVirtualFile().getPath()); Collection diagnosticWithTextRanges = maps.get(psiFile); for (DiagnosticWithTextRange diagnosticWithTextRange : diagnosticWithTextRanges) { - PsiFile file = diagnosticWithTextRange.getPsiFile(); - Document document = file.getViewProvider().getDocument(); - String result; - int offset = diagnosticWithTextRange.getTextRange().getStartOffset(); - if (document != null) { - int lineNumber = document.getLineNumber(offset); - int lineStartOffset = document.getLineStartOffset(lineNumber); - int column = offset - lineStartOffset; - - result = "(" + (lineNumber + 1) + "," + column + ")"; - } - else { - result = "(offset: " + offset + " line unknown)"; - } - System.out.println("\t" + diagnosticWithTextRange.getSeverity().toString() + ": " + result + " " + diagnosticWithTextRange.getMessage()); + String position = DiagnosticUtils.formatPosition(diagnosticWithTextRange); + System.out.println("\t" + diagnosticWithTextRange.getSeverity().toString() + ": " + position + " " + diagnosticWithTextRange.getMessage()); } } } } + } private static void addFiles(JavaCoreEnvironment environment, Project project, List namespaces, File dir) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/DiagnosticUtils.java b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/DiagnosticUtils.java index ea3d2d57700..0ff433add71 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/DiagnosticUtils.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/DiagnosticUtils.java @@ -63,4 +63,22 @@ public class DiagnosticUtils { return "' at offset " + offset + " (line unknown)" + pathSuffix; } } + + public static String formatPosition(DiagnosticWithTextRange diagnosticWithTextRange) { + PsiFile file = diagnosticWithTextRange.getPsiFile(); + Document document = file.getViewProvider().getDocument(); + String position; + int offset = diagnosticWithTextRange.getTextRange().getStartOffset(); + if (document != null) { + int lineNumber = document.getLineNumber(offset); + int lineStartOffset = document.getLineStartOffset(lineNumber); + int column = offset - lineStartOffset; + + position = "(" + (lineNumber + 1) + "," + column + ")"; + } + else { + position = "(offset: " + offset + " line unknown)"; + } + return position; + } }