// DONT_TARGET_EXACT_BACKEND: WASM // WASM_MUTE_REASON: STDLIB_COLLECTIONS // KJS_WITH_FULL_RUNTIME // WITH_RUNTIME fun ArrayList.findAll(predicate: (T) -> Boolean): ArrayList { val result = ArrayList() for(t in this) { if (predicate(t)) result.add(t) } return result } fun box(): String { val list: ArrayList = ArrayList() list.add("Prague") list.add("St.Petersburg") list.add("Moscow") list.add("Munich") val m: ArrayList = list.findAll({ name: String -> name.startsWith("M")}) return if (m.size == 2) "OK" else "fail" }