EA-60831 - IOOBE: SegmentArrayWithData.getSegmentData

This commit is contained in:
Anna Kozlova
2014-09-30 15:47:27 +02:00
parent dccad1641f
commit 1f17c4eb23
2 changed files with 13 additions and 2 deletions
@@ -23,7 +23,6 @@ import com.intellij.openapi.fileTypes.FileType;
import com.intellij.psi.JavaTokenType;
import com.intellij.psi.impl.source.tree.StdTokenSets;
import com.intellij.psi.tree.IElementType;
import com.intellij.util.ArrayUtil;
public class JavaPairedBraceMatcher extends PairedBraceMatcherAdapter {
public JavaPairedBraceMatcher() {
@@ -58,12 +57,12 @@ public class JavaPairedBraceMatcher extends PairedBraceMatcherAdapter {
try {
while (true) {
count++;
if (iterator.atEnd()) break;
if (left) {
iterator.advance();
} else {
iterator.retreat();
}
if (iterator.atEnd()) break;
final IElementType tokenType = iterator.getTokenType();
if (tokenType == opposite) {
paired--;
@@ -30,6 +30,18 @@ public class JavaBraceMatcherTest extends LightCodeInsightFixtureTestCase {
assertTrue(offset == 54);
}
public void testBrokenText() {
myFixture.configureByText("a.java", "import java.util.ArrayList;" +
"class A {" +
" ArrayList<caret><String");
final Editor editor = myFixture.getEditor();
final EditorHighlighter editorHighlighter = ((EditorEx)editor).getHighlighter();
final HighlighterIterator iterator = editorHighlighter.createIterator(editor.getCaretModel().getOffset());
boolean matched = BraceMatchingUtil.matchBrace(editor.getDocument().getCharsSequence(), myFixture.getFile().getFileType(), iterator,
true);
assertFalse(matched);
}
public void testBinaryStatement() {
myFixture.configureByText("a.java", "import java.util.ArrayList;" +
"class A {" +