Skip to content

Commit

Permalink
Fixes and enhancements for complex boolean expressions rule (#909)
Browse files Browse the repository at this point in the history
### What's done:
* Fixed logic in boolean expression formatter
* Added tests
* Enabled de Morgan's law for boolean expression simplification
* Fixed code style
  • Loading branch information
petertrr authored Jun 8, 2021
1 parent 0218da1 commit eda9604
Show file tree
Hide file tree
Showing 11 changed files with 236 additions and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,8 @@ class IdentifierNaming(configRules: List<RulesConfig>) : DiktatRule(
// node is a symbol declaration with present identifier
val identifierText = identifier.text
if (identifierText.startsWith('`') && identifierText.endsWith('`')) {
// the only exception is test method with @Test annotation
if (!(node.elementType == ElementType.FUN && node.hasTestAnnotation())) {
val isTestFun = node.elementType == ElementType.FUN && node.hasTestAnnotation()
if (!isTestFun) {
BACKTICKS_PROHIBITED.warn(configRules, emitWarn, isFixMode, identifierText, identifier.startOffset, identifier)
}
return true
Expand Down Expand Up @@ -422,10 +422,9 @@ class IdentifierNaming(configRules: List<RulesConfig>) : DiktatRule(
isVariable: Boolean
) {
nodes.forEach {
if (it.text != "_" && !(it.isTextLengthInRange(MIN_IDENTIFIER_LENGTH..MAX_IDENTIFIER_LENGTH) ||
oneCharIdentifiers.contains(it.text) && isVariable || isValidCatchIdentifier(it)

)
val isValidOneCharVariable = oneCharIdentifiers.contains(it.text) && isVariable
if (it.text != "_" && !it.isTextLengthInRange(MIN_IDENTIFIER_LENGTH..MAX_IDENTIFIER_LENGTH) &&
!isValidOneCharVariable && !isValidCatchIdentifier(it)
) {
IDENTIFIER_LENGTH.warn(configRules, emitWarn, isFixMode, it.text, it.startOffset, it)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class KdocComments(configRules: List<RulesConfig>) : DiktatRule(
override fun logic(node: ASTNode) {
val config = configRules.getCommonConfiguration()
val filePath = node.getRootNode().getFilePath()
if (!(node.hasTestAnnotation() || isLocatedInTest(filePath.splitPathToDirs(), config.testAnchors))) {
if (!node.hasTestAnnotation() && !isLocatedInTest(filePath.splitPathToDirs(), config.testAnchors)) {
when (node.elementType) {
FILE -> checkTopLevelDoc(node)
CLASS -> checkClassElements(node)
Expand Down Expand Up @@ -86,7 +86,7 @@ class KdocComments(configRules: List<RulesConfig>) : DiktatRule(
@Suppress("UnsafeCallOnNullableType", "ComplexMethod")
private fun checkValueParameter(node: ASTNode) {
if (node.parents().none { it.elementType == PRIMARY_CONSTRUCTOR } ||
!(node.hasChildOfType(VAL_KEYWORD) || node.hasChildOfType(VAR_KEYWORD))) {
!node.hasChildOfType(VAL_KEYWORD) && !node.hasChildOfType(VAR_KEYWORD)) {
return
}
val prevComment = if (node.treePrev.elementType == WHITE_SPACE &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,44 +4,57 @@ import org.cqfn.diktat.common.config.rules.RulesConfig
import org.cqfn.diktat.ruleset.constants.Warnings.COMPLEX_BOOLEAN_EXPRESSION
import org.cqfn.diktat.ruleset.rules.DiktatRule
import org.cqfn.diktat.ruleset.utils.KotlinParser
import org.cqfn.diktat.ruleset.utils.findAllDescendantsWithSpecificType
import org.cqfn.diktat.ruleset.utils.findAllNodesWithCondition
import org.cqfn.diktat.ruleset.utils.findLeafWithSpecificType
import org.cqfn.diktat.ruleset.utils.logicalInfixMethods

import com.bpodgursky.jbool_expressions.Expression
import com.bpodgursky.jbool_expressions.options.ExprOptions
import com.bpodgursky.jbool_expressions.parsers.ExprParser
import com.bpodgursky.jbool_expressions.rules.RuleSet
import com.bpodgursky.jbool_expressions.rules.RulesHelper
import com.pinterest.ktlint.core.ast.ElementType
import com.pinterest.ktlint.core.ast.ElementType.BINARY_EXPRESSION
import com.pinterest.ktlint.core.ast.ElementType.CONDITION
import com.pinterest.ktlint.core.ast.ElementType.OPERATION_REFERENCE
import com.pinterest.ktlint.core.ast.ElementType.PARENTHESIZED
import com.pinterest.ktlint.core.ast.ElementType.PREFIX_EXPRESSION
import org.jetbrains.kotlin.com.intellij.lang.ASTNode
import org.jetbrains.kotlin.psi.KtBinaryExpression
import org.jetbrains.kotlin.psi.KtParenthesizedExpression
import org.jetbrains.kotlin.psi.psiUtil.parents

import java.lang.RuntimeException

/**
* Rule that warns if the boolean expression can be simplified.
* Rule that checks if the boolean expression can be simplified.
*/
class BooleanExpressionsRule(configRules: List<RulesConfig>) : DiktatRule(
"boolean-expressions-rule",
configRules,
listOf(COMPLEX_BOOLEAN_EXPRESSION)) {
override fun logic(node: ASTNode) {
if (node.elementType == ElementType.CONDITION) {
if (node.elementType == CONDITION) {
checkBooleanExpression(node)
}
}

@Suppress("TooGenericExceptionCaught")
private fun checkBooleanExpression(node: ASTNode) {
// This map is used to assign a variable name for every elementary boolean expression.
// This map is used to assign a variable name for every elementary boolean expression. It is required for jbool to operate.
val mapOfExpressionToChar: HashMap<String, Char> = HashMap()
val correctedExpression = formatBooleanExpressionAsString(node, mapOfExpressionToChar)
if (mapOfExpressionToChar.isEmpty()) {
// this happens, if we haven't found any expressions that can be simplified
return
}

// If there are method calls in conditions
val expr: Expression<String> = try {
ExprParser.parse(correctedExpression)
} catch (exc: RuntimeException) {
if (exc.message?.startsWith("Unrecognized!") == true) {
// this comes up if there is an unparsable expression. For example a.and(b)
// this comes up if there is an unparsable expression (jbool doesn't have own exception type). For example a.and(b)
return
} else {
throw exc
Expand All @@ -51,7 +64,7 @@ class BooleanExpressionsRule(configRules: List<RulesConfig>) : DiktatRule(
val simplifiedExpression = distributiveLawString?.let {
ExprParser.parse(distributiveLawString)
}
?: RuleSet.simplify(expr)
?: RulesHelper.applySet(expr, RulesHelper.demorganRules(), ExprOptions.noCaching())
if (expr != simplifiedExpression) {
COMPLEX_BOOLEAN_EXPRESSION.warnAndFix(configRules, emitWarn, isFixMode, node.text, node.startOffset, node) {
fixBooleanExpression(node, simplifiedExpression, mapOfExpressionToChar)
Expand All @@ -60,32 +73,75 @@ class BooleanExpressionsRule(configRules: List<RulesConfig>) : DiktatRule(
}

/**
* Converts a complex boolean expression into a string representation, mapping each elementary expression to a letter token.
* These tokens are collected into [mapOfExpressionToChar].
* For example:
* ```
* (a > 5 && b != 2) -> A & B
* (a > 5 || false) -> A | false
* (a > 5 || x.foo()) -> A | B
* ```
*
* @param node
* @param mapOfExpressionToChar
* @return corrected string
* @param mapOfExpressionToChar a mutable map for expression->token
* @return formatted string representation of expression
*/
@Suppress("UnsafeCallOnNullableType", "ForbiddenComment")
internal fun formatBooleanExpressionAsString(node: ASTNode, mapOfExpressionToChar: HashMap<String, Char>): String {
// `A` character in ASCII
var characterAsciiCode = 'A'.code
node
.findAllNodesWithCondition({ it.elementType == BINARY_EXPRESSION })
.filterNot { it.text.contains("&&") || it.text.contains("||") }
.forEach { expression ->
mapOfExpressionToChar.computeIfAbsent(expression.text) {
characterAsciiCode++.toChar()
}
val (booleanBinaryExpressions, otherBinaryExpressions) = node.collectElementaryExpressions()
val logicalExpressions = otherBinaryExpressions.filter {
// keeping only boolean expressions, keeping things like `a + b < 6` and excluding `a + b`
(it.psi as KtBinaryExpression).operationReference.text in logicalInfixMethods &&
// todo: support xor; for now skip all expressions that are nested in xor
it.parents().takeWhile { it != node }.none { (it.psi as? KtBinaryExpression)?.isXorExpression() ?: false }
}
// Boolean expressions like `a > 5 && b < 7` or `x.isEmpty() || (y.isNotEmpty())` we convert to individual parts.
val elementaryBooleanExpressions = booleanBinaryExpressions
.map { it.psi as KtBinaryExpression }
.flatMap { listOf(it.left!!.node, it.right!!.node) }
.map {
// remove parentheses around expression, if there are any
(it.psi as? KtParenthesizedExpression)?.expression?.node ?: it
}
// Library is using & as && and | as ||.
var correctedExpression = "(${node
.text
.replace("&&", "&")
.replace("||", "|")})"
.filterNot {
// finally, if parts are binary expressions themselves, they should be present in our lists and we will process them later.
// `true` and `false` are valid tokens for jBool, so we keep them.
it.elementType == BINARY_EXPRESSION || it.text == "true" || it.text == "false"
}
var characterAsciiCode = 'A'.code // `A` character in ASCII
(logicalExpressions + elementaryBooleanExpressions).forEach { expression ->
mapOfExpressionToChar.computeIfAbsent(expression.text) {
// Every elementary expression is assigned a single-letter variable.
characterAsciiCode++.toChar()
}
}
// Prepare final formatted string
var correctedExpression = node.text
// At first, substitute all elementary expressions with variables
mapOfExpressionToChar.forEach { (refExpr, char) ->
correctedExpression = correctedExpression.replace(refExpr, char.toString())
}
return correctedExpression
// jBool library is using & as && and | as ||
return "(${correctedExpression
.replace("&&", "&")
.replace("||", "|")})"
}

/**
* Split the complex expression into elementary parts
*/
private fun ASTNode.collectElementaryExpressions() = this
.findAllNodesWithCondition({ astNode ->
astNode.elementType == BINARY_EXPRESSION &&
// filter out boolean conditions in nested lambdas, e.g. `if (foo.filter { a && b })`
(astNode == this || astNode.parents().takeWhile { it != this }
.all { it.elementType in setOf(BINARY_EXPRESSION, PARENTHESIZED, PREFIX_EXPRESSION) })
})
.partition {
val operationReferenceText = (it.psi as KtBinaryExpression).operationReference.text
operationReferenceText == "&&" || operationReferenceText == "||"
}

private fun fixBooleanExpression(
node: ASTNode,
simplifiedExpr: Expression<String>,
Expand Down Expand Up @@ -196,6 +252,8 @@ class BooleanExpressionsRule(configRules: List<RulesConfig>) : DiktatRule(
}
}

private fun KtBinaryExpression.isXorExpression() = operationReference.text == "xor"

companion object {
const val DISTRIBUTIVE_LAW_MIN_EXPRESSIONS = 3
const val DISTRIBUTIVE_LAW_MIN_OPERATIONS = 3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ class NewlinesRule(configRules: List<RulesConfig>) : DiktatRule(

private fun handleOperatorWithLineBreakAfter(node: ASTNode) {
// [node] should be either EQ or OPERATION_REFERENCE which has single child
if (!(node.elementType == EQ || node.firstChildNode.elementType in lineBreakAfterOperators || node.isInfixCall())) {
if (node.elementType != EQ && node.firstChildNode.elementType !in lineBreakAfterOperators && !node.isInfixCall()) {
return
}

Expand Down Expand Up @@ -463,8 +463,8 @@ class NewlinesRule(configRules: List<RulesConfig>) : DiktatRule(
private fun ASTNode.getOrderedCallExpressions(psi: PsiElement, result: MutableList<ASTNode>) {
// if statements here have the only right order - don't change it

if (psi.children.isNotEmpty() && (!psi.isFirstChildElementType(DOT_QUALIFIED_EXPRESSION) &&
!psi.isFirstChildElementType(SAFE_ACCESS_EXPRESSION))) {
if (psi.children.isNotEmpty() && !psi.isFirstChildElementType(DOT_QUALIFIED_EXPRESSION) &&
!psi.isFirstChildElementType(SAFE_ACCESS_EXPRESSION)) {
val firstChild = psi.firstChild
if (firstChild.isFirstChildElementType(DOT_QUALIFIED_EXPRESSION) ||
firstChild.isFirstChildElementType(SAFE_ACCESS_EXPRESSION)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class VariableGenericTypeDeclarationRule(configRules: List<RulesConfig>) : Dikta
?.typeArgumentsAsTypes
}

if ((rightSide != null && leftSide != null) &&
if (rightSide != null && leftSide != null &&
rightSide.size == leftSide.size &&
rightSide.zip(leftSide).all { (first, second) -> first.text == second.text }) {
GENERIC_VARIABLE_WRONG_DECLARATION.warnAndFix(configRules, emitWarn, isFixMode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class AvoidUtilityClass(configRules: List<RulesConfig>) : DiktatRule(
override fun logic(node: ASTNode) {
val config = configRules.getCommonConfiguration()
val filePath = node.getRootNode().getFilePath()
if (!(node.hasTestAnnotation() || isLocatedInTest(filePath.splitPathToDirs(), config.testAnchors))) {
if (!node.hasTestAnnotation() && !isLocatedInTest(filePath.splitPathToDirs(), config.testAnchors)) {
@Suppress("COLLAPSE_IF_STATEMENTS")
if (node.elementType == OBJECT_DECLARATION || node.elementType == CLASS) {
checkClass(node)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ class RunInScript(private val configRules: List<RulesConfig>) : Rule("run-script
private fun checkScript(node: ASTNode) {
val isLambdaArgument = node.firstChildNode.hasChildOfType(LAMBDA_ARGUMENT)
val isLambdaInsideValueArgument = node.firstChildNode.findChildByType(VALUE_ARGUMENT_LIST)?.findChildByType(VALUE_ARGUMENT)?.findChildByType(LAMBDA_EXPRESSION) != null
if (!(isLambdaArgument || isLambdaInsideValueArgument)) {
if (!isLambdaArgument && !isLambdaInsideValueArgument) {
warnRunInScript(node)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ internal const val EMPTY_BLOCK_TEXT = "{}"
*/
internal val standardMethods = listOf("main", "equals", "hashCode", "toString", "clone", "finalize")

/**
* List of infix methods that return Boolean
*/
internal val logicalInfixMethods = setOf("==", "!=", ">", "<", ">=", "<=", "in", "!in", "xor")

/**
* List of element types present in empty code block `{ }`
*/
Expand Down
Loading

1 comment on commit eda9604

@0pdd
Copy link

@0pdd 0pdd commented on eda9604 Jun 8, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to retrieve PDD puzzles from the code base and submit them to GitHub. If you think that it's a bug on our side, please submit it to yegor256/0pdd:

set -x && set -e && set -o pipefail && cd /tmp/0pdd20210505-12-189bsmu/cqfn/diKTat && pdd -v -f /tmp/20210608-3980-1g5zmjc [1]: + set -e + set -o pipefail + cd /tmp/0pdd20210505-12-189bsmu/cqfn/diKTat + pdd -v -f /tmp/20210608-3980-1g5zmjc My version is 0.20.6 Ruby version is 2.6.0 at...

Please, copy and paste this stack trace to GitHub:

UserError
set -x && set -e && set -o pipefail && cd /tmp/0pdd20210505-12-189bsmu/cqfn/diKTat && pdd -v -f /tmp/20210608-3980-1g5zmjc [1]:
+ set -e
+ set -o pipefail
+ cd /tmp/0pdd20210505-12-189bsmu/cqfn/diKTat
+ pdd -v -f /tmp/20210608-3980-1g5zmjc

My version is 0.20.6
Ruby version is 2.6.0 at x86_64-linux
Reading /tmp/0pdd20210505-12-189bsmu/cqfn/diKTat
749 file(s) found, 1085 excluded
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/diktat-rules/src/test/resources/test/paragraph3/src/main/A/FileSize2000.kt is a binary file (0 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/logo-1024.png is a binary file (210617 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/wp.pdf is a binary file (1587863 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/ktfmt.png is a binary file (22394 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/detekt.png is a binary file (20812 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/data_flow.PNG is a binary file (30951 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/package.png is a binary file (31056 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/diktat.png is a binary file (15618 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/useCase.png is a binary file (42924 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/sequence.PNG is a binary file (58624 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/web-example.png is a binary file (94361 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/ktlint.png is a binary file (20001 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/logo.png is a binary file (210617 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/class.PNG is a binary file (61130 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/wp/pictures/kotlinRating.png is a binary file (109403 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/diktat-gradle-plugin/gradle/wrapper/gradle-wrapper.jar is a binary file (59203 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/diktat-test-framework/src/main/resources/config.properties is a binary file (0 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/info/gradle/wrapper/gradle-wrapper.jar is a binary file (59203 bytes)
/tmp/0pdd20210505-12-189bsmu/cqfn/diKTat/examples/README.md is a binary file (0 bytes)
Reading diktat-common/pom.xml...
Reading diktat-common/src/main/resources/log4j.properties...
Reading diktat-common/src/main/kotlin/org/cqfn/diktat/common/config/rules/RulesConfigReader.kt...
Reading diktat-common/src/main/kotlin/org/cqfn/diktat/common/config/reader/ApplicationProperties.kt...
Reading diktat-common/src/main/kotlin/org/cqfn/diktat/common/config/reader/JsonResourceConfigReader.kt...
Reading diktat-common/src/main/kotlin/org/cqfn/diktat/common/cli/CliArgument.kt...
Reading diktat-common/src/test/resources/test-rules-config.yml...
Reading diktat-common/src/test/kotlin/org/cqfn/diktat/test/ConfigReaderTest.kt...
Reading diktat-analysis.yml...
Reading .git-hooks/pre-commit.sh...
Reading .git-hooks/commit-msg.sh...
Reading LICENSE...
Reading diktat-ruleset/pom.xml...
Reading .gitignore...
Reading README.md...
Reading RELEASING.md...
Reading .gitattributes...
Reading diktat-rules/pom.xml...
Reading diktat-rules/src/main/resources/diktat-analysis.yml...
Reading diktat-rules/src/main/resources/diktat-analysis-huawei.yml...
Reading diktat-rules/src/main/resources/META-INF/services/com.pinterest.ktlint.core.RuleSetProvider...
Reading diktat-rules/src/main/resources/log4j.properties...
Reading diktat-rules/src/main/kotlin/generated/WarningNames.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/SortRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/WhenMustHaveElseRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/SingleLineStatementsRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/StringTemplateFormatRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/AnnotationNewLineRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/StringConcatenationRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/BracesInConditionalsAndLoopsRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/ConsecutiveSpacesRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/CollapseIfStatementsRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/EmptyBlock.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/identifiers/LocalVariablesRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/LongNumericalValuesSeparatedRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/BooleanExpressionsRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/ClassLikeStructuresOrderRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/MagicNumberRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/NullableTypeRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/LineLength.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/BlockStructureBraces.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/MultipleModifiersSequence.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/EnumsSeparated.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/TrailingCommaRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/files/IndentationRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/files/TopLevelOrderRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/files/FileStructureRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/files/FileSize.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/files/WhiteSpaceRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/files/BlankLinesRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter3/files/NewlinesRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter2/comments/HeaderCommentRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter2/comments/CommentsRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter2/kdoc/KdocFormatting.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter2/kdoc/CommentsFormatting.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter2/kdoc/KdocMethods.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter2/kdoc/KdocComments.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/DiktatRuleSetProvider.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter4/SmartCastRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter4/NullChecksRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter4/TypeAliasRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter4/calculations/AccurateCalculationsRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter4/VariableGenericTypeDeclarationRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter4/ImmutableValNoVarRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter5/FunctionLength.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter5/LambdaParameterOrder.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter5/AvoidNestedFunctionsRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter5/LambdaLengthRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter5/CustomLabel.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter5/FunctionArgumentsSize.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter5/NestedFunctionBlock.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter5/OverloadingArgumentsFunction.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter5/AsyncAndSyncRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter5/CheckInverseMethodRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter1/PackageNaming.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter1/FileNaming.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter1/IdentifierNaming.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/DiktatRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/RunInScript.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/ExtensionFunctionsSameNameRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/ExtensionFunctionsInFileRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/ImplicitBackingPropertyRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/UselessSupertype.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/TrivialPropertyAccessors.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/PropertyAccessorFields.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/classes/AbstractClassesRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/classes/SingleConstructorRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/classes/DataClassesRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/classes/InlineClassesRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/classes/SingleInitRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/classes/StatelessClassesRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/classes/CompactInitialization.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/CustomGetterSetterRule.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/AvoidUtilityClass.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/rules/chapter6/AvoidEmptyPrimaryConstructor.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/FunctionAstNodeUtils.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/KdocUtils.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/SequenceUtils.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/AstNodeUtils.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/StringCaseUtils.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/indentation/Checkers.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/indentation/CustomIndentationChecker.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/indentation/IndentationConfig.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/search/VariablesSearch.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/search/VariablesWithAssignmentSearch.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/search/VariablesWithUsagesSearch.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/StringUtils.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/KotlinParser.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/PositionInTextLocator.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/PsiUtils.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/KotlinParseException.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/AstConstants.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/constants/Chapters.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/constants/Warnings.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/dummy/DummyWarning.kt...
Reading diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/generation/Generation.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/CopyrightShouldNotTriggerNPEExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/MultilineCopyrightNotTriggerTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/MisplacedHeaderKdocNoCopyrightExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/AutoCopyrightExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/CopyrightShouldNotTriggerNPETest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/NewlineAfterHeaderKdocExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/MisplacedHeaderKdocAppendedCopyrightExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/MultilineCopyrightNotTriggerExample.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/MisplacedHeaderKdocTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/MultilineCopyrightExample.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/AutoCopyrightTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/MisplacedHeaderKdocExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/MisplacedHeaderKdocNoCopyrightTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/CopyrightDifferentYearExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/MultilineCopyrightTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/NewlineAfterHeaderKdocTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/CopyrightDifferentYearTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/header/MisplacedHeaderKdocAppendedCopyrightTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/KdocFormattingFullTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/ConstructorCommentNoKDocExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/ConstructorCommentNoKDocTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/ConstructorCommentExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/SpecialTagsInKdocExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/BasicTagsEmptyLinesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/ConstructorCommentTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/BasicTagsEmptyLineBeforeTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/KdocFormattingFullExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/KdocFormattingOrderExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/KdocFormattingOrderTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/OrderedTagsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/NoPackageNoImportExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/BasicTagsEmptyLinesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/KdocCodeBlockFormattingExampleExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/KdocCodeBlocksFormattingExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/BasicTagsEmptyLineBeforeExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/OrderedTagsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/NoPackageNoImportTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/KdocCodeBlockFormattingExampleTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/DeprecatedTagTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/SpecialTagsInKdocTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/SpacesAfterTagExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/KdocEmptyLineExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/KdocCodeBlocksFormattingTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/MissingKdocWithModifiersTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/ParamTagInsertionExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/ParamTagInsertionTested.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/MissingKdocTested.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/EmptyKdocExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/KdocMethodsFullTested.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/EmptyKdocTested.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/MissingKdocWithModifiersExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/ThrowsTagInsertionExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/MissingKdocExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/KdocMethodsFullExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/ReturnTagInsertionTested.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/ReturnTagInsertionExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/package/src/main/kotlin/org/cqfn/diktat/kdoc/methods/ThrowsTagInsertionTested.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/SpacesAfterTagTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/DeprecatedTagExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph2/kdoc/KdocEmptyLineTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/enum_/EnumValuePascalCaseExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/enum_/EnumValueSnakeCaseExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/enum_/EnumValuePascalCaseTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/enum_/EnumValueSnakeCaseTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/identifiers/PrefixInNameExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/identifiers/TypeAliasNameExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/identifiers/TypeAliasNameTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/identifiers/ConstantValNameTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/identifiers/VariableNamingExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/identifiers/ConstantValNameExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/identifiers/LambdaArgTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/identifiers/VariableNamingTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/identifiers/PrefixInNameTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/identifiers/LambdaArgExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/object_/IncorrectObjectNameExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/object_/IncorrectObjectNameTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/class_/IncorrectClassNameExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/class_/IncorrectClassNameTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/function/FunctionNameExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/function/FunctionNameTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/generic/GenericFunctionExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/generic/GenericFunctionTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/FixUnderscoreTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/FixUnderscoreExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/MissingDomainNameTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/FixUpperExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/MissingDomainNameExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/some/FixMissingExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/some/FixIncorrectTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/some/FixMissingTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/some/FixIncorrectExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixMissingWithAnnotationTest3.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixMissingExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixPackageRegressionExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixPackageRegressionTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixMissingWithAnnotationExpected2.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixIncorrectTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixMissingTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixMissingWithAnnotationTest2.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixMissingWithAnnotationTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixIncorrectExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixMissingWithAnnotationExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixMissingWithoutImportExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixMissingWithoutImportTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/src/main/kotlin/org/cqfn/diktat/some/name/FixMissingWithAnnotationExpected3.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/package/FixUpperTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/file/fileNameTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph1/naming/file/file_nameTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph6/useless-override/UselessOverrideExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph6/useless-override/SeveralSuperTypesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph6/useless-override/SeveralSuperTypesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph6/useless-override/UselessOverrideTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph4/smart_cast/SmartCastExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph4/smart_cast/SmartCastTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph4/generics/VariableGenericTypeDeclarationExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph4/generics/VariableGenericTypeDeclarationTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph4/null_checks/IfConditionNullCheckTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph4/null_checks/IfConditionNullCheckExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph4/null_checks/IfConditionBreakCheckTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph4/null_checks/RequireFunctionTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph4/null_checks/IfConditionBreakCheckExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph4/null_checks/RequireFunctionExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/string_concatenation/StringConcatenationTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/string_concatenation/StringConcatenationExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/enum_separated/EnumSeparatedTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/enum_separated/EnumSeparatedExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/OneLineFunctionExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/OneLineFunctionTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/SemicolonsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/ColonTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/SemicolonsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/ListArgumentLambdaTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/LParTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/FunctionalStyleTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/ParameterListTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/ListArgumentLambdaExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/ParameterListExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/ColonExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/CommaTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/LambdaExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/LambdaTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/CommaExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/sizeParameterListTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/ExpressionBodyExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/ExpressionBodyTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/OperatorsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/sizeParameterListExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/FunctionalStyleExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/LParExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/newlines/OperatorsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/string_template/StringTemplateExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/string_template/StringTemplateTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/multiple_modifiers/AnnotationTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/multiple_modifiers/ModifierTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/multiple_modifiers/ModifierExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/multiple_modifiers/AnnotationExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/else_expected/ElseInWhenExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/else_expected/ElseInWhenTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/empty_block/EmptyBlockExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/empty_block/EmptyBlockTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/nullable/CollectionExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/nullable/CollectionTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/nullable/NullPrimitiveTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/nullable/NullPrimitiveExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/annotations/AnnotationConstructorSingleLineExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/annotations/AnnotationSingleLineTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/annotations/AnnotationCommentExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/annotations/AnnotationCommentTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/annotations/AnnotationConstructorSingleLineTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/annotations/AnnotationSingleLineExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/collapse_if/CollapseIfStatementsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/collapse_if/CollapseIfStatementsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/top_level/TopLevelWithHeaderKdocTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/top_level/TopLevelSortExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/top_level/TopLevelSortTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/top_level/TopLevelWithCommentTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/top_level/TopLevelWithCommentExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/top_level/TopLevelWithHeaderKdocExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/IfElseBracesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/IfElseBracesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/TryBraceTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/WhenBranchesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/LoopsBracesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/ClassBracesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/DoWhileBracesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/TryBraceExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/DoWhileBracesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/LoopsBracesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/WhenBranchesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/block_brace/ClassBracesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/sort_error/ConstantsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/sort_error/EnumSortTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/sort_error/ConstantsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/sort_error/EnumSortExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/statement/StatementTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/statement/StatementExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/braces/WhenBranchesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/braces/IfElseBraces1Test.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/braces/LoopsBracesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/braces/IfElseBraces1Expected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/braces/DoWhileBracesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/braces/DoWhileBracesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/braces/LoopsBracesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/braces/WhenBranchesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/boolean_expressions/BooleanExpressionsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/boolean_expressions/DistributiveLawTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/boolean_expressions/DistributiveLawExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/boolean_expressions/BooleanExpressionsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/indentation/IndentFullExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/indentation/ConstructorTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/indentation/IndentationFull1Test.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/indentation/IndentationParametersExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/indentation/IndentationParametersTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/indentation/ConstructorExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/indentation/IndentFullTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/indentation/IndentationFull1Expected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/ReorderingImportsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/CopyrightCommentPositionExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/OrderWithEnumsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/MissingBlankLinesBetweenBlocksTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/RedundantBlankLinesBetweenBlocksTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/ReorderingImportsRecommendedTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/OrderWithCommentTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/FileAnnotationTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/ReorderingImportsRecommendedExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/DefaultPackageWithImportsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/DefaultPackageWithImportsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/OrderWithCommentExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/OtherCommentsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/FileAnnotationExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/BlankLinesBetweenBlocksExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/CopyrightCommentPositionTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/DeclarationsInClassOrderExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/OtherCommentsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/NoImportNoPackageTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/NoImportNoPackageExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/OrderWithEnumsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/ReorderingImportsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/file_structure/DeclarationsInClassOrderTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_numbers/LongNumericalValuesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_numbers/LongNumericalValuesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/LBraceAfterKeywordExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/TooManySpacesEnumExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/LambdaAsArgumentExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/EolSpacesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/LambdaAsArgumentTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/EqualsExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/WhiteSpaceBeforeLParTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/LBraceAfterKeywordTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/TooManySpacesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/TooManySpacesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/LbraceExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/AnnotationTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/LbraceTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/BracesLambdaSpacesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/TooManySpacesEnumTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/WhiteSpaceBeforeLBraceTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/BracesLambdaSpacesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/BinaryOpTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/EolSpacesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/BinaryOpExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/WhiteSpaceBeforeLBraceExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/WhiteSpaceBeforeLParExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/EqualsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/spaces/AnnotationExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongLineExpressionExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongExpressionNoFixTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongLineAnnotationTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongLineFunTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongLineCommentExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongLineExpressionTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongLineAnnotationExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongShortRValueTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongLineCommentTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongShortRValueExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongLineRValueTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongLineRValueExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongLineFunExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/long_line/LongExpressionNoFixExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/trailing_comma/TrailingCommaTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/trailing_comma/TrailingCommaExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/src/main/A/FileSizeA.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/src/main/C/FileSizeC.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/src/main/B/FileSizeB.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/src/main/FileSizeLarger.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/blank_lines/RedundantBlankLinesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/blank_lines/CodeBlockWithBlankLinesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/blank_lines/RedundantBlankLinesExpected.kt...
Reading diktat-rules/src/test/resources/test/paragraph3/blank_lines/CodeBlockWithBlankLinesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph5/nested_functions/AvoidNestedFunctionsTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph5/nested_functions/AvoidNestedFunctionsNoTriggerTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph5/nested_functions/AvoidNestedFunctionsSeveralTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph5/nested_functions/AvoidNestedFunctionsSeveralExample.kt...
Reading diktat-rules/src/test/resources/test/paragraph5/nested_functions/AvoidNestedFunctionsExample.kt...
Reading diktat-rules/src/test/resources/test/paragraph5/nested_functions/AvoidNestedFunctionsNoTriggerExample.kt...
Reading diktat-rules/src/test/resources/test/paragraph5/method_call_names/ReplaceMethodCallNamesTest.kt...
Reading diktat-rules/src/test/resources/test/paragraph5/method_call_names/ReplaceMethodCallNamesExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/script/SimpleRunInScriptTest.kts...
Reading diktat-rules/src/test/resources/test/chapter6/script/SimpleRunInScriptExpected.kts...
Reading diktat-rules/src/test/resources/test/chapter6/stateless_classes/StatelessClassExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/stateless_classes/StatelessClassTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/primary_constructor/EmptyPCTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/primary_constructor/EmptyPCExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/abstract_classes/ShouldRemoveAbstractKeywordExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/abstract_classes/ShouldRemoveAbstractKeywordTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/properties/TrivialPropertyAccessorsTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/properties/TrivialPropertyAccessorsExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/compact_initialization/ExampleWithCommentsExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/compact_initialization/ApplyWithValueArgumentExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/compact_initialization/SimpleExampleExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/compact_initialization/ExampleWithCommentsTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/compact_initialization/ApplyWithValueArgumentTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/compact_initialization/SimpleExampleTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/classes/SimpleConstructorExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/classes/AssignmentWithLocalPropertyTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/classes/AssignmentWithLocalPropertyExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/classes/ConstructorWithModifiersExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/classes/ConstructorWithInitTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/classes/ConstructorWithCustomAssignmentsExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/classes/ConstructorWithCustomAssignmentsTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/classes/ConstructorWithInitExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/classes/SimpleConstructorTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/classes/ConstructorWithModifiersTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/init_blocks/InitBlocksTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/init_blocks/InitBlockWithAssignmentsTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/init_blocks/InitBlocksWithAssignmentsExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/init_blocks/InitBlockWithAssignmentsExpected.kt...
Reading diktat-rules/src/test/resources/test/chapter6/init_blocks/InitBlocksWithAssignmentsTest.kt...
Reading diktat-rules/src/test/resources/test/chapter6/init_blocks/InitBlocksExpected.kt...
Reading diktat-rules/src/test/resources/test/smoke/build.gradle_.kts...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/script/SimpleRunInScriptTest.kts...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/script/SimpleRunInScriptExpected.kts...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/script/PackageInScriptTest.kts...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/script/PackageInScriptExpected.kts...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example3Test.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example2Expected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example7Expected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example2Test.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example4Test.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example7Test.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example5Expected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example6Expected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example1-2Expected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example4Expected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Bug1Expected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/DefaultPackageExpected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Bug1Test.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example5Test.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example3Expected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/KdocFormattingMultilineTagsExpected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example6Test.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example1Expected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/DefaultPackageTest.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/KdocFormattingMultilineTagsTest.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example1Test.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/jsMain/kotlin/org/cqfn/diktat/scripts/ScriptExpected.kt...
Reading diktat-rules/src/test/resources/test/smoke/src/jsMain/kotlin/org/cqfn/diktat/scripts/ScriptTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/util/TestUtils.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/util/DiktatRuleSetProvider4Test.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/util/LintTestBase.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/util/FixTestBase.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/util/DiktatRuleTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/SuppressAnnotatedExpressionTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/FunctionAstNodeUtilsTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/WarningsGenerationTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/AstNodeUtilsTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/VariablesSearchTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/VariablesWithAssignmentsSearchTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/SuppressTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/AvailableRulesDocTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/StringCaseUtilsTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/RulesConfigYamlTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/KotlinParserTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/utils/VariablesWithUsagesSearchTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/EmptyBlockWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/StringTemplateRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/BracesRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/WhenMustHaveElseWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/MagicNumberRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/CollapseIfStatementsRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/StringConcatenationRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/FileStructureRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/TrailingCommaFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/ConsecutiveSpacesRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/LineLengthFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/BooleanExpressionsRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/NullableTypeRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/NullableTypeRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/SingleLineStatementsRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/WhenMustHaveElseFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/ClassLikeStructuresOrderRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/LongNumericalValuesSeparatedFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/BracesRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/AnnotationNewLineRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/LongNumericalValuesSeparatedWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/StringConcatenationWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/BooleanExpressionsRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/MultipleModifiersSequenceWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/ConsecutiveSpacesRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/SingleLineStatementsRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/EmptyBlockFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/EnumsSeparatedFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/spaces/WhiteSpaceRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/spaces/IndentationRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/spaces/WhiteSpaceRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/spaces/IndentationRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/LineLengthWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/FileSizeWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/AnnotationNewLineRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/ClassLikeStructuresOrderFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/CollapseIfStatementsRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/BlockStructureBracesFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/TrailingCommaWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/SortRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/LocalVariablesWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/EnumsSeparatedWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/SortRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/StringTemplateRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/files/TopLevelOrderRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/files/BlankLinesWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/files/NewlinesRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/files/NewlinesRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/files/BlankLinesFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/files/TopLevelOrderRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/BlockStructureBracesWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/MultipleModifiersSequenceFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/FileStructureRuleTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/comments/CommentedCodeTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/KdocCommentsFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/KdocMethodsTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/HeaderCommentRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/HeaderCommentRuleTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/KdocFormattingFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/KdocFormattingTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/KdocParamPresentWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/CommentsFormattingFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/KdocMethodsFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/KdocCommentsWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter2/CommentsFormattingTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter4/NullChecksRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter4/NoVarRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter4/SmartCastRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter4/TypeAliasRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter4/VariableGenericTypeDeclarationRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter4/NullChecksRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter4/AccurateCalculationsWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter4/SmartCastRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter4/VariableGenericTypeDeclarationRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/dummy/DummyWarningWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/AsyncAndSyncRuleTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/OverloadingArgumentsFunctionWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/FunctionLengthWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/NestedFunctionBlockWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/AvoidNestedFunctionsWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/FunctionArgumentsSizeWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/CustomLabelsTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/CheckInverseMethodRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/CheckInverseMethodRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/AvoidNestedFunctionsFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/LambdaLengthWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter5/LambdaParameterOrderWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/EnumValueCaseTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/PackageNamingWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/MethodNamingWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/IdentifierNamingFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/PackagePathFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/PackageNamingFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/IdentifierNamingWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/SingleConstructorRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/SingleInitRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/ExtensionFunctionsSameNameWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/DataClassesRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/PropertyAccessorFieldsWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/InlineClassesWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/SingleInitRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/UselessSupertypeFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/UselessSupertypeWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/CompactInitializationFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/CompactInitializationWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/StatelessClassesRuleFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/AbstractClassesWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/AbstractClassesFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/StatelessClassesRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/EmptyPrimaryConstructorWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/ImplicitBackingPropertyWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/EmptyPrimaryConstructorFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/RunInScriptFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/TrivialPropertyAccessorsWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/TrivialPropertyAccessorsFixTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/RunInScriptWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/AvoidUtilityClassWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/CustomGetterSetterWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/ExtensionFunctionsInFileWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter6/SingleConstructorRuleWarnTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/smoke/RulesConfigValidationTest.kt...
Reading diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/smoke/DiktatSmokeTest.kt...
Reading pom.xml...
Reading wp/references.bib...
Reading wp/README.md...
Reading wp/sections/diKTat.tex...
Reading wp/sections/definition.tex...
Reading wp/sections/work.tex...
Reading wp/sections/conclusion.tex...
Reading wp/sections/appendix.tex...
ERROR: wp/sections/appendix.tex; puzzle at line #196; TODO found, but puzzle can't be parsed, most probably because TODO is not followed by a puzzle marker, as this page explains: https://github.com/yegor256/pdd#how-to-format
If you can't understand the cause of this issue or you don't know how to fix it, please submit a GitHub issue, we will try to help you: https://github.com/yegor256/pdd/issues. This tool is still in its beta version and we will appreciate your feedback. Here is where you can find more documentation: https://github.com/yegor256/pdd/blob/master/README.md.
Exit code is 1

/app/objects/git_repo.rb:66:in `rescue in block in xml'
/app/objects/git_repo.rb:63:in `block in xml'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/tempfile.rb:295:in `open'
/app/objects/git_repo.rb:62:in `xml'
/app/objects/puzzles.rb:36:in `deploy'
/app/objects/job.rb:38:in `proceed'
/app/objects/job_starred.rb:33:in `proceed'
/app/objects/job_recorded.rb:32:in `proceed'
/app/objects/job_emailed.rb:35:in `proceed'
/app/objects/job_commiterrors.rb:36:in `proceed'
/app/objects/job_detached.rb:48:in `exclusive'
/app/objects/job_detached.rb:36:in `block in proceed'
/app/objects/job_detached.rb:36:in `fork'
/app/objects/job_detached.rb:36:in `proceed'
/app/0pdd.rb:357:in `block in <top (required)>'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1675:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1675:in `block in compile!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1013:in `block (3 levels) in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1032:in `route_eval'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1013:in `block (2 levels) in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1061:in `block in process_route'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1059:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1059:in `process_route'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1011:in `block in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1008:in `each'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1008:in `route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1129:in `block in dispatch!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1101:in `block in invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1101:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1101:in `invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1124:in `dispatch!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:939:in `block in call!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1101:in `block in invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1101:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1101:in `invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:939:in `call!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:929:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.1.0/lib/rack/protection/xss_header.rb:18:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.1.0/lib/rack/protection/path_traversal.rb:16:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.1.0/lib/rack/protection/json_csrf.rb:26:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.1.0/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.1.0/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.1.0/lib/rack/protection/frame_options.rb:31:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.2.3/lib/rack/logger.rb:17:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.2.3/lib/rack/common_logger.rb:38:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:253:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:246:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.2.3/lib/rack/head.rb:12:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.2.3/lib/rack/method_override.rb:24:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:216:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1991:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1542:in `block in call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1769:in `synchronize'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1542:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.2.3/lib/rack/handler/webrick.rb:95:in `service'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/httpserver.rb:140:in `service'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/httpserver.rb:96:in `run'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/server.rb:307:in `block in start_thread'

Please sign in to comment.