Skip to content

Commit

Permalink
feature/inline-classes(#698)
Browse files Browse the repository at this point in the history
### What's done:
  * Fixed bugs
  • Loading branch information
aktsay6 committed Jan 19, 2021
1 parent 3a3e1a2 commit 7816893
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,9 @@ class InlineClassesRule(private val configRule: List<RulesConfig>) : Rule("inlin
if (classPsi.getProperties().size == 1 && !classPsi.hasExplicitPrimaryConstructor()) {
return !classPsi.getProperties().first().isVar
} else if (classPsi.getProperties().isEmpty() && classPsi.hasExplicitPrimaryConstructor()) {
return classPsi.primaryConstructorParameters.size == 1 && !classPsi.primaryConstructorParameters.first().node.hasChildOfType(VAR_KEYWORD)
return classPsi.primaryConstructorParameters.size == 1
&& !classPsi.primaryConstructorParameters.first().node.hasChildOfType(VAR_KEYWORD)
&& classPsi.primaryConstructorModifierList == null
}
return false
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,16 @@ class InlineClassesWarnTest : LintTestBase(::InlineClassesRule) {
""".trimMargin()
)
}

@Test
@Tag(WarningNames.INLINE_CLASS_CAN_BE_USED)
fun `should not trigger on class with internal constructor`() {
lintMethod(
"""
|class LocalCommandExecutor internal constructor(private val command: String) {
| val some = 3
|}
""".trimMargin()
)
}
}

0 comments on commit 7816893

Please sign in to comment.