[JavaFolding] inline literal argument names if argument length is one

This commit is contained in:
Yaroslav Lepenkin
2014-06-23 23:35:27 +04:00
parent 3c5522c226
commit 3e4d1cf78c
2 changed files with 10 additions and 8 deletions
@@ -791,10 +791,8 @@ public abstract class JavaFoldingBuilderBase extends CustomFoldingBuilder implem
PsiParameter methodParam = parameters[i];
if (PsiType.NULL.equals(callArgument.getType()) || methodParam.getType().equals(callArgument.getType())) {
TextRange range = callArgument.getTextRange();
if (range.getLength() > 1) {
String placeholderText = methodParam.getName() + ": " + callArgument.getText();
foldElements.add(new NamedFoldingDescriptor(callArgument, range.getStartOffset(), range.getEndOffset(), null, placeholderText));
}
String placeholderText = methodParam.getName() + ": " + callArgument.getText();
foldElements.add(new NamedFoldingDescriptor(callArgument, range.getStartOffset(), range.getEndOffset(), null, placeholderText));
}
}
}
@@ -672,7 +672,7 @@ public class VarArgTest {
assert regions[1].placeholderText == "test: 13"
}
public void "test do not inline if argument length is one (EA-57555)"() {
public void "test inline if argument length is one (EA-57555)"() {
def text = """
public class CharSymbol {
@@ -689,9 +689,13 @@ public class CharSymbol {
"""
configure text
def regions = myFixture.editor.foldingModel.allFoldRegions.sort { it.startOffset }
assert regions.size() == 3
checkRangeOffsetByPositionInText(regions[1], text, "false")
assert regions[1].placeholderText == "fast: false"
assert regions.size() == 4
checkRangeOffsetByPositionInText(regions[1], text, "1")
assert regions[1].placeholderText == "test: 1"
checkRangeOffsetByPositionInText(regions[2], text, "false")
assert regions[2].placeholderText == "fast: false"
}
public void "test inline constructor literal arguments names"() {