Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- changed to null safe calls
Browse files Browse the repository at this point in the history
DrAlexD committed Sep 25, 2023
1 parent bc3f1d4 commit 3fdde5f
Showing 1 changed file with 22 additions and 16 deletions.
Original file line number Diff line number Diff line change
@@ -126,13 +126,15 @@ class BracesInConditionalsAndLoopsRule(configRules: List<RulesConfig>) : DiktatR
private fun ASTNode.insertEmptyBlockInsideThenNode(indent: Int) {
val ifPsi = psi as KtIfExpression
val elseKeyword = ifPsi.elseKeyword
val emptyThenNode = findChildByType(THEN)!!
val emptyThenNode = findChildByType(THEN)

emptyThenNode.findChildByType(BLOCK_CODE_FRAGMENT) ?: run {
val whiteSpacesAfterCondition = ifPsi.rightParenthesis!!.node.treeNext
emptyThenNode?.findChildByType(BLOCK_CODE_FRAGMENT) ?: run {
val whiteSpacesAfterCondition = ifPsi.rightParenthesis?.node?.treeNext

replaceChild(whiteSpacesAfterCondition, PsiWhiteSpaceImpl(" "))
emptyThenNode.insertEmptyBlock(indent)
whiteSpacesAfterCondition?.let {
replaceChild(it, PsiWhiteSpaceImpl(" "))
}
emptyThenNode?.insertEmptyBlock(indent)
elseKeyword?.let {
addChild(PsiWhiteSpaceImpl(" "), elseKeyword.node)
}
@@ -142,13 +144,15 @@ class BracesInConditionalsAndLoopsRule(configRules: List<RulesConfig>) : DiktatR
private fun ASTNode.insertEmptyBlockInsideElseNode(indent: Int) {
val ifPsi = psi as KtIfExpression
val elseKeyword = ifPsi.elseKeyword
val emptyElseNode = findChildByType(ELSE)!!
val emptyElseNode = findChildByType(ELSE)

emptyElseNode.findChildByType(BLOCK_CODE_FRAGMENT) ?: run {
val whiteSpacesAfterElseKeyword = elseKeyword!!.node.treeNext
emptyElseNode?.findChildByType(BLOCK_CODE_FRAGMENT) ?: run {
val whiteSpacesAfterElseKeyword = elseKeyword?.node?.treeNext

replaceChild(whiteSpacesAfterElseKeyword, PsiWhiteSpaceImpl(" "))
emptyElseNode.insertEmptyBlock(indent)
whiteSpacesAfterElseKeyword?.let {
replaceChild(it, PsiWhiteSpaceImpl(" "))
}
emptyElseNode?.insertEmptyBlock(indent)
}
}

@@ -176,15 +180,17 @@ class BracesInConditionalsAndLoopsRule(configRules: List<RulesConfig>) : DiktatR

private fun ASTNode.insertEmptyBlockInsideDoWhileNode(indent: Int) {
findChildByType(BODY) ?: run {
val doKeyword = findChildByType(DO_KEYWORD)!!
val whileKeyword = findChildByType(WHILE_KEYWORD)!!
val whiteSpacesAfterDoKeyword = doKeyword.treeNext
val doKeyword = findChildByType(DO_KEYWORD)
val whileKeyword = findChildByType(WHILE_KEYWORD)
val whiteSpacesAfterDoKeyword = doKeyword?.treeNext

addChild(CompositeElement(BODY), whileKeyword)
val emptyWhenNode = findChildByType(BODY)!!
val emptyWhenNode = findChildByType(BODY)

replaceChild(whiteSpacesAfterDoKeyword, PsiWhiteSpaceImpl(" "))
emptyWhenNode.insertEmptyBlock(indent)
whiteSpacesAfterDoKeyword?.let {
replaceChild(it, PsiWhiteSpaceImpl(" "))
}
emptyWhenNode?.insertEmptyBlock(indent)
addChild(PsiWhiteSpaceImpl(" "), whileKeyword)
}
}

0 comments on commit 3fdde5f

Please sign in to comment.