From daf54b1a90a280d8966d5863c5962ed13904f8b2 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 4 Nov 2013 10:25:55 +0100 Subject: [PATCH] support javac's line/column syntax in goto popups (IDEA-55616) --- .../testSrc/com/intellij/navigation/ChooseByNameTest.groovy | 2 ++ .../src/com/intellij/ide/util/gotoByName/ChooseByNamePopup.java | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy b/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy index 8d03d1fa5ddf..5deabbd30fd8 100644 --- a/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy +++ b/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy @@ -172,6 +172,8 @@ class Intf { assert getPopupElements(new GotoClassModel2(project), 'Bar') == [c] assert getPopupElements(new GotoClassModel2(project), 'Bar:2') == [c] assert getPopupElements(new GotoClassModel2(project), 'Bar:2:3') == [c] + assert getPopupElements(new GotoClassModel2(project), 'Bar:[2:3]') == [c] + assert getPopupElements(new GotoClassModel2(project), 'Bar:[2,3]') == [c] } private List getPopupElements(ChooseByNameModel model, String text) { diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNamePopup.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNamePopup.java index 465482ca76c4..4f6959da84f6 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNamePopup.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNamePopup.java @@ -332,7 +332,7 @@ public class ChooseByNamePopup extends ChooseByNameBase implements ChooseByNameP return newPopup; } - private static final Pattern patternToDetectLinesAndColumns = Pattern.compile("([^:]+)(?::|@|,)(\\d+)?(?:(?:\\D)(\\d+)?)?"); + private static final Pattern patternToDetectLinesAndColumns = Pattern.compile("([^:]+)(?::|@|,|)\\[?(\\d+)?(?:(?:\\D)(\\d+)?)?\\]?"); private static final Pattern patternToDetectAnonymousClasses = Pattern.compile("([\\.\\w]+)((\\$[\\d]+)*(\\$)?)"); private static final Pattern patternToDetectMembers = Pattern.compile("(.+)(#)(.*)");