don't qualify magic method calls unless it's really needed. qualify instance magic methods with 'this'

This commit is contained in:
peter
2010-08-31 19:29:32 +01:00
parent a0bae733e4
commit 915cf66ef3
5 changed files with 61 additions and 5 deletions
@@ -0,0 +1,13 @@
import java.io.File;
public class Super {
protected <T> T foo() {}
}
public class Foo extends Super {
{
bar(this.<File>foo());<caret>
}
void bar(java.io.File s) {}
}
@@ -0,0 +1,11 @@
public class Super {
protected <T> T foo() {}
}
public class Foo extends Super {
{
bar(fo<caret>)
}
void bar(java.io.File s) {}
}
@@ -676,4 +676,26 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase {
"""
}
public void testInstanceMagicMethod() throws Exception {
myFixture.configureByText("a.java", """
public class JavaClass {
<T> T magic() {}
void foo() {
mag<caret>
}
}
""")
myFixture.completeBasic()
myFixture.checkResult """
public class JavaClass {
<T> T magic() {}
void foo() {
magic()<caret>
}
}
"""
}
}
@@ -961,6 +961,8 @@ public class SmartTypeCompletionTest extends LightCompletionTestCase {
public void testExplicitMethodTypeParametersQualify() throws Throwable { doTest(); }
public void testExplicitMethodTypeParametersFromSuperClass() throws Throwable { doTest(); }
public void testWildcardedInstanceof() throws Throwable { doTest(); }
public void testWildcardedInstanceof2() throws Throwable { doTest(); }
public void testWildcardedInstanceof3() throws Throwable { doTest(); }