diff --git a/java/java-psi-api/src/com/intellij/psi/PsiNameHelper.java b/java/java-psi-api/src/com/intellij/psi/PsiNameHelper.java index 888f1c24bf11..4832613607cb 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiNameHelper.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiNameHelper.java @@ -171,8 +171,9 @@ public abstract class PsiNameHelper { /** * Obtains text of all type parameter values in a reference. - * They go in left-to-right order: A<List<String>>.B<Integer> yields - * ["List<String>","Integer"] + * They go in left-to-right order: A<List<String>, B<Integer>> yields + * ["List<String>", "B<Integer>"]. Parameters of the outer reference are ignored: + * A<List<String>>.B<Integer> yields ["Integer"] * * @param referenceText the text of the reference to calculate type parameters for. * @return the calculated array of type parameters. @@ -246,6 +247,10 @@ public abstract class PsiNameHelper { return result; } + public static void main(String[] args) { + System.out.println(Arrays.asList(PsiNameHelper.getClassParametersText("A, B>"))); + } + public static boolean isSubpackageOf(@NotNull String subpackageName, @NotNull String packageName) { return subpackageName.equals(packageName) || subpackageName.startsWith(packageName) && subpackageName.charAt(packageName.length()) == '.';