Skip to content

Commit

Permalink
Check if function is an override in ComposeModifierWithoutDefault (#87)
Browse files Browse the repository at this point in the history
* Check if function is an override

* Update ktlint test for ModifierWithoutDefault
  • Loading branch information
mmartosdev committed Sep 30, 2022
1 parent 09677f3 commit fbd7261
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@ import com.twitter.rules.core.Emitter
import com.twitter.rules.core.util.definedInInterface
import com.twitter.rules.core.util.isActual
import com.twitter.rules.core.util.isModifier
import com.twitter.rules.core.util.isOverride
import com.twitter.rules.core.util.lastChildLeafOrSelf
import org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.LeafPsiElement
import org.jetbrains.kotlin.psi.KtFunction

class ComposeModifierWithoutDefault : ComposeKtVisitor {

override fun visitComposable(function: KtFunction, autoCorrect: Boolean, emitter: Emitter) {
if (function.definedInInterface || function.isActual) return
if (function.definedInInterface || function.isActual || function.isOverride) return

// Look for modifier params in the composable signature, and if any without a default value is found, error out.
function.valueParameters.filter { it.isModifier }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ class ComposeModifierWithoutDefaultCheckTest {
@Composable
fun Something(modifier: Modifier)
}
class BlehImpl : Bleh {
@Composable
override fun Something(modifier: Modifier) {}
}
@Composable
actual fun Something(modifier: Modifier) {}
""".trimIndent()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ class ComposeModifierWithoutDefaultCheckTest {
@Composable
fun Something(modifier: Modifier)
}
class BlehImpl : Bleh {
@Composable
override fun Something(modifier: Modifier) {}
}
@Composable
actual fun Something(modifier: Modifier) {}
""".trimIndent()
Expand Down

0 comments on commit fbd7261

Please sign in to comment.