selection after methods chains completion fixed and chain relevance improved

This commit is contained in:
Dmitry Batkovich
2013-10-24 12:58:14 +04:00
parent 80106fc16c
commit ca4af156d6
12 changed files with 358 additions and 46 deletions
@@ -0,0 +1,26 @@
import java.jang.String;
class PsiManager {
public static PsiManager getInstance() {
return null;
}
}
interface PsiClass {
PsiManager getManager();
}
interface PsiMethod {
PsiClass getContainingClass();
}
interface PsiMethodCallExpression {
PsiMethod resolveMethod();
}
public class TestCompletion {
public void method() {
PsiManager m = <caret>
}
}
@@ -0,0 +1,69 @@
public class TestIndex {
public void m1() {
//12
PsiManager.getInstance();
PsiManager.getInstance();
PsiManager.getInstance();
PsiManager.getInstance();
PsiManager.getInstance();
PsiManager.getInstance();
PsiManager.getInstance();
PsiManager.getInstance();
PsiManager.getInstance();
PsiManager.getInstance();
PsiManager.getInstance();
PsiManager.getInstance();
}
public void m2(PsiClass psiClass) {
//3
psiClass.getManager();
psiClass.getManager();
psiClass.getManager();
}
public void m3(PsiMethod method) {
//14
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
method.getContainingClass();
}
public void m4(PsiMethodCallExpression psiMethodCallExpression) {
//5
psiMethodCallExpression.resolveMethod();
psiMethodCallExpression.resolveMethod();
psiMethodCallExpression.resolveMethod();
psiMethodCallExpression.resolveMethod();
psiMethodCallExpression.resolveMethod();
}
}
class PsiManager {
public static PsiManager getInstance() {
return null;
}
}
interface PsiClass {
PsiManager getManager();
}
interface PsiMethod {
PsiClass getContainingClass();
}
interface PsiMethodCallExpression {
PsiMethod resolveMethod();
}
@@ -0,0 +1,49 @@
import java.jang.String;
interface Project {
}
interface PsiFile {
}
interface VirtualFile {
}
interface Document {
}
class PsiManager {
static PsiManager getInstance(Project p) {
return null;
}
PsiFile findFile(VirtualFile f) {
return null;
}
}
class PsiDocumentManager {
static PsiDocumentManager getInstance(Project p) {
return null;
}
PsiFile getPsiFile(Document d) {
return null;
}
}
interface PsiFileFactory {
PsiFile createFileFromText(String s);
}
interface PsiClass {
PsiFile getContainingClass();
}
public class TestCompletion {
void m() {
PsiFileFactory f = null;
VirtualFile vf = null;
PsiFile file = <caret>
}
}
@@ -0,0 +1,76 @@
import java.lang.String;
public class TestIndex {
void m() {
PsiManager.getInstance(null).findFile(null);
PsiManager.getInstance(null).findFile(null);
PsiManager.getInstance(null).findFile(null);
PsiManager.getInstance(null).findFile(null);
}
void m2() {
PsiDocumentManager.getInstance(null).getPsiFile(null);
PsiDocumentManager.getInstance(null).getPsiFile(null);
PsiDocumentManager.getInstance(null).getPsiFile(null);
PsiDocumentManager.getInstance(null).getPsiFile(null);
}
void m3() {
PsiFileFactory f = null;
f.createFileFromText("");
f.createFileFromText("");
f.createFileFromText("");
f.createFileFromText("");
}
void m4() {
PsiClass c = null;
c.getContainingClass();
c.getContainingClass();
c.getContainingClass();
c.getContainingClass();
}
}
interface Project {
}
interface PsiFile {
}
interface VirtualFile {
}
interface Document {
}
class PsiManager {
static PsiManager getInstance(Project p) {
return null;
}
PsiFile findFile(VirtualFile f) {
return null;
}
}
class PsiDocumentManager {
static PsiDocumentManager getInstance(Project p) {
return null;
}
PsiFile getPsiFile(Document d) {
return null;
}
}
interface PsiFileFactory {
PsiFile createFileFromText(String s);
}
interface PsiClass {
PsiFile getContainingClass();
}