IDEA-84100 Code completion does not work for Spring injected beans in debugger

This commit is contained in:
peter
2012-04-12 16:56:49 +02:00
parent a3954b3e60
commit c90b8ff3a5
3 changed files with 17 additions and 1 deletions

View File

@@ -430,7 +430,8 @@ public class JavaCompletionUtil {
PsiType runtimeQualifier = getQualifierCastType(javaReference, parameters);
if (runtimeQualifier != null) {
javaReference = (PsiReferenceExpression) JavaPsiFacade.getElementFactory(element.getProject()).createExpressionFromText("xxx.xxx", createContextWithXxxVariable(element, runtimeQualifier));
javaReference = (PsiReferenceExpression) JavaPsiFacade.getElementFactory(element.getProject()).createExpressionFromText("xxx.xxx", createContextWithXxxVariable(element,
PsiIntersectionType.createIntersection(qualifierType, runtimeQualifier)));
qualifierType = runtimeQualifier;
}

View File

@@ -0,0 +1,10 @@
interface Foo { void foo(); }
interface Bar { void bar(); }
public class A {
void foo(Foo l) {
if (l instanceof Bar) {
l.<caret>
}
}
}

View File

@@ -1330,4 +1330,9 @@ public class ListUtils {
public void testInterfaceImplementationNoCast() { doTest() }
public void testStaticallyImportedMethodsBeforeExpression() { doTest() }
public void testCompatibleInterfacesCast() {
configure()
assert myFixture.lookupElementStrings.containsAll(['foo', 'bar'])
}
}