diff options
Diffstat (limited to 'java/java-impl/src/com/intellij/compilerOutputIndex/impl/MethodIncompleteSignature.java')
-rw-r--r-- | java/java-impl/src/com/intellij/compilerOutputIndex/impl/MethodIncompleteSignature.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/java/java-impl/src/com/intellij/compilerOutputIndex/impl/MethodIncompleteSignature.java b/java/java-impl/src/com/intellij/compilerOutputIndex/impl/MethodIncompleteSignature.java index ad85322f3f6a..c0904bc3e36e 100644 --- a/java/java-impl/src/com/intellij/compilerOutputIndex/impl/MethodIncompleteSignature.java +++ b/java/java-impl/src/com/intellij/compilerOutputIndex/impl/MethodIncompleteSignature.java @@ -1,5 +1,6 @@ package com.intellij.compilerOutputIndex.impl; +import com.intellij.compilerOutputIndex.api.fs.AsmUtil; import com.intellij.openapi.util.Condition; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; @@ -12,6 +13,7 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -44,6 +46,13 @@ public class MethodIncompleteSignature { return new MethodIncompleteSignature(className, className, CONSTRUCTOR_METHOD_NAME, true); } + public MethodIncompleteSignature toExternalRepresentation() { + return new MethodIncompleteSignature(AsmUtil.getQualifiedClassName(getOwner()), + AsmUtil.getQualifiedClassName(getReturnType()), + getName(), + isStatic()); + } + @NotNull public String getOwner() { return myOwner; @@ -87,6 +96,14 @@ public class MethodIncompleteSignature { } } } + if (filtered.size() > 1) { + Collections.sort(filtered, new Comparator<PsiMethod>() { + @Override + public int compare(final PsiMethod o1, final PsiMethod o2) { + return o1.getParameterList().getParametersCount() - o2.getParameterList().getParametersCount(); + } + }); + } return filtered.toArray(new PsiMethod[filtered.size()]); } |