mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 06:05:01 +07:00
IDEA-107779 Live templates perform unnecessary wrong shortening for inner class names
This commit is contained in:
@@ -11,6 +11,7 @@ import com.intellij.codeInsight.lookup.impl.LookupImpl
|
||||
import com.intellij.codeInsight.lookup.impl.LookupManagerImpl
|
||||
import com.intellij.codeInsight.template.macro.ClassNameCompleteMacro
|
||||
import com.intellij.codeInsight.template.macro.CompleteMacro
|
||||
import com.intellij.codeInsight.template.macro.MethodReturnTypeMacro
|
||||
import com.intellij.openapi.application.AccessToken
|
||||
import com.intellij.openapi.application.WriteAction
|
||||
import com.intellij.openapi.command.CommandProcessor
|
||||
@@ -583,4 +584,23 @@ class Outer {
|
||||
assert myFixture.editor.document.text.contains("Outer.Inner.foo")
|
||||
}
|
||||
|
||||
public void "test do not strip type argument containing class"() {
|
||||
myFixture.configureByText 'a.java', '''
|
||||
import java.util.*;
|
||||
class Foo {
|
||||
List<Map.Entry<String, Integer>> foo() {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
'''
|
||||
|
||||
final TemplateManager manager = TemplateManager.getInstance(getProject());
|
||||
final Template template = manager.createTemplate("result", "user", '$T$ result;');
|
||||
template.addVariable('T', new MacroCallNode(new MethodReturnTypeMacro()), new EmptyNode(), false)
|
||||
template.toReformat = true
|
||||
|
||||
manager.startTemplate(getEditor(), template);
|
||||
assert myFixture.editor.document.text.contains('List<Map.Entry<String, Integer>> result;')
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user