Skip to content

Commit

Permalink
Fix bug with incorrect reordering of enum classes (#847)
Browse files Browse the repository at this point in the history
### What's done:
* Refactoring
* Fixed bug in logic
* Added tests
* Added smoke tests
* Changed code style guide for logger properties
  • Loading branch information
petertrr authored Apr 26, 2021
1 parent 60dac69 commit c04b83f
Show file tree
Hide file tree
Showing 8 changed files with 173 additions and 83 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ import com.pinterest.ktlint.core.ast.ElementType.CLASS_BODY
import com.pinterest.ktlint.core.ast.ElementType.CLASS_INITIALIZER
import com.pinterest.ktlint.core.ast.ElementType.COMPANION_KEYWORD
import com.pinterest.ktlint.core.ast.ElementType.CONST_KEYWORD
import com.pinterest.ktlint.core.ast.ElementType.ENUM_ENTRY
import com.pinterest.ktlint.core.ast.ElementType.EOL_COMMENT
import com.pinterest.ktlint.core.ast.ElementType.FUN
import com.pinterest.ktlint.core.ast.ElementType.IDENTIFIER
import com.pinterest.ktlint.core.ast.ElementType.KDOC
import com.pinterest.ktlint.core.ast.ElementType.LATEINIT_KEYWORD
import com.pinterest.ktlint.core.ast.ElementType.LBRACE
import com.pinterest.ktlint.core.ast.ElementType.MODIFIER_LIST
import com.pinterest.ktlint.core.ast.ElementType.OBJECT_DECLARATION
import com.pinterest.ktlint.core.ast.ElementType.PRIVATE_KEYWORD
import com.pinterest.ktlint.core.ast.ElementType.PROPERTY
Expand All @@ -33,7 +33,9 @@ import com.pinterest.ktlint.core.ast.parent
import com.pinterest.ktlint.core.ast.prevSibling
import org.jetbrains.kotlin.com.intellij.lang.ASTNode
import org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.PsiWhiteSpaceImpl
import org.jetbrains.kotlin.com.intellij.psi.tree.IElementType
import org.jetbrains.kotlin.com.intellij.psi.tree.TokenSet
import org.jetbrains.kotlin.psi.KtClassBody
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.psi.psiUtil.parents
import org.jetbrains.kotlin.psi.psiUtil.siblings
Expand All @@ -53,69 +55,28 @@ class ClassLikeStructuresOrderRule(configRules: List<RulesConfig>) : DiktatRule(
}
}

@Suppress(
"UnsafeCallOnNullableType",
"LongMethod",
"ComplexMethod",
"TOO_LONG_FUNCTION"
)
private fun checkDeclarationsOrderInClass(node: ASTNode) {
val allProperties = node.getChildren(TokenSet.create(PROPERTY))
val constProperties = allProperties.filter { it.findLeafWithSpecificType(CONST_KEYWORD) != null }.toMutableList()
val lateInitProperties = allProperties.filter { it.findLeafWithSpecificType(LATEINIT_KEYWORD) != null }.toMutableList()
val loggers = allProperties
.filter {
(it.findChildByType(MODIFIER_LIST) == null || it.findLeafWithSpecificType(PRIVATE_KEYWORD) != null) &&
it.getIdentifierName()!!.text.contains(loggerPropertyRegex)
}
.toMutableList()
val properties = allProperties.filter { it !in lateInitProperties && it !in loggers && it !in constProperties }.toMutableList()
val initBlocks = node.getChildren(TokenSet.create(CLASS_INITIALIZER)).toMutableList()
val constructors = node.getChildren(TokenSet.create(SECONDARY_CONSTRUCTOR)).toMutableList()
val methods = node.getChildren(TokenSet.create(FUN)).toMutableList()
val (usedClasses, unusedClasses) = node
.getChildren(TokenSet.create(CLASS))
.partition { classNode ->
classNode.getIdentifierName()?.let { identifierNode ->
node
.parents()
.last()
.findAllDescendantsWithSpecificType(REFERENCE_EXPRESSION)
.any { ref ->
ref.parent({ it == classNode }) == null && ref.text.contains(identifierNode.text)
}
} ?: false
}
.let { it.first.toMutableList() to it.second.toMutableList() }
val (companionObject, objects) = node.getChildren(TokenSet.create(OBJECT_DECLARATION))
.partition { it.findChildByType(MODIFIER_LIST)?.findLeafWithSpecificType(COMPANION_KEYWORD) != null }
val blocks = Blocks(AllProperties(loggers, constProperties, properties, lateInitProperties), objects.toMutableList(),
initBlocks, constructors, methods, usedClasses, companionObject.toMutableList(),
unusedClasses)
val allProperties = AllProperties.fromClassBody(node)
val initBlocks = node.getAllChildrenWithType(CLASS_INITIALIZER)
val constructors = node.getAllChildrenWithType(SECONDARY_CONSTRUCTOR)
val methods = node.getAllChildrenWithType(FUN)
val (usedClasses, unusedClasses) = node.getUsedAndUnusedClasses()
val (companionObject, objects) = node.getAllChildrenWithType(OBJECT_DECLARATION)
.partition { it.hasModifier(COMPANION_KEYWORD) }
val blocks = Blocks(
(node.psi as KtClassBody).enumEntries.map { it.node },
allProperties, objects, initBlocks, constructors,
methods, usedClasses, companionObject, unusedClasses
)
.allBlockFlattened()
.map { astNode ->
Pair(astNode, astNode.siblings(false).takeWhile { it.elementType == WHITE_SPACE || it.isPartOfComment() }.toList())
listOf(astNode) +
astNode.siblings(false)
.takeWhile { it.elementType == WHITE_SPACE || it.isPartOfComment() }
.toList()
}

val classChildren = node.children().filter { it.elementType in childrenTypes }.toList()
if (classChildren != blocks.map { it.first }) {
blocks.filterIndexed { index, pair -> classChildren[index] != pair.first }
.forEach { listOfChildren ->
val astNode = listOfChildren.first
WRONG_ORDER_IN_CLASS_LIKE_STRUCTURES.warnAndFix(configRules, emitWarn, isFixMode,
"${astNode.elementType}: ${astNode.findChildByType(IDENTIFIER)?.text ?: astNode.text}", astNode.startOffset, astNode) {
node.removeRange(node.findChildByType(LBRACE)!!.treeNext, node.findChildByType(RBRACE)!!)
blocks
.reversed()
.map { bodyChild ->
node.addChild(bodyChild.first, node.children().toList()[1])
bodyChild.second.map { node.addChild(it, node.children().toList()[1]) }
}
node.addChild(PsiWhiteSpaceImpl("\n"), node.lastChildNode)
// fixme maybe wrong space between nodes
}
}
}
node.checkAndReorderBlocks(blocks)
}

@Suppress("UnsafeCallOnNullableType")
Expand Down Expand Up @@ -150,6 +111,49 @@ class ClassLikeStructuresOrderRule(configRules: List<RulesConfig>) : DiktatRule(
}
}

/**
* Returns nested classes grouped by whether they are used inside [this] file.
* [this] ASTNode should have elementType [CLASS_BODY]
*/
private fun ASTNode.getUsedAndUnusedClasses() = getAllChildrenWithType(CLASS)
.partition { classNode ->
classNode.getIdentifierName()?.let { identifierNode ->
parents()
.last()
.findAllDescendantsWithSpecificType(REFERENCE_EXPRESSION)
.any { ref ->
ref.parent({ it == classNode }) == null && ref.text.contains(identifierNode.text)
}
} ?: false
}

/**
* Checks whether all class elements in [this] node are correctly ordered and reorders them in fix mode.
* [this] ASTNode should have elementType [CLASS_BODY]
*
* @param blocks list of class elements with leading whitespaces and comments
*/
@Suppress("UnsafeCallOnNullableType")
private fun ASTNode.checkAndReorderBlocks(blocks: List<List<ASTNode>>) {
val classChildren = this.children().filter { it.elementType in childrenTypes }.toList()
if (classChildren != blocks.map { it.first() }) {
blocks.filterIndexed { index, pair -> classChildren[index] != pair.first() }
.forEach { listOfChildren ->
val astNode = listOfChildren.first()
WRONG_ORDER_IN_CLASS_LIKE_STRUCTURES.warnAndFix(configRules, emitWarn, isFixMode,
"${astNode.elementType}: ${astNode.findChildByType(IDENTIFIER)?.text ?: astNode.text}", astNode.startOffset, astNode) {
removeRange(findChildByType(LBRACE)!!.treeNext, findChildByType(RBRACE)!!)
blocks.reversed()
.forEach { bodyChild ->
bodyChild.forEach { this.addChild(it, this.children().take(2).last()) }
}
// Add newline before the closing `}`. All other newlines will be properly formatted by `NewlinesRule`.
this.addChild(PsiWhiteSpaceImpl("\n"), this.lastChildNode)
}
}
}
}

/**
* Data class containing different groups of properties in file
*
Expand All @@ -158,12 +162,33 @@ class ClassLikeStructuresOrderRule(configRules: List<RulesConfig>) : DiktatRule(
* @property properties all other properties
* @property lateInitProperties `lateinit var`s
*/
private data class AllProperties(val loggers: MutableList<ASTNode>,
val constProperties: MutableList<ASTNode>,
val properties: MutableList<ASTNode>,
val lateInitProperties: MutableList<ASTNode>)
private data class AllProperties(val loggers: List<ASTNode>,
val constProperties: List<ASTNode>,
val properties: List<ASTNode>,
val lateInitProperties: List<ASTNode>) {
companion object {
/**
* Create [AllProperties] wrapper from node with type [CLASS_BODY]
*
* @param node an ASTNode with type [CLASS_BODY]
* @return an instance of [AllProperties]
*/
@Suppress("UnsafeCallOnNullableType")
fun fromClassBody(node: ASTNode): AllProperties {
val allProperties = node.getAllChildrenWithType(PROPERTY)
val constProperties = allProperties.filterByModifier(CONST_KEYWORD)
val lateInitProperties = allProperties.filterByModifier(LATEINIT_KEYWORD)
val loggers = allProperties.filterByModifier(PRIVATE_KEYWORD).filter {
it.getIdentifierName()!!.text.contains(loggerPropertyRegex)
}
val properties = allProperties.filter { it !in lateInitProperties && it !in loggers && it !in constProperties }
return AllProperties(loggers, constProperties, properties, lateInitProperties)
}
}
}

/**
* @property enumEntries if this class is a enum class, list of its entries. Otherwise an empty list.
* @property allProperties an instance of [AllProperties]
* @property objects objects
* @property initBlocks `init` blocks
Expand All @@ -173,23 +198,24 @@ class ClassLikeStructuresOrderRule(configRules: List<RulesConfig>) : DiktatRule(
* @property companion `companion object`s
* @property unusedClasses nested classes that are *not* used in the enclosing class
*/
private data class Blocks(val allProperties: AllProperties,
val objects: MutableList<ASTNode>,
val initBlocks: MutableList<ASTNode>,
val constructors: MutableList<ASTNode>,
val methods: MutableList<ASTNode>,
val usedClasses: MutableList<ASTNode>,
val companion: MutableList<ASTNode>,
val unusedClasses: MutableList<ASTNode>) {
private data class Blocks(val enumEntries: List<ASTNode>,
val allProperties: AllProperties,
val objects: List<ASTNode>,
val initBlocks: List<ASTNode>,
val constructors: List<ASTNode>,
val methods: List<ASTNode>,
val usedClasses: List<ASTNode>,
val companion: List<ASTNode>,
val unusedClasses: List<ASTNode>) {
init {
require(companion.size in 0..1)
require(companion.size in 0..1) { "There is more than one companion object in class" }
}

/**
* @return all groups of structures in the class
*/
fun allBlocks() = with(allProperties) {
listOf(loggers, constProperties, properties, lateInitProperties, objects,
listOf(enumEntries, loggers, constProperties, properties, lateInitProperties, objects,
initBlocks, constructors, methods, usedClasses, companion, unusedClasses)
}

Expand All @@ -200,6 +226,10 @@ class ClassLikeStructuresOrderRule(configRules: List<RulesConfig>) : DiktatRule(
}

companion object {
private val childrenTypes = listOf(PROPERTY, CLASS, CLASS_INITIALIZER, SECONDARY_CONSTRUCTOR, FUN, OBJECT_DECLARATION)
private val childrenTypes = listOf(PROPERTY, CLASS, CLASS_INITIALIZER, SECONDARY_CONSTRUCTOR, FUN, OBJECT_DECLARATION, ENUM_ENTRY)
}
}

private fun Iterable<ASTNode>.filterByModifier(modifier: IElementType) = filter {
it.findLeafWithSpecificType(modifier) != null
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,10 @@ class ClassLikeStructuresOrderFixTest : FixTestBase("test/paragraph3/file_struct
fun `should fix order and newlines with comment`() {
fixAndCompare("OrderWithCommentExpected.kt", "OrderWithCommentTest.kt")
}

@Test
@Tags(Tag(WarningNames.WRONG_ORDER_IN_CLASS_LIKE_STRUCTURES))
fun `regression - should not remove enum members`() {
fixAndCompare("OrderWithEnumsExpected.kt", "OrderWithEnumsTest.kt")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import org.cqfn.diktat.util.LintTestBase

import com.pinterest.ktlint.core.LintError
import generated.WarningNames
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

Expand Down Expand Up @@ -50,18 +51,16 @@ class ClassLikeStructuresOrderRuleWarnTest : LintTestBase(::ClassLikeStructuresO
@Test
@Tag(WarningNames.WRONG_ORDER_IN_CLASS_LIKE_STRUCTURES)
fun `should warn if loggers are not on top`() {
listOf("private ", "").forEach { modifier ->
lintMethod(
"""
lintMethod(
"""
|class Example {
| private val FOO = 42
| ${modifier}val log = LoggerFactory.getLogger(Example.javaClass)
| private val log = LoggerFactory.getLogger(Example.javaClass)
|}
""".trimMargin(),
LintError(2, 5, ruleId, "${WRONG_ORDER_IN_CLASS_LIKE_STRUCTURES.warnText()} PROPERTY: FOO", true),
LintError(3, 5, ruleId, "${WRONG_ORDER_IN_CLASS_LIKE_STRUCTURES.warnText()} PROPERTY: log", true)
)
}
LintError(2, 5, ruleId, "${WRONG_ORDER_IN_CLASS_LIKE_STRUCTURES.warnText()} PROPERTY: FOO", true),
LintError(3, 5, ruleId, "${WRONG_ORDER_IN_CLASS_LIKE_STRUCTURES.warnText()} PROPERTY: log", true)
)
}

// ===== comments on properties ======
Expand Down Expand Up @@ -198,4 +197,21 @@ class ClassLikeStructuresOrderRuleWarnTest : LintTestBase(::ClassLikeStructuresO
LintError(5, 29, ruleId, "${WRONG_ORDER_IN_CLASS_LIKE_STRUCTURES.warnText()} PROPERTY: a", true)
)
}

@Test
@Tag(WarningNames.WRONG_ORDER_IN_CLASS_LIKE_STRUCTURES)
fun `should correctly check class elements order in enum classes`() {
lintMethod(
"""
enum class Enum {
FOO,
BAR,
;
fun f() {}
companion object
}
""".trimMargin()
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
enum class Enum {
FOO,
BAR,
;
fun f() {}

companion object
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
enum class Enum {
FOO,
BAR,
;

companion object
fun f() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,21 @@ enum class IssueType {
PROJECT_STRUCTURE, TESTS, VCS
}

enum class IssueType2 {
PROJECT_STRUCTURE,
TESTS,
VCS,
;

/**
* @param bar
* @return
*/
fun foo(bar: Int) = bar

companion object
}

class Foo {
/**
* @implNote lorem ipsum
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,13 @@ enum class IssueType {
VCS, PROJECT_STRUCTURE, TESTS
}

enum class IssueType2 {
VCS, PROJECT_STRUCTURE, TESTS;

companion object
fun foo(bar: Int) = bar
}

class Foo {
/**
* @implNote lorem ipsum
Expand Down
2 changes: 1 addition & 1 deletion info/guide/guide-chapter-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ If the classes are meant to be used externally, and are not referenced inside th
- Companion object

**Exception:**
All variants of a `(private) val` logger should be placed at the beginning of the class (`(private) val log`, `LOG`, `logger`, etc.).
All variants of a `private val` logger should be placed at the beginning of the class (`private val log`, `LOG`, `logger`, etc.).

#### <a name="r3.1.5"></a> 3.1.5 Order of declaration of top-level code structures
Kotlin allows several top-level declaration types: classes, objects, interfaces, properties and functions.
Expand Down

1 comment on commit c04b83f

@0pdd
Copy link

@0pdd 0pdd commented on c04b83f Apr 26, 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/0pdd20210309-12-137xmcy/cqfn/diKTat && pdd -v -f /tmp/20210426-9921-13hfudz [1]: + set -e + set -o pipefail + cd /tmp/0pdd20210309-12-137xmcy/cqfn/diKTat + pdd -v -f /tmp/20210426-9921-13hfudz 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/0pdd20210309-12-137xmcy/cqfn/diKTat && pdd -v -f /tmp/20210426-9921-13hfudz [1]:
+ set -e
+ set -o pipefail
+ cd /tmp/0pdd20210309-12-137xmcy/cqfn/diKTat
+ pdd -v -f /tmp/20210426-9921-13hfudz

My version is 0.20.6
Ruby version is 2.6.0 at x86_64-linux
Reading /tmp/0pdd20210309-12-137xmcy/cqfn/diKTat
721 file(s) found, 1124 excluded
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/diktat-rules/src/test/resources/test/paragraph3/src/main/A/FileSize2000.kt is a binary file (0 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/logo-1024.png is a binary file (210617 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/wp.pdf is a binary file (1587863 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/ktfmt.png is a binary file (22394 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/detekt.png is a binary file (20812 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/data_flow.PNG is a binary file (30951 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/package.png is a binary file (31056 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/diktat.png is a binary file (15618 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/useCase.png is a binary file (42924 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/sequence.PNG is a binary file (58624 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/web-example.png is a binary file (94361 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/ktlint.png is a binary file (20001 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/logo.png is a binary file (210617 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/class.PNG is a binary file (61130 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/wp/pictures/kotlinRating.png is a binary file (109403 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/diktat-gradle-plugin/gradle/wrapper/gradle-wrapper.jar is a binary file (59203 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/diktat-test-framework/src/main/resources/config.properties is a binary file (0 bytes)
/tmp/0pdd20210309-12-137xmcy/cqfn/diKTat/info/gradle/wrapper/gradle-wrapper.jar is a binary file (59203 bytes)
/tmp/0pdd20210309-12-137xmcy/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/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/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/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/FixIncorrectExpected.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/RequireFunctionTest.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/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/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/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/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/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/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/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/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/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/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/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.