mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
IDEA-199875 Rank println higher than print
This commit is contained in:
@@ -84,7 +84,11 @@ public class KnownElementWeigher extends ProximityWeigher {
|
||||
if (JAVA_LANG_OBJECT.equals(containingClass.getQualifiedName())) {
|
||||
return 0;
|
||||
}
|
||||
return getJdkClassProximity(method.getContainingClass());
|
||||
Integer classProximity = getJdkClassProximity(containingClass);
|
||||
if (classProximity != null && "println".equals(methodName) && method.getParameterList().getParametersCount() > 0) {
|
||||
return 1 + classProximity;
|
||||
}
|
||||
return classProximity;
|
||||
}
|
||||
}
|
||||
if (element instanceof PsiField) {
|
||||
@@ -116,7 +120,7 @@ public class KnownElementWeigher extends ProximityWeigher {
|
||||
return "getClass".equals(method.getName()) && method.getParameterList().getParametersCount() <= 0;
|
||||
}
|
||||
|
||||
private static Comparable getJdkClassProximity(@Nullable PsiClass element) {
|
||||
private static Integer getJdkClassProximity(@Nullable PsiClass element) {
|
||||
String qname = element == null ? null : element.getQualifiedName();
|
||||
if (qname == null) return null;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
public class Util {
|
||||
{
|
||||
foo(() -> System.out.println()<caret>).bar();
|
||||
foo(() -> System.out.println(<caret>)).bar();
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,6 @@ import com.intellij.openapi.actionSystem.IdeActions
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.command.CommandProcessor
|
||||
import com.intellij.openapi.command.WriteCommandAction
|
||||
import com.intellij.openapi.fileEditor.impl.CurrentEditorProvider
|
||||
import com.intellij.openapi.command.impl.UndoManagerImpl
|
||||
import com.intellij.openapi.command.undo.UndoManager
|
||||
import com.intellij.openapi.editor.Editor
|
||||
@@ -36,6 +35,7 @@ import com.intellij.openapi.extensions.Extensions
|
||||
import com.intellij.openapi.extensions.LoadingOrder
|
||||
import com.intellij.openapi.fileEditor.FileEditor
|
||||
import com.intellij.openapi.fileEditor.FileEditorManager
|
||||
import com.intellij.openapi.fileEditor.impl.CurrentEditorProvider
|
||||
import com.intellij.openapi.progress.ProgressManager
|
||||
import com.intellij.openapi.util.Computable
|
||||
import com.intellij.openapi.util.Disposer
|
||||
@@ -43,15 +43,12 @@ import com.intellij.psi.NavigatablePsiElement
|
||||
import com.intellij.psi.PsiClass
|
||||
import com.intellij.psi.PsiJavaFile
|
||||
import com.intellij.psi.PsiMethod
|
||||
import com.intellij.psi.statistics.StatisticsManager
|
||||
import com.intellij.psi.statistics.impl.StatisticsManagerImpl
|
||||
import com.intellij.testFramework.fixtures.CodeInsightTestUtil
|
||||
import com.intellij.util.ThrowableRunnable
|
||||
import com.intellij.util.containers.ContainerUtil
|
||||
import org.jetbrains.annotations.NotNull
|
||||
|
||||
import java.awt.event.KeyEvent
|
||||
|
||||
/**
|
||||
* @author peter
|
||||
*/
|
||||
@@ -1521,18 +1518,6 @@ class Foo {
|
||||
assert !lookup
|
||||
}
|
||||
|
||||
void testReplaceTypedPrefixPart() {
|
||||
((StatisticsManagerImpl)StatisticsManager.getInstance()).enableStatistics(myFixture.getTestRootDisposable())
|
||||
myFixture.configureByText 'a.java', 'class Foo{ { <caret> }}'
|
||||
for (i in 0..StatisticsManager.OBLIVION_THRESHOLD) {
|
||||
type 'System.out.printl\n\n'
|
||||
}
|
||||
type 'System.out.pr'
|
||||
assert lookup.currentItem.lookupString == 'println'
|
||||
type '\n2'
|
||||
assert myFixture.editor.document.text.contains('.println();2')
|
||||
}
|
||||
|
||||
void testQuickBackspaceEnter() {
|
||||
myFixture.configureByText 'a.java', '<caret>'
|
||||
type 'cl'
|
||||
|
||||
@@ -867,4 +867,12 @@ class Foo {
|
||||
checkPreferredItems 1, 'Intf', 'IntfImpl'
|
||||
}
|
||||
|
||||
void testPreferPrintln() {
|
||||
myFixture.configureByText 'a.java', 'class Foo { { System.out.pri<caret>x } }'
|
||||
myFixture.completeBasic()
|
||||
myFixture.assertPreferredCompletionItems 0, 'println', 'print'
|
||||
myFixture.type('\t')
|
||||
myFixture.checkResult 'class Foo { { System.out.println(<caret>); } }'
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user