override fun visitFile()

in rules/common/src/main/kotlin/com/twitter/compose/rules/ComposeCompositionLocalAllowlist.kt [16:28]


    override fun visitFile(file: KtFile, autoCorrect: Boolean, emitter: Emitter) {
        val compositionLocals = file.findChildrenByClass<KtProperty>()
            .filter { it.declaresCompositionLocal }

        if (compositionLocals.none()) return

        val allowed = file.config().getSet("allowedCompositionLocals", emptySet())
        val notAllowed = compositionLocals.filterNot { allowed.contains(it.nameIdentifier?.text) }

        for (compositionLocal in notAllowed) {
            emitter.report(compositionLocal, CompositionLocalNotInAllowlist)
        }
    }