```fun main(args: Array<String>) { val s...
# announcements
k
Copy code
fun main(args: Array<String>) {
    val set = PackageFlags.IS_DEBUGGABLE + PackageFlags.IS_DATA_ONLY + PackageFlags.SYSTEM_APP
    println(set.mask)
}

val EnumSet<PackageFlags>.mask get() = fold(0, { acc, flag -> acc or flag.mask })
operator fun EnumSet<PackageFlags>.plus(other: PackageFlags): EnumSet<PackageFlags> {
    val c = clone()
    c.add(other)
    return c
}

operator fun PackageFlags.plus(other: PackageFlags): EnumSet<PackageFlags> = EnumSet.of(this, other)