<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 8.3.0-beta01" type="baseline" client="gradle" dependencies="false" name="AGP (8.3.0-beta01)" variant="all" version="8.3.0-beta01">

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="    nodes.forEachIndexed { index, glanceNode ->"
        errorLine2="          ~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/glance/testing/AssertionErrorMessages.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="        children.forEach { child ->"
        errorLine2="                 ~~~~~~~">
        <location
            file="src/main/java/androidx/glance/testing/unit/GlanceMappedNode.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="        return mappedNodes.toList()"
        errorLine2="                           ~~~~~~">
        <location
            file="src/main/java/androidx/glance/testing/unit/GlanceMappedNode.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="        val violations = filteredNodes.filter {"
        errorLine2="                                       ~~~~~~">
        <location
            file="src/main/java/androidx/glance/testing/GlanceNodeAssertionCollection.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="            this.allNodes = allNodes.toList()"
        errorLine2="                                     ~~~~~~">
        <location
            file="src/main/java/androidx/glance/testing/TestContext.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="        return node.children().any { checkIfSubtreeMatchesRecursive(matcher, it) }"
        errorLine2="                               ~~~">
        <location
            file="src/main/java/androidx/glance/testing/unit/UnitTestFilters.kt"/>
    </issue>

</issues>
