@NotNull private Wrap mapContainerValueWrap(@Nullable Wrap parentWrap, @NotNull ASTNode mapOrStructOperation) { return Wrap.createChildWrap(parentWrap, mapContainerValueWrapType(mapOrStructOperation), true); }
@NotNull private List<com.intellij.formatting.Block> buildNoParenthesesKeywordPairChildren( @NotNull ASTNode noParenthesesKeywordPair ) { Wrap keywordKeyWrap = Wrap.createWrap(WrapType.CHOP_DOWN_IF_LONG, true); Indent keywordKeyIndent = Indent.getIndent(Indent.Type.NONE, true, false); Wrap keywordPairColonWrap = Wrap.createChildWrap(keywordKeyWrap, WrapType.NONE, true); Wrap keywordValueWrap = Wrap.createChildWrap(keywordKeyWrap, WrapType.NONE, true); return buildChildren( noParenthesesKeywordPair, (child, childElementType, blockList) -> { if (childElementType == ACCESS_EXPRESSION) { blockList.addAll(buildContainerValueAccessExpressionChildren(child, keywordValueWrap)); } else if (childElementType == KEYWORD_KEY) { blockList.add(buildChild(child, keywordKeyWrap, keywordKeyIndent)); } else if (childElementType == KEYWORD_PAIR_COLON) { blockList.add(buildChild(child, keywordPairColonWrap)); } else { blockList.add(buildChild(child, keywordValueWrap)); } return blockList; } ); }
@NotNull private List<com.intellij.formatting.Block> buildContainerAssociationOperation( @NotNull ASTNode containerAssociationOperation ) { Wrap keyWrap = Wrap.createWrap(WrapType.NORMAL, true); Wrap associationOperatorWrap = Wrap.createChildWrap(keyWrap, WrapType.NONE, true); Wrap valueWrap = Wrap.createWrap(WrapType.NORMAL, true); final Wrap[] operandWrap = {keyWrap}; final boolean[] rightOperand = {false}; return buildChildren( containerAssociationOperation, (child, childElementType, blockList) -> { if (childElementType == ACCESS_EXPRESSION) { if (rightOperand[0]) { blockList.addAll(buildContainerValueAccessExpressionChildren(child, operandWrap[0])); } else { blockList.addAll(buildAccessExpressionChildren(child, operandWrap[0])); } } else if (childElementType == ASSOCIATION_OPERATOR) { blockList.add(buildChild(child, associationOperatorWrap)); operandWrap[0] = valueWrap; rightOperand[0] = true; } else { blockList.add(buildChild(child, operandWrap[0])); } return blockList; } ); }
@NotNull private List<com.intellij.formatting.Block> buildKeywordPairChildren(@NotNull ASTNode keywordPair) { Wrap keywordKeyWrap = Wrap.createWrap(WrapType.NORMAL, true); Wrap keywordPairColonWrap = Wrap.createChildWrap(keywordKeyWrap, WrapType.NONE, true); Wrap keywordValueWrap = Wrap.createWrap(WrapType.NORMAL, true); return buildChildren( keywordPair, (child, childElementType, blockList) -> { if (childElementType == ACCESS_EXPRESSION) { blockList.addAll( buildContainerValueAccessExpressionChildren( child, Wrap.createWrap(WrapType.NONE, true) ) ); } else if (childElementType == KEYWORD_KEY) { blockList.add(buildChild(child, keywordKeyWrap, (Alignment) null)); } else if (childElementType == KEYWORD_PAIR_COLON) { blockList.add(buildChild(child, keywordPairColonWrap)); } else { blockList.add(buildChild(child, keywordValueWrap, null, (Alignment) null)); } return blockList; } ); }
@NotNull private List<com.intellij.formatting.Block> buildWhenOperationChildren(@NotNull ASTNode whenOperation) { Wrap operatorWrap = Wrap.createWrap(WrapType.NORMAL, true); final Alignment[] operandAlignment = {null}; final Wrap[] operandWrap = {Wrap.createWrap(WrapType.NONE, false)}; return buildChildren( whenOperation, (child, childElementType, blockList) -> { if (childElementType == ACCESS_EXPRESSION) { blockList.addAll( buildAccessExpressionChildren(child, operandWrap[0], operandAlignment[0]) ); } else if (OPERATOR_RULE_TOKEN_SET.contains(childElementType)) { blockList.addAll(buildOperatorRuleChildren(child, operatorWrap)); operandAlignment[0] = Alignment.createAlignment(); operandWrap[0] = Wrap.createChildWrap(operatorWrap, WrapType.NORMAL, true); } else { blockList.add(buildChild(child, operandWrap[0], operandAlignment[0])); } return blockList; } ); }
} else if (childElementType == OPENING_PARENTHESIS) { blockList.add( buildChild(child, Wrap.createChildWrap(parentWrap, WrapType.CHOP_DOWN_IF_LONG, true)) ); } else {
nonNullStabBodyChildrenWrap = Wrap.createChildWrap(stabOperationWrap, WrapType.CHOP_DOWN_IF_LONG, true); } else { nonNullStabBodyChildrenWrap = stabBodyChildrenWrap;
Wrap commaWrap = Wrap.createChildWrap(aliasWrap, WrapType.NONE, true);
blocks = buildUnmatchedCallChildren(parent, parentWrap, parentAlignment); } else { Wrap commaWrap = Wrap.createChildWrap(childrenWrap, WrapType.NONE, true);