override fun visitComposable()

in rules/common/src/main/kotlin/com/twitter/compose/rules/ComposeModifierMissing.kt [19:42]


    override fun visitComposable(function: KtFunction, autoCorrect: Boolean, emitter: Emitter) {
        // We want to find all composable functions that:
        //  - are public
        //  - emit content
        //  - are not overridden or part of an interface
        //  - are not a @Preview composable
        if (
            !function.isPublic ||
            function.returnsValue ||
            function.isOverride ||
            function.definedInInterface ||
            function.isPreview
        ) {
            return
        }

        // If there is a modifier param, we bail
        if (function.modifierParameter != null) return

        // In case we didn't find any `modifier` parameters, we check if it emits content and report the error if so.
        if (function.emitsContent) {
            emitter.report(function, MissingModifierContentComposable)
        }
    }