IDEA-112499 Static imports in live templates fail the second time they're used

This commit is contained in:
peter
2013-09-12 11:07:13 +02:00
parent 95693da612
commit 85fd323691
3 changed files with 40 additions and 6 deletions
@@ -25,6 +25,8 @@ import com.intellij.util.containers.ContainerUtil
import org.jetbrains.annotations.NotNull
import com.intellij.codeInsight.template.impl.*
import static com.intellij.codeInsight.template.Template.Property.*
/**
* @author spleaner
*/
@@ -654,4 +656,36 @@ class Foo {
checkResultByText 'foo arg bar goo <caret> after';
}
public void "test reuse static import"() {
myFixture.addClass("""package foo;
public class Bar {
public static void someMethod() {}
public static void someMethod(int a) {}
}""")
myFixture.configureByText "a.java", """
import static foo.Bar.someMethod;
class Foo {
{
<caret>
}
}
"""
final TemplateManager manager = TemplateManager.getInstance(getProject());
final Template template = manager.createTemplate("xxx", "user", 'foo.Bar.someMethod($END$)');
template.setValue(USE_STATIC_IMPORT_IF_POSSIBLE, true);
manager.startTemplate(editor, template);
myFixture.checkResult """
import static foo.Bar.someMethod;
class Foo {
{
someMethod(<caret>)
}
}
"""
}
}