From ba849b594042aedac9579af61075e231d8f98e1b Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Mon, 15 Dec 2014 14:11:23 +0300 Subject: [PATCH] Minor: get string with parser context during debug --- .../jet/lang/parsing/AbstractJetParsing.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/AbstractJetParsing.java b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/AbstractJetParsing.java index 067840a6650..9b90e5657a7 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/AbstractJetParsing.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/AbstractJetParsing.java @@ -23,6 +23,7 @@ import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.TokenSet; import com.intellij.util.containers.Stack; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.TestOnly; import org.jetbrains.jet.lexer.JetKeywordToken; import org.jetbrains.jet.lexer.JetToken; import org.jetbrains.jet.lexer.JetTokens; @@ -493,4 +494,19 @@ import static org.jetbrains.jet.lexer.JetTokens.*; } } + @SuppressWarnings("UnusedDeclaration") + @TestOnly + public String currentContext() { + String marker = "~!!!~"; + int range = 50; + + CharSequence text = myBuilder.getOriginalText(); + + int start = Math.max(0, myBuilder.getCurrentOffset() - range); + int end = Math.min(text.length() - 1, myBuilder.getCurrentOffset() + 50 + marker.length()); + + return new StringBuilder(text) + .insert(myBuilder.getCurrentOffset(), marker) + .substring(start, end); + } }