INNER CODE UNIT · Kotlin

lastPatternIndex

ReVanced/revanced-patcher · patcher/src/commonMain/kotlin/app/revanced/patcher/Matching.kt:749

    var lastPatternIndex = -1

    return (0 until predicates.size)
        .map<Int, IndexedMatcherPredicate<T>> { patternIndex ->
            predicate@{ lastMatchedIndex, currentIndex, setNextIndex ->
                // Detect backtracking: if revisiting an earlier pattern position, truncate the list to that position.
                if (patternIndex <= lastPatternIndex) {
                    while (usedPredicateIndices.size > patternIndex) {
                        usedPredicateIndices.removeAt(usedPredicateIndices.lastIndex)
                    }
                }

                lastPatternIndex = patternIndex

                // Try each unused predicate.
                for (predicateIndex in predicates.indices) {
                    if (predicateIndex in usedPredicateIndices) continue

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…