IDEA-82838 Static imports incorrectly added multiple times for methods already imported

This commit is contained in:
peter
2012-03-16 14:38:06 +04:00
parent 972e5ac229
commit 2ed7a01fa2
4 changed files with 21 additions and 3 deletions
@@ -168,15 +168,15 @@ public class GrImportStatementImpl extends GroovyPsiElementImpl implements GrImp
}
private static boolean processAllMembers(PsiScopeProcessor processor, PsiClass clazz, ResolveState state) {
for (PsiField field : clazz.getFields()) {
for (PsiField field : clazz.getAllFields()) {
if (field.hasModifierProperty(PsiModifier.STATIC) && !ResolveUtil.processElement(processor, field, state)) return false;
}
for (PsiMethod method : clazz.getMethods()) {
for (PsiMethod method : clazz.getAllMethods()) {
if (method.hasModifierProperty(PsiModifier.STATIC) && !ResolveUtil.processElement(processor, method, state)) return false;
}
for (PsiClass inner : clazz.getInnerClasses()) {
for (PsiClass inner : clazz.getAllInnerClasses()) {
if (inner.hasModifierProperty(PsiModifier.STATIC) && !ResolveUtil.processElement(processor, inner, state)) return false;
}
@@ -1131,6 +1131,8 @@ public class KeyVO {
Util.foo()<caret>'''
}
public void testUseDescendantStaticImport() { doBasicTest() }
public void testPreferInterfacesInImplements() {
myFixture.addClass('interface FooIntf {}')
myFixture.addClass('class FooClass {}')
@@ -0,0 +1,8 @@
import static Sub.*
class Super {
static void xxfoo() {}
}
class Sub extends Super {}
xxf<caret>
@@ -0,0 +1,8 @@
import static Sub.*
class Super {
static void xxfoo() {}
}
class Sub extends Super {}
xxfoo()<caret>