use of com.intellij.psi.codeStyle.arrangement.match.StdArrangementEntryMatcher in project intellij-community by JetBrains.
the class StdArrangementExtendableSettings method appendExpandedRules.
public void appendExpandedRules(@NotNull final StdArrangementMatchRule rule, @NotNull final List<StdArrangementMatchRule> rules, @NotNull final Map<String, StdArrangementRuleAliasToken> tokenIdToDefinition) {
final List<StdArrangementMatchRule> sequence = getRuleSequence(rule, tokenIdToDefinition);
if (sequence == null || sequence.isEmpty()) {
rules.add(rule);
return;
}
final ArrangementCompositeMatchCondition ruleTemplate = removeAliasRuleToken(rule.getMatcher().getCondition());
for (StdArrangementMatchRule matchRule : sequence) {
final ArrangementCompositeMatchCondition extendedRule = ruleTemplate.clone();
extendedRule.addOperand(matchRule.getMatcher().getCondition());
rules.add(new StdArrangementMatchRule(new StdArrangementEntryMatcher(extendedRule)));
}
}
use of com.intellij.psi.codeStyle.arrangement.match.StdArrangementEntryMatcher in project intellij-community by JetBrains.
the class ArrangementSettingsSerializationTest method rule.
private static StdArrangementMatchRule rule(boolean byName, @NotNull ArrangementSettingsToken... tokens) {
final List<ArrangementAtomMatchCondition> conditions = new ArrayList<>();
for (ArrangementSettingsToken token : tokens) {
conditions.add(new ArrangementAtomMatchCondition(token));
}
final StdArrangementEntryMatcher matcher = new StdArrangementEntryMatcher(new ArrangementCompositeMatchCondition(conditions));
return byName ? new StdArrangementMatchRule(matcher, BY_NAME) : new StdArrangementMatchRule(matcher);
}
use of com.intellij.psi.codeStyle.arrangement.match.StdArrangementEntryMatcher in project intellij-community by JetBrains.
the class ArrangementSettingsSerializationTest method testEmptyGroupings.
@Test
public void testEmptyGroupings() throws Exception {
final StdArrangementSettings settings = new StdArrangementSettings();
final ArrangementAtomMatchCondition condition = new ArrangementAtomMatchCondition(FIELD);
settings.addRule(new StdArrangementMatchRule(new StdArrangementEntryMatcher(condition), BY_NAME));
final StdArrangementSettings defaultSettings = new StdArrangementSettings();
defaultSettings.addGrouping(new ArrangementGroupingRule(OVERRIDDEN_METHODS, BY_NAME));
final Element holder = doSerializationTest(settings, defaultSettings);
assertTrue(holder.getChildren().size() == 2);
final Element groups = holder.getChild("groups");
assertNotNull(groups);
assertTrue(groups.getChildren().isEmpty());
}
use of com.intellij.psi.codeStyle.arrangement.match.StdArrangementEntryMatcher in project intellij-community by JetBrains.
the class ArrangementSettingsSerializationTest method all.
@Test
public void all() {
final StdArrangementSettings settings = new StdArrangementSettings();
settings.addGrouping(new ArrangementGroupingRule(OVERRIDDEN_METHODS, BY_NAME));
final ArrangementAtomMatchCondition condition = new ArrangementAtomMatchCondition(FIELD);
settings.addRule(new StdArrangementMatchRule(new StdArrangementEntryMatcher(condition), BY_NAME));
doSerializationTest(settings, new StdArrangementSettings());
}
use of com.intellij.psi.codeStyle.arrangement.match.StdArrangementEntryMatcher in project intellij-community by JetBrains.
the class ArrangementSettingsSerializationTest method testDefaultRulesFilter.
@Test
public void testDefaultRulesFilter() {
final ArrangementGroupingRule groupingRule = new ArrangementGroupingRule(OVERRIDDEN_METHODS, BY_NAME);
final ArrangementAtomMatchCondition condition = new ArrangementAtomMatchCondition(FIELD);
final StdArrangementMatchRule rule = new StdArrangementMatchRule(new StdArrangementEntryMatcher(condition), BY_NAME);
final StdArrangementSettings settings = new StdArrangementSettings();
settings.addGrouping(groupingRule);
settings.addRule(rule);
final StdArrangementSettings defaultSettings = new StdArrangementSettings();
defaultSettings.addRule(rule);
final Element holder = doSerializationTest(settings, defaultSettings);
assertTrue(holder.getChildren().size() == 1);
assertNotNull(holder.getChild("groups"));
assertNull(holder.getChild("rules"));
}
Aggregations