mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
completion stats should care of class qualified names (IDEA-65112)
This commit is contained in:
+4
-2
@@ -23,13 +23,11 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.statistics.JavaStatisticsManager;
|
||||
import com.intellij.psi.statistics.StatisticsInfo;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
/**
|
||||
* @author peter
|
||||
*/
|
||||
public class JavaCompletionStatistician extends CompletionStatistician{
|
||||
@NonNls public static final String CLASS_NAME_COMPLETION_PREFIX = "classNameCompletion#";
|
||||
|
||||
public StatisticsInfo serialize(final LookupElement element, final CompletionLocation location) {
|
||||
final Object o = element.getObject();
|
||||
@@ -76,6 +74,10 @@ public class JavaCompletionStatistician extends CompletionStatistician{
|
||||
if (!isClass && type == CompletionType.BASIC) return JavaStatisticsManager.createInfo(qualifierType, (PsiMember)o);
|
||||
return StatisticsInfo.EMPTY;
|
||||
}
|
||||
|
||||
if (isClass) {
|
||||
return JavaStatisticsManager.createInfo(qualifierType, (PsiMember)o);
|
||||
}
|
||||
}
|
||||
|
||||
if (qualifierType != null) return StatisticsInfo.EMPTY;
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
class Foo {
|
||||
Baaa<caret>x
|
||||
|
||||
}
|
||||
+13
@@ -182,4 +182,17 @@ public class NormalCompletionOrderingTest extends CompletionSortingTestCase {
|
||||
checkPreferredItems(0, "XcodeProjectTemplate", "XcodeConfigurable");
|
||||
}
|
||||
|
||||
public void testFqnStats() {
|
||||
myFixture.addClass("public interface Baaaaaaar {}");
|
||||
myFixture.addClass("package zoo; public interface Baaaaaaar {}");
|
||||
|
||||
final LookupImpl lookup = invokeCompletion(getTestName(false) + ".java");
|
||||
assertEquals("Baaaaaaar", ((JavaPsiClassReferenceElement) lookup.getItems().get(0)).getQualifiedName());
|
||||
assertEquals("zoo.Baaaaaaar", ((JavaPsiClassReferenceElement) lookup.getItems().get(1)).getQualifiedName());
|
||||
incUseCount(lookup, 1);
|
||||
|
||||
assertEquals("zoo.Baaaaaaar", ((JavaPsiClassReferenceElement) lookup.getItems().get(0)).getQualifiedName());
|
||||
assertEquals("Baaaaaaar", ((JavaPsiClassReferenceElement) lookup.getItems().get(1)).getQualifiedName());
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -29,7 +29,7 @@ import java.io.IOException;
|
||||
public interface JavaCodeInsightTestFixture extends CodeInsightTestFixture {
|
||||
JavaPsiFacade getJavaFacade();
|
||||
|
||||
PsiClass addClass(@NotNull @NonNls final String classText) throws IOException;
|
||||
PsiClass addClass(@NotNull @NonNls final String classText);
|
||||
|
||||
@NotNull
|
||||
PsiClass findClass(@NotNull @NonNls String name);
|
||||
|
||||
+1
-3
@@ -27,8 +27,6 @@ import com.intellij.testFramework.fixtures.TempDirTestFixture;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
@@ -44,7 +42,7 @@ public class JavaCodeInsightTestFixtureImpl extends CodeInsightTestFixtureImpl i
|
||||
}
|
||||
|
||||
@Override
|
||||
public PsiClass addClass(@NotNull @NonNls final String classText) throws IOException {
|
||||
public PsiClass addClass(@NotNull @NonNls final String classText) {
|
||||
assertInitialized();
|
||||
final PsiClass psiClass = addClass(getTempDirPath(), classText);
|
||||
final VirtualFile file = psiClass.getContainingFile().getVirtualFile();
|
||||
|
||||
Reference in New Issue
Block a user